我搜索最快或最简单的方法来计算凸多边形任意点的外角.这意味着,总是更大的角度,而所讨论的两个角度加起来为360度.
这是一个例子:
插图http://fopref.meinungsverstaerker.de/div_priv/crap.png
现在我知道我可以计算两个向量AB和CB之间的角度,它涉及点积,归一化和余弦.然后我仍然需要确定两个结果角度中的哪一个(第二个是180度减去第一个)我想要两次加到另一个角度.
但是,我认为可能有一个更简单,更简单的解决方案,可能使用强大的atan2()函数.我卡住了,问你这个:-)
更新:
我被问到我需要的角度.我需要计算B周围这个特定圆的面积,但只计算A,B,C,......所描述的多边形的面积.所以要计算面积,我需要角度来使用公式0.5*angle*r*r.
使用描述线条的向量的内积(点积)得到内角并从360度减去?
如果你已经有点矢量形式的线条,那么效果最好,但是你可以很容易地从点到点形式获得矢量(即通过减法).
考虑.到是点积,我们有
v . w = |v| * |w| * cos(theta)
Run Code Online (Sandbox Code Playgroud)
其中v和w是向量,theta是线之间的角度.并且可以从矢量的分量计算点积
v . w = SUM(v_i * w_i : i=0..3) // 3 for three dimensions. Use more or fewer as needed
Run Code Online (Sandbox Code Playgroud)
这里的下标表示组件.
实际上已经读过这个问题:
| 归档时间: |
|
| 查看次数: |
775 次 |
| 最近记录: |