Блог страдающего Лиса
Lorem ipsum hello dolor sit world amet
15 янв 2025 Ср
Пересечение прямых с плоскостью
Вот интересно, у меня есть формулы для пересечения прямых с плоскостью с поиском как расстояния до нее, так и точки пересечения
u,v
, но почему-то никогда не думал о том, как находить именно пересечение. На самом деле, это не так уж и сложно, если представить уравнение плоскости как Ax + By + Cz + D = 0
, то пересечение высчитывается элементарно:A(x0 + dx*t) + B(y0 + dy*t) + C(z0 + dz*t) + D = 0 A*x0 + A*dx*t + B*y0 + B*dy*t + C*z0 + C*dz*t + D = 0 A*x0 + B*y0 + C*z0 + t*(A*dx + B*dy + C*dz) = 0 -t*(A*dx + B*dy + C*dz) = A*x0 + B*y0 + C*z0 + D t = -(A*x0 + B*y0 + C*z0 + D) / (A*dx + B*dy + C*dz)Как бы, и всё... Но, это лишь расстояние до плоскости, но часто требуется рассчитать именно
u,v
, чтобы понять, попала ли прямая на треугольник на плоскости, или нет.