2013-04-11 2 views
1

Я пытаюсь преобразовать движение по прямой (2 балла) в движение по шестиугольному пути, я пробовал различную формулу и не работал.Поиск координат гексагонального пути

enter image description here

Я хотел бы узнать координаты P, Q, R, M, основанные на А и В. Я надеюсь, кто-то предложить лучшую формулу, которая дает мне координаты для перемещения длинного пути шестиугольного ,

+3

Честно говоря, я не понимаю, чего вы пытаетесь достичь, но это действительно поможет (возможно, вам самому), если вы нарисуете картину и объясните проблему здесь, воспользовавшись этим. –

+1

У вас нет ссылок на неназванный источник, где вы получили «эту формулу», поэтому большие части вашего вопроса являются некогерентными. Но вместо того, чтобы просто добавлять ссылку, вы, вероятно, должны добавить читаемое объяснение самому вопросу. – comingstorm

+0

Я приложил изображение, чтобы быть более четким. – Lara

ответ

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 

EDIT:

Если вы не знакомы с комплексными числами, мы не должны попытайтесь использовать их здесь. Они - замечательный инструмент, но нелегко понять сначала. Давайте делать это долгий путь:

A = (A х, A у)
B = (B х, B у)
D = B - A = (D х, D у), где D х = A х -B х и Д у = A у -B у
Р = (А х + Д х/4 - SQRT (3) D у/4, А у + D у/4 + SQRT (3) Д х/4)
Q = (А х + 3D х/4 - SQRT (3) D у/4, А у + 3D у/4 + SQRT (3) D х/4)
R = (А х + Д х/4 + SQRT (3) D у/4, А у + D у/4 - SQRT (3) Д х/4)
М = ​​(А х + 3D х/4 + SQRT (3) D у/4, А у + 3D у/4 - SQRT (3) D x/4)

+0

Спасибо за ответ ур. Таким образом, D будет D = Bx-Ax + By-Ay ?? и что я? что это значит?? – Lara

+0

Спасибо, дорогая, что было очень полезно – Lara

0

Это легче концептуализировать, если представить себе, что ваш шестиугольник состоит из векторов - линий с величиной (расстоянием) и направлением (угол от восточно-восточного горизонта, вращающегося против часовой стрелки).

Вызовите вектор от A до B D. Если вы используете некоторую тригонометрию для определения геометрии шестиугольника, величина D в два раза больше длины стороны шестиугольника. Таким образом, мы можем использовать это для построения векторов размером с наши другие стороны шестиугольника и тем самым получить другие точки шестиугольника.

Возьмите вектор D, уменьшите его величину на два градуса, поверните его на 60 градусов и добавьте этот новый вектор в положение А. Это дает вам P.

Сделайте то же самое, но поверните его на 60 градусов и добавьте его в положение А. Это дает вам R.

Аналогично, Q - это вектор D, уменьшенный пополам, повернутый на 60 градусов cw, инвертированный и добавленный к позиции B.

Наконец, M - это вектор D, уменьшенный вдвое, повернутый на 60 градусов ccw, перевернутый и добавленный к позиции B.

(Чтобы преобразовать вектор в перемещенное расстояние и перемещенное расстояние y, умножьте величину на угол cos и угол sin соответственно. Убедитесь, что вы используете радианы, если радианы необходимы, и степени, если градусы необходимы.)