Тригонометрия - пересечение вектора, созданного по азимуту и углу места, с плоскостью
Итак, посмотрите на изображение. Я думаю, что это самоописание того, чего я хочу достичь. Размер Т просто для примера.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
решить это для т и получить точку пересечения