Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Пересечение луча с треугольником


Vitas2 ©   (2003-07-21 10:09:00) 

Как определить пересекается ли луч с треугольником и в какой точке?(в 3д координатах)


Sapersky_   (2003-07-29 11:47:00) [1]

http://geometryalgorithms.com/Archive/algorithm_0105/algorithm_0105.htm


i-C3H7OH   (2003-07-24 22:57:00) [2]

если делать в лоб, то я бы сделал так:
1. нужно перейти в плоскость. напр так как советует это сделать Digitman ©.
или взять некоторую плоскость с нормалью луча и спроецировать на нее точки вершин.

2. перевести трехмерные координаты всех 4-х точек (3-х вершин и точки пересечения луча с плоскостью) в двумерные на плоскости.

3. Определить на плоскости лежит ли точка пересечения луча с плоскостью внутри треугольника.

может можно и по-проще. если интересно могу пояснить каждый шаг


Digitman   (2003-07-21 17:18:00) [3]

1. Найти координаты пересечения прямой, которой принадлежит луч, с плоскостью, которой принадлежит треугольник.

2. Если имеется единственная точка пересечения И точка принадлежит мн-ву точек луча И точка принадлежит мн-ву точек, принадлежащих треугольнику, то луч пересекается с треугольником в точке с найденными координатами, иначе - не пересекается.


Наверх

Титульная страница Поиск, карта сайта Написать письмо