|
Серёга |
|
|
|
Даны трёхмерные координаты вершин двух треугольников. Как определить пересекаются ли они?
|
|
|
|
 |
|
Brukvalub |
|
|
|
Например, выписать параметрическое уравнение прямой пересечения плоскостей, в которых лежат эти треугольники и для каждого из треугольников найти свой отрезок параметров, при которых эта прямая попадает в треугольник (если такой отрезок для треугольника существует). Если оба отрезка параметров существуют и пересекаются. то и треугольники пересекаются. Конечно, я написал лишь общие идеи одного из возможных алгоритмов, не учитывающие вырожденных случаев и т.п.. которые можно додумать самому.
|
|
|
|
 |
|
Серёга |
|
|
|
Даны трёхмерные координаты вершин двух треугольников. Как определить пересекаются ли они?
|
|
|
|
 |
|
Brukvalub |
|
|
|
Я вчера уже постил свой ответ на этот вопрос. Куда все делось???
Ладно, пишу еще раз.
1. Пишем уравнения двух плоскостей, в каждой из которых лежит по треугольнику.
2. Пишем параметрическое уравнение прямой, по которой эти плоскости пересекаются.
3. для каждого из треугольников находим множество параметров, для которых прямая пересечения плоскостей находится в треугольнике.Это множество может быть пустым. быть точкой или отрезком.
4. треугольники пересекаются тогда и только тогда, когда полученные для них множества параметров для прямой имеют непустое пересечение.
5. Здесь не учтены некоторые вырожденные случаи (например, когда треугольники лежат в параллельных плоскостях и т. п., да и п.3 написан весьма схематично, но детали легко додумать самому.
|
|
|
|
 |
|
Someone |
|
|
Brukvalub писал(а): Я вчера уже постил свой ответ на этот вопрос. Куда все делось???
Вот оно: http://dxdy.ru/viewtopic.php?t=8174
|
|
|
|
 |
|
нг |
|
|
|
! |
Серёга Замечание за дублирование темы. |
Brukvalub — извините. Темы сливаются.
|
|
|
|
 |