Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 Пересечение треугольников
Даны трёхмерные координаты вершин двух треугольников. Как определить пересекаются ли они?

 
Аватара пользователя
Например, выписать параметрическое уравнение прямой пересечения плоскостей, в которых лежат эти треугольники и для каждого из треугольников найти свой отрезок параметров, при которых эта прямая попадает в треугольник (если такой отрезок для треугольника существует). Если оба отрезка параметров существуют и пересекаются. то и треугольники пересекаются. Конечно, я написал лишь общие идеи одного из возможных алгоритмов, не учитывающие вырожденных случаев и т.п.. которые можно додумать самому.

 Пересечение треугольников
Даны трёхмерные координаты вершин двух треугольников. Как определить пересекаются ли они?

 
Аватара пользователя
Я вчера уже постил свой ответ на этот вопрос. Куда все делось???
Ладно, пишу еще раз.
1. Пишем уравнения двух плоскостей, в каждой из которых лежит по треугольнику.
2. Пишем параметрическое уравнение прямой, по которой эти плоскости пересекаются.
3. для каждого из треугольников находим множество параметров, для которых прямая пересечения плоскостей находится в треугольнике.Это множество может быть пустым. быть точкой или отрезком.
4. треугольники пересекаются тогда и только тогда, когда полученные для них множества параметров для прямой имеют непустое пересечение.
5. Здесь не учтены некоторые вырожденные случаи (например, когда треугольники лежат в параллельных плоскостях и т. п., да и п.3 написан весьма схематично, но детали легко додумать самому.

 
Аватара пользователя
Brukvalub писал(а):
Я вчера уже постил свой ответ на этот вопрос. Куда все делось???


Вот оно: http://dxdy.ru/viewtopic.php?t=8174

 
Аватара пользователя
 !  Серёга
Замечание за дублирование темы.


Brukvalub — извините.

Темы сливаются.

 [ Сообщений: 6 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group