Lar*_*ara 1 algorithm math graphics linear-algebra graph-algorithm
我试图将一个沿直线(2点)的运动转换为沿着六角形路径的运动,我尝试了不同的公式并且不起作用.

我想找出基于A和B的P,Q,R,M的坐标.我希望有人建议一个更好的公式,它给出了移动长六边形路径的坐标.
如果您熟悉复数(假设这是一个正六边形),
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
Run Code Online (Sandbox Code Playgroud)
编辑:
如果您不熟悉复数,我们不应该尝试在这里使用它们.它们是一个很棒的工具,但起初并不容易掌握.让我们做很多事情:
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)