在一个平面上,每个点都有坐标,求任意2点连接成的直线和水平线的角度。。。。
用数学会做,怎么会java代码不会写。怎么用math.sin cos神马的啊。。。
------解决方案--------------------
连个坐标的x,y分别互减,构成一个直角三角形,然后使用Math.atan(y/x)得到角度,然后直接使用这个值,或者使用π - 该值就是水平线角度。
------解决方案--------------------
通过2点可以求出直线的斜率来,斜率就是直线与X轴正方向所成角的正切。也就是tanα
------解决方案--------------------
- Java code
public static void test(Point a, Point b) { Point c = new Point(b.x, a.y); int ac = Math.abs(a.x - c.x); int bc = Math.abs(b.y - c.y); double ab = Math.sqrt(ac * ac + bc * bc); System.out.println(Math.asin(bc / ab) * 180 / Math.PI); }