我试图找出正确的触发。 eq./function 来确定以下内容:
两个方向向量 (已确定)之间的角度变化(以度为单位),代表两个线段。
这在 SHAPE RECOGTNITION(由用户在屏幕上手绘)的上下文中使用。
所以基本上,
a) 如果用户绘制了一个(粗略的)形状,例如圆形、椭圆形或矩形等 - 构成该形状的线条被分解为 .. 20 点(x-y 对)。
b) 我有这些 LINE SEGMENTS 中的每一个的 DirectionVector。
c) 所以线段的开始(x0,y0),将是前一条线的终点(以形成一个封闭的形状,比如矩形,比方说)。
所以,我的问题是,鉴于上下文(即确定多边形的类型), 如何找到两个方向向量(可用作 x 和 y 的两个浮点值)之间的角度变化???
我见过这么多不同的触发器。方程式,我正在寻求对此的澄清。
非常感谢大家!
最佳答案
如果 (x1,y1) 是第一个方向向量而 (x2,y2) 是第二个方向向量,则它成立:
cos( alpha ) = (x1 * x2 + y1 * y2)/( sqrt(x1*x1 + y1*y1) * sqrt(x2*x2 + y2*y2) )
sqrt 表示平方根。
查找 http://en.wikipedia.org/wiki/Dot_product
特别是“几何表示”部分。
关于geometry - 如何计算形成闭合/开放形状的两个方向向量之间的角度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4294638/