我想获得两条线之间相对于线方向的角度。直线的 2 个向量的正常点积总是返回两条直线之间的最小角度,这不是我要找的。p>
蓝线:我拥有的线
红线:方向指示
绿线:指示我想要的旋转方向的曲线尝试失败。
p0~p3:直线各点的x、y坐标。
a:我希望获得的角度。
我想构建一个能给我正确旋转的函数,使用您喜欢的任何编程语言。
最佳答案
也许对此有更优雅的解决方案,但以下是可行的:
计算dot product和 cross product的两个向量。 如果叉积为负,则使用点积计算内角(称为“alpha”),否则如果叉积为正,则将外角计算为 360°-alpha。
请注意,叉积取决于操作数的顺序;假定顺序与您的绘图相同,以上内容有效。
关于math - 获取两条 2d 线之间的角度。 (相对于线条的方向),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31630946/