我想获得两条线相对于线条方向的角度。线条的2个向量的正常点积总是返回两条线之间的最小角度,这不是我正在寻找的。 p>
蓝线:我的线条 红线:指示方向 绿线:尝试弯曲线失败,指示我想要的旋转方向。 p0~p3:线点的x,y坐标。 a:我希望获得的角度。
我想构建一个能够正确旋转的函数,使用您喜欢的任何编程语言。
答案 0 :(得分:1)
也许有一个更优雅的解决方案,但以下工作:
计算两个向量的dot product和cross product。 如果叉积为负,则使用点积计算内角(称为“alpha”),否则如果叉积为正,则将外角计算为360°-alpha。
请注意,叉积取决于操作数的顺序;如果您的图纸中有订单,则上述内容有效。