Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия, Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки
Даны трёхмерные координаты вершин двух треугольников. Как определить пересекаются ли они?
Brukvalub
18.06.2007, 20:33
Например, выписать параметрическое уравнение прямой пересечения плоскостей, в которых лежат эти треугольники и для каждого из треугольников найти свой отрезок параметров, при которых эта прямая попадает в треугольник (если такой отрезок для треугольника существует). Если оба отрезка параметров существуют и пересекаются. то и треугольники пересекаются. Конечно, я написал лишь общие идеи одного из возможных алгоритмов, не учитывающие вырожденных случаев и т.п.. которые можно додумать самому.
Серёга
Пересечение треугольников
19.06.2007, 19:26
Даны трёхмерные координаты вершин двух треугольников. Как определить пересекаются ли они?
Brukvalub
19.06.2007, 19:54
Я вчера уже постил свой ответ на этот вопрос. Куда все делось???
Ладно, пишу еще раз.
1. Пишем уравнения двух плоскостей, в каждой из которых лежит по треугольнику.
2. Пишем параметрическое уравнение прямой, по которой эти плоскости пересекаются.
3. для каждого из треугольников находим множество параметров, для которых прямая пересечения плоскостей находится в треугольнике.Это множество может быть пустым. быть точкой или отрезком.
4. треугольники пересекаются тогда и только тогда, когда полученные для них множества параметров для прямой имеют непустое пересечение.
5. Здесь не учтены некоторые вырожденные случаи (например, когда треугольники лежат в параллельных плоскостях и т. п., да и п.3 написан весьма схематично, но детали легко додумать самому.
Someone
19.06.2007, 22:25
Brukvalub писал(а):
Я вчера уже постил свой ответ на этот вопрос. Куда все делось???