Тригонометрия - пересечение вектора, созданного по азимуту и ​​углу места, с плоскостью

Итак, посмотрите на изображение. Я думаю, что это самоописание того, чего я хочу достичь. Размер Т просто для примера.P0 может быть также больше. Думаю, проблема в том, что это вычисление рассчитывает на то, что плоскость перпендикулярна точке P0. Когда B направлен ближе к середине плоскости, то P1 является более правильным. Т может также вращаться и размещаться по-разному в пространстве.

1 ответ

Решение

У вас есть точка P0 и вектор направления dirGlobal, они определяют параметрическое уравнение луча P0P1 (t является параметром)

X = P0.X + dirGlobal.X * t
Y = P0.Y + dirGlobal.Y * t
Z = P0.Z + dirGlobal.Z * t

Подставьте эти значения в уравнение плоскости

 A * X + B * Y + C * Z + D = 0

решить это для т и получить точку пересечения

Другие вопросы по тегам