Нарисуйте линию длиной X с заданной точкой в ​​пространстве и вектором.

StackOverflow https://stackoverflow.com/questions/829496

  •  06-07-2019
  •  | 
  •  

Вопрос

До того, как все подскакивают за то, что я выполняю домашнее задание, мой вопрос - это не вопрос моей домашней работы. У меня просто проблема с получением материала для правильного рисования.

Я пытаюсь нарисовать линии перпендикулярно плоскости. Я знаю три точки в пространстве, которые составляют самолет. Из этих координат я могу вычислить векторы и получить вектор нормали плоскости. Используя координаты от центра трех точек и вектора нормали, я могу нарисовать линию, перпендикулярную плоскости.

Моя проблема в том, что длина этой линии связана с вектором нормали, потому что я просто добавляю вектор к координатам, чтобы получить две точки для рисования линии. Без использования какого-либо отвратительного кода грубой силы, как я могу нарисовать линию фиксированной длины, учитывая любую точку в трехмерном пространстве и любой вектор.

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

Это было полезно?

Решение

Вам нужно «нормализовать» ваш нормальный вектор.

для этого разделите вектор на его величину.

длина или величина вектора r определяется как:

<код>

                  
l = √ x2 + y2 + z2

затем вы делите r на его длину (т.е. делением каждого его компонента) давая
<Код>

n = { x/l, y/l, z/l }

, который даст вам новый нормальный вектор длины 1.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top