Обо мне
Привет! Меня зовут Лис и это мой блог. Здесь я могу ныть и страдать, писать про код и обо всем.
Январь 2025
ПнВтСрЧтПтСбВс
12345
6789101112
13141516171819
20212223242526
2728293031
Теги
Блог страдающего Лиса
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, чтобы понять, попала ли прямая на треугольник на плоскости, или нет.
<< Ранние записи | Поздние записи >>