Math 找到两个点之间相对于水平轴的角度?
我有两点,一点总是在原点(0,0),另一点可以在世界上任何其他地方。我想找出它们之间的角度,相对于水平轴Math 找到两个点之间相对于水平轴的角度?,math,Math,我有两点,一点总是在原点(0,0),另一点可以在世界上任何其他地方。我想找出它们之间的角度,相对于水平轴 | 2 | / | / | / | / |/ a ---1-------------- (horizontal axis) | a = angle (~50 degrees, counter clockwise) 在上面的例子中,我将构造一个直角三角形,并使用sohcah
| 2
| /
| /
| /
| /
|/ a
---1-------------- (horizontal axis)
|
a = angle (~50 degrees, counter clockwise)
在上面的例子中,我将构造一个直角三角形,并使用sohcahtoa计算出我想要的缺少的角度,但当第二个点位于不同的象限时,它会变得有点难看,如本例所示:
2 |
\ |
\ |
\ |
\a|a
\|a
---1--------------
|
|
a = angle (~135, counter clockwise)
根据第二个点所在的象限,我最终得到了一系列不同的情况。我想一定有一个更简单、更普遍的解决方案。这有点像试图找到圆边缘上的点与其中心之间的角度,相对于原点的水平轴
做这件事的好方法是什么?大多数编程语言/API都提供了一个函数,可以找到角度并考虑象限。使用它吧。大多数编程语言/API都提供了一个函数,可以找到角度并考虑象限。使用它。首先,我们想找到连接两点的直线方程: 设p=(x0,y0)为第二点。 如果x=0,则答案为90度。 否则,设m为y0/x0 y=m(x-x0)+y0 m的tg^-1(即arctg)是角度
还请注意,如果(x0,y0)=(0,0),则角度未定义首先,我们希望找到连接两点的直线方程: 设p=(x0,y0)为第二点。 如果x=0,则答案为90度。 否则,设m为y0/x0 y=m(x-x0)+y0 m的tg^-1(即arctg)是角度 还请注意,如果(x0,y0)=(0,0),则角度未定义