Нахождение векторов под прямым углом к ​​курсу объекта

Я ищу способ найти векторы под прямым углом к ​​заголовку игрового объекта. Один влево и один вправо.

Я использую XNA, если это каким-либо образом влияет на ответ.

Изменить: это 2D-операция. Я видел на другом сайте, что вектор по часовой стрелке просто [-y, x], а против часовой стрелки [y, -x]. Кажется, это работает на бумаге.

Спасибо.


person Keith Myers    schedule 23.05.2011    source источник


Ответы (3)


векторное произведение (также известное как перекрестное произведение)

person Ben Voigt    schedule 24.05.2011

Векторное перекрестное произведение даст вам еще один вектор, перпендикулярный двум входным векторам.

Скалярное произведение можно использовать, чтобы определить угол между двумя векторами.

Однако описание проблемы, которое вы дали, указывает только один входной вектор, направление объекта. Следовательно, решение — это все векторы в плоскости, к которым направление объекта является нормальным.

person sashang    schedule 24.05.2011

Я думаю, вам следует изучить Vector3.Cross, я знаю, что вы хотите сделать это для 2D-векторов, но это не имеет значения, просто установите компонент z в Vector3 равным 0.

Вам также, вероятно, следует прочитать об Cross Products и Dot Products, так как они очень важны для программирования графики и даже программирования игр в жанре, а также помогут вам лучше понять, как решать многие похожие проблемы, с которыми вы сталкиваетесь. столкнусь с вашим программированием :)

person meds    schedule 24.05.2011