Преобразование 3D (x, y, z) в 2D (x, y) (ортогональное) вдоль его направления - PullRequest
1 голос
/ 21 января 2011

Я просмотрел все доступные учебные ресурсы в интернете, насколько это возможно, в форме простых уравнений, векторов или тригонометрических уравнений. Я не мог найти способ сделать следующее:

Предполагается, что Y в трехмерном мире. Мне нужно нарисовать две 2D-траектории ортогонально (не проекции) для 3D-траектории, скажем, XY-плоскость для вида сбоку траектории w.r.t. Сама траектория и XZ-плоскость для вида сверху одинаковы.

У меня есть все трехмерные точки трехмерной траектории, начальная скорость, оба угла можно рассчитать с помощью векторной математики.

Как мне продолжить?

см: Ниже кривой под разными углами, которая может потерять свое значение, если проецируется на плоскость XY. Все, что я хочу, это преобразовать красную кривую вдоль себя, зеленую кривую вдоль зеленой кривой и так далее. и далее, как бы я отобразил вид сбоку на самолет. Вид сверху сравнительно прост и сделан просто, принимая X и Z ординат каждой точки.

Я имею в виду это требование. :)

alt text alt text

1 Ответ

1 голос
/ 25 января 2011

Не думаю, что понимаю вопрос, но все равно отвечу на свою интерпретацию.

У вас есть трехмерная траектория, описываемая последовательностью точек p 0 , ..., р Н .Нам дан угол v для плоскости P, параллельной оси Y, и мы хотим вычислить 2D-координаты (d i , h i ) точек p i проецируется на эту плоскость, где h i - это координата высота в направлении Y, а d i - это расстояние координата в направлении v. Предположим, что p 0 = (0, 0, 0), иначе вычтите p 0 из всех векторов.

Пусть p i = (x i , y i , z i ).Координата высоты: h i = y i .Предположим, что угол v задан относительно оси Z.Вектор для направления v равен r = (sin (v), 0, cos (v)), и координаты расстояния становятся d i = точка (p i , r).

...