获得内角的角度

时间:2013-02-22 18:33:52

标签: java quad

我有四个点使凹四边形:

a(3,11)

b(11,9)

c(18,10)

d(8,1)

enter image description here

现在我想以度数获得(b)角的内角。 注意:内角大于180度。

2 个答案:

答案 0 :(得分:2)

最安全的方法是使用内部产品和交叉产品,内部产品可以使用两个向量的4个点(a-> b,b-> c)并使用内积公式计算

<ab,bc> = |ab|*|bc|* cos (abc)
cos(abc) =  |ab|*|bc| / <ab,bc> 

这还不足以分配天使,因为一个角度及其补充具有相同的cos但具有不同的罪恶,这里是交叉产品来解决问题的地方

ab * bc = |ab|*|bc| * sin(abc)

左侧部分可以使用终点坐标计算,因此您可以计算罪,一旦计算出sin和cos,您就可以适当地指定天使。

答案 1 :(得分:0)

D点只是分散注意力。考虑(abc)三角形:

  • 很容易从坐标确定ab,bc和ca的长度。
  • 然后你可以用sin,cos或tan
  • 确定(ab,bc)内角
  • 您寻找的角度是360减去(ab,bc)内角。