我有四个点可以形成凹四边形:
一(3, 11)
b(11, 9)
c(18 , 10)
d(8 , 1)
现在我想以度为单位获得(b)角的内角。注意:内角大于180度。
最安全的方法是使用内积和叉积,可以使用两个向量(a->b,b->c)的4个点并使用内积公式计算内积
<ab,bc> = |ab|*|bc|* cos (abc)
cos(abc) = |ab|*|bc| / <ab,bc>
这不足以唯一地分配天使,因为一个角度和它的补具有相同的cos但有不同的sin,这就是叉积解决问题的地方。
ab * bc = |ab|*|bc| * sin(abc)
左边部分可以使用终点坐标计算,因此您可以计算 sin,计算 sin 和 cos 后,您可以适当地指定天使。
d 点在这里只是分散注意力。考虑 (abc) 三角形: