Главная > Математика > Геометрическое моделирование
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

3.15. Ограниченные контурами поверхности

Рассмотрим поверхности, которые выделяются среди всех остальных поверхностей и создаются «над ними» (на их основе).

Все приведенные выше поверхности имеют «природные» прямоугольные или треугольные области определения параметров. Прямоугольные или треугольные области удобны в использовании из-за их простоты. Прямоугольная область параметров определяется неравенствами и и для любой пары параметров можно сразу сказать, лежит ли она вне области, внутри области или на границе области. Рассмотренные выше поверхности дают широкие возможности для моделирования. Неограниченные возможности для моделирования мы получим, если границы поверхностей смогут иметь произвольный вид. Это можно сделать с помощью двухмерных кривых линий на поверхности, которые описываются в пространстве параметров или поверхности. Эти двухмерные кривые собраны в контуры и разделяют используемую часть поверхности от остальных частей.

Такая поверхность с произвольной границей представляет собой наиболее общий тип поверхности. Будем называть ее ограниченной контурами поверхностью. Ограниченную контурами поверхность можно построить на основе любой поверхности с прямоугольной или треугольной областью путем изменения области определения ее параметров. Именно эта поверхность лежит в основе моделирования тел. Ее параметрам разрешается принимать значения только внутри области, ограниченной заданными на ней контурами. Границы поверхности представляют собой отображение в трехмерное пространство границ двухмерной связной области.

Исходную поверхность с прямоугольной или треугольной областью определения параметров будем называть базовой поверхностью. Пусть есть радиус-вектор ее точек. Радиус-вектор ограниченной контурами поверхности описывается тем же выражением, что и базовая поверхность, но имеет другую область определения параметров

(3.15.1)

где — область определения параметров, которая представляет собой ограниченную замкнутыми кривыми часть плоскости, из каждой точки которой можно попасть в любую другую ее часть, не пересекая границ. Область определения параметров определяется двухмерными контурами (замкнутыми составными кривыми).

Двухмерный контур состоит из нескольких двухмерных кривых, стыкующихся между собой. Радиус-вектор контура определяется функцией (2.12.7). Таких контуров может быть несколько. Совокупность контуров ограничивает двухмерную область параметров и придает границам поверхности заданную форму.

Область определения параметров ограниченной контурами поверхности представляет собой связную часть двухмерного пространства и описывается набором непересекающихся двухмерных контуров, один из которых является внешним, а остальные лежат внутри него и являются внутренними. Внутренние контуры не могут быть вложены друг в друга. Для того чтобы легче было определить, принадлежит ли некоторая двухмерная точка области определения параметров поверхности, контуры ориентируют определенным образом. Пусть внешний контур ориентирован так, что обход по нему в положительном направлении осуществлялся против часовой стрелки, если смотреть на поверхность навстречу ее нормали. Внутренние контуры должны быть ориентированы в противоположном направлении.

Принадлежность точки области определения параметров.

Пусть требуется ответить на вопрос, принадлежит ли двухмерная точка пространства параметров области определения поверхности — классифицировать точку относительно области. Для областей прямоугольной формы ответить на него просто — для этого нужно проверить, удовлетворяют ли параметры и и v неравенствам . Для ограниченной контурами поверхности, это сделать несколько сложней.

Пусть требуется классифицировать точку в параметрической области поверхности, ограниченной тремя контурами: одним внешним и двумя внутренними, как показано на рис. 3.15.1.

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

Рис. 3.15.1. Определение положения точки относительно области

Таких точек пересечения должно быть четное число - каждой точке входа прямой в область должна соответствовать точка выхода из области. Но в некоторых случаях, как показано на рис. 3.15.1, их может быть нечетное число из-за касания или прохождения прямой через угол граничного контура. Если точек пересечения получено нечетное число, то можно пересечь границу области другой двухмерной прямой, проходящей через проверяемую точку и составляющую небольшой угол с уже построенной прямой.

Далее легко определить принадлежность рассматриваемой точки заданной области. Если точка находится между точкой входа прямой в область и соответствующей ей точкой выхода из области, то рассматриваемая точка принадлежит данной области. В противном случае или в случае отсутствия точек пересечения прямой с границей области рассматриваемая точка лежит вне данной области.

Если известно, что внешний граничный контур области параметров поверхности ориентирован против часовой стрелки, а внутренние контуры ориентированы по часовой стрелке, если смотреть на поверхность навстречу ее нормали, то классифицировать точку в параметрической области поверхности можно следующим образом. Найдем ближайшую к точке точку на границе области. Построим двухмерный вектор w из найденной точки в точку .

Рис. 3.15.2. Определение положения точки относительно области определения параметров поверхности.

Вычислим нормаль к граничному контуру в точке Нормаль в правой системе координат всегда направлена влево, если смотреть вдоль направления контура. Если точка является точкой излома граничного контура, то в качестве нормали возьмем среднюю нормаль к границе в этой точке. Если , то точка принадлежит области определения поверхности. В противном случае — нет. Это отражено на рис. 3.15.2.

Примеры.

На рис. 3.15.3 приведена NURBS поверхность, имеющая прямоугольную область определения параметров, и линии на ней. На рис. 3.15.4 приведена NURBS поверхность, ограниченная кривыми на ней.

Рис. 3.15.3. NURBS поверхность и линии на ней

Рис. 3.15.4. Ограниченная контурами поверхность

На рис. 3.15.5 приведена ограниченная контурами поверхность вращения.

При создании тонкостенного тела требуется строить ограниченные контурами поверхности, базирующиеся на продолженной поверхности, которая является эквидистантной поверхностью.

Для таких поверхностей в качестве базовой удобно ввести новый тип поверхности, который включает в себя одновременно свойства эквидистантной и продолженной поверхностей.

В общем случае область определения параметров ограниченной контурами поверхности может выходить за область определения параметров базовой поверхности при условии, что определено поведение поверхности за границами ее области определения.

Рис. 3.15.5. Ограниченная контурами поверхность

Это можно сделать, например, с помощью формул (3.14.8)-(3.14.10).

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

<< Предыдущий параграф Следующий параграф >>
Оглавление