如何使用atan2
来确定片段结束的坐标,知道它开始的坐标(x, y
),片段的角度和片段的长度?
你能告诉我一个解决方案,它不一定只有atan2 ......
答案 0 :(得分:0)
你有一个直角三角形,你可以假设A点在(x,y),使用一些图表更容易解释:
现在我们知道c的值已经是什么了,因为这是段的长度,我们想知道a和b的值,因为最后一点是(x+b, y+a)
从三角学我们知道角度和边的比例之间的关系是什么
sin(theta) = opposite/hypotenuse
和cos(theta) = adjacent/hypotenuse
用我们知道的值代替:
sin(theta) = opposite/c
c = opposite * sin(theta)
和
cos(theta) = adjacent/b
b = adjacent * cos(theta)
我们知道终点位于(x+b, y+a)
,我们找到的边是(x+adjacent * cos(theta), y+opposite * sin(theta))