1

我正在尝试将沿直线(2 点)的运动转换为沿六边形路径的运动,我尝试了不同的公式但没有奏效。

在此处输入图像描述

我想根据 A 和 B 找出 P、Q、R、M 的坐标。我希望有人提出一个更好的公式,它可以为我提供移动长六边形路径的坐标。

4

2 回答 2

5

如果您熟悉复数(并假设这是一个正六边形),

D = B - A
P = A + D( 1 + sqrt(3)i )/4
Q = A + D( 3 + sqrt(3)i )/4
R = A + D( 1 - sqrt(3)i )/4
M = A + D( 3 - sqrt(3)i )/4

编辑:

如果您熟悉复数,我们不应该在这里尝试使用它们。它们是一个很棒的工具,但一开始并不容易掌握。让我们从长远来看:

A = (A x , A y )
B = (B x , B y )
D = B - A = (D x , D y ) 其中 D x =A x -B x和 D y =A y -B y
P = (A x + D x /4 - sqrt(3)D y /4, A y + D y /4 + sqrt(3)D x /4)
Q = (A x + 3D x /4 - sqrt(3 )D y /4, A y + 3D y /4 + sqrt(3)D x/4)
R = (A x + D x /4 + sqrt(3)D y /4, A y + D y /4 - sqrt(3)D x /4)
M = (A x + 3D x /4 + sqrt(3)D y /4, A y + 3D y /4 - sqrt(3)D x /4)

于 2013-04-11T23:51:00.693 回答
0

如果您将六边形想象为由向量组成 - 具有大小(距离)和方向(从西到东的地平线逆时针旋转的角度)的线,这更容易概念化。

调用从 A 到 B D 的向量。如果您使用一些三角函数来计算六边形的几何形状,则 D 的大小是六边形边长的两倍。所以,我们可以用它来构造和其他六边形边一样大的向量,从而得到六边形的其他点。

取向量 D,将其大小减半,将其逆时针旋转 60 度,并将这个新向量添加到 A 的位置。这给了你P。

做同样的事情,但顺时针旋转 60 度并将其添加到 A 的位置。这给了你R。

类似地,Q 是将向量 D 减半,顺时针旋转 60 度,反转并添加到 B 的位置。

最后,M 是将向量 D 减半,逆时针旋转 60 度,反转并添加到 B 的位置。

(要将矢量转换为移动的 x 距离和移动的 y 距离,请分别将幅度乘以角度的 cos 和角度的 sin。如果需要弧度,请确保使用弧度,如果需要度,请确保使用度。)

于 2013-04-12T00:04:04.913 回答