Преобразуйте 3D (x, y, z) в 2D (x, y) (ортогонально) вдоль его направления

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

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

У меня есть все 3D-точки 3D-траектории, начальная скорость, оба угла могут быть рассчитаны векторной математикой.

Как мне поступить дальше?

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

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

alt textальтернативный текст


person Rick2047    schedule 21.01.2011    source источник
comment
Я думаю, что это как-то связано с интерполяцией.   -  person Rick2047    schedule 21.01.2011


Ответы (1)


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

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

Пусть pi = (xi, yi, zi). Координата высоты равна hi = yi. Предположим, что угол v задан относительно оси Z. Тогда вектор для направления v равен r = (sin(v), 0, cos(v)), а координаты расстояния становятся равными di = dot(pi , р).

person antonakos    schedule 25.01.2011
comment
Вы прекрасно поняли мою проблему. \m/ Я пытаюсь визуализировать 3-й абзац. Я вернусь. (И мне интересно, я мог бы объяснить по-урски.) - person Rick2047; 26.01.2011