Найти точку пересечения для двух сегментов 2D линии легко; формула прямолинейна. Но найти точку пересечения для двух трехмерных сегментов линии, я не боюсь.
Каков алгоритм, в С#, предпочтительно, который находит точку пересечения двух трехмерных сегментов линии?
Я нашел здесь реализацию С++ здесь. Но я не верю этому решению, потому что он делает предпочтение определенной плоскости (посмотрите на способ perp
, реализованный в разделе реализации, он предпочтет z plane
. Любой универсальный алгоритм не должен предполагать какую-либо плоскостную ориентацию или предпочтение).
Есть ли лучшее решение?