我想获得两条线之间相对于线方向的角度。线的 2 个向量的法线点积始终返回两条线之间的最小角度,这不是我想要的。
Example image:
蓝线:我有的线
红线:指示方向
绿线:尝试绘制指示我想要的旋转方向的曲线失败。
p0~p3:直线各点的x、y坐标。
a:我想要得到的角度。
我想构建一个可以正确旋转的函数,可以使用您喜欢的任何编程语言。
也许有一个更优雅的解决方案,但以下方法有效:
计算点积 https://en.wikipedia.org/wiki/Dot_product和叉积 https://en.wikipedia.org/wiki/Cross_product两个向量的。
如果叉积为负,则使用点积计算内角(称为“alpha”),否则如果叉积为正,则将外角计算为 360°-alpha。
请注意,叉积取决于操作数的顺序;假设您的绘图中的顺序是有效的,则上述内容是有效的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)