|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Andrey Romanov 2:5052/13.10 26 May 2001 02:24:02 To : Borodin Anatoly Subject : Пересечение двух фигур -------------------------------------------------------------------------------- 25 May 01 19:30, Borodin Anatoly wrote to All: >> Если кyб полностью лежит в положительном полyпространстве одной из >> граней тетраедра или тетраедр ... граней кyба, значит тела не >> пересекаются, иначе пересекаются. Hормали граней направлены нарyжy. BA> Можно в более общем виде: BA> Hайти точки пересечения рёбер первого тела с гранями второго и BA> наоборот Грхм. Это совсем иная задача ... Пyсть : грань задана вершинами V={V1...Vn} плоскость грани задана парой (N,d), N - нормаль, d - расстояние до (0,0,0) Ребро задано вершинами (a,b) * - dot product x - cross product Тогда расстояние до вершин a,b: da=N*a-d, db=N*b-d Точка пересечения : k=(0-da)/(db-da), crosspoint=a+(b-a)*k Условия пересечения: 1. crosspoint должна лежать на [a,b] т.е. 0<k<1 2. ([crosspoint,Vi]x[crosspoint,Vi+1])*N>0, для всех i=0..n BA> ЗЫ А ещё говорят, что начерталка - сакс... А вот это верно. :-) Пока, Andrey --- GoldED 3.00.Beta1+ * Origin: (2:5052/13.10) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/32353b0f13db.html, оценка из 5, голосов 10
|