Преобразование глобальных координат в символьные локальные координаты и обратно - PullRequest
0 голосов
/ 29 июля 2011

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

В основном скажи, что у меня 1,0, а у врага 10,0. Я хотел бы переместить начало координат на 1,0, чтобы я получил 9,0 в качестве координат противника.

Что я в итоге делал,

для перевода на местный,


[1 0 -tx]   [x]
[0 1 -ty] x [y]
[0 0  1]    [1]

затем вернемся к глобальному использованию,


[1 0 tx]   [x]
[0 1 ty] x [y]
[0 0 1]    [1]

tx, ty - локальные координаты символа, а x, y - координаты символа противника.

1 Ответ

1 голос
/ 29 июля 2011

Просто вычтите точки.

Относительно = Положение - точка смещенной оси.

(10,0) - (1,0) = (9,0)

Смещение

Редактировать:

Использование Аффинного преобразования для преобразования всего х,плоскость y:

Только для числовых вопросов, давайте выберем другую точку зрения: (3,7)

[x] = [ 1 0 -3 ] = [x`] = x -3
[y]   [ 0 1 -7 ] = [y`] = y -7
[1]   [ 0 0 1  ] = [1 ] = we don't care

Матрица преобразования

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...