Отсечение отрезка и полигона плоскостью

В 3D отсечение обычно выполняют по алгоритму по Кируса-Бэка, только расстояния от вершин отрезков до прямой заменяются на расстояния до плоскости. В остальном, все происходит тем же образом, что и на плоскости.

Полиэдр (многогранник)

Обычно под словом полиэдр (polyhedron) понимают выпуклые многогранники. Многогранник состоит из вершин, ребер и граней. Самый простой полиэдр – тетраэдр. Выпуклый – это значит, что все точки полиэдра находятся с одной стороны от плоскостей, образующих его грани (обычно с отрицательной стороны, так, что нормали плоскостей смотрят наружу). Наиболее часто полиэдры задаются просто набором ограничивающих плоскостей. Но полиэдр можно задать и набором полигонов – граней полиэдра, но это избыточное задание. Если полиэдр задан набором плоскостей, то получить его грани можно отсечением. Обычно создается начальный достаточно большой полигон в плоскости, для которой требуется получить грань, а затем отсекается всеми остальными плоскостями полиэдра. Можно поступить иначе – найти все прямые, по которым текущая плоскость пересекается с остальными, а затем отсечь их по оставшимся плоскостям, т.о. получатся ребра грани останется только объединить их в полигон (здесь правда могут возникнуть сложности с близкими точками).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: