我试图找出正确的触发。 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/

10-10 05:12