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

#vector #xna #heading

#вектор #xna #заголовок

Вопрос:

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

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

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

Спасибо.

Ответ №1:

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

Ответ №2:

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

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

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

Ответ №3:

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

Вам также, вероятно, следует прочитать о перекрестных продуктах и точечных продуктах, поскольку они оба очень важны для графического программирования и даже для программирования игр в жанре genrel, а также помогут вам лучше понять, как решить многие похожие проблемы, с которыми вы столкнетесь при программировании 🙂