Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л_6,7.doc
Скачиваний:
2
Добавлен:
15.09.2019
Размер:
3.22 Mб
Скачать

Конструктивная геометрия (Представление csg моделей)

Объект задается набором примитивов и операций над ними

Примитивы – «строительные блоки» объекта, часто куб, сфера, цилиндр и т.п.

Операции – теоретико-множественные операции (объединение, пересечение, разность) и т.п.

Геометрические преобразования – смещение, поворот, изменение размеров и т.п.

Если у нас в трёхмерном пространстве есть тело, то мы это пространство можем разбить на кубики (boxels) . Для каждого кубика ( i, j, k) мы можем указать, пересекается ли он с телом: то есть лежит ли он внутри, на границе или вне тела. Например, при моделировании головного мозга мы можем представить маленькими кубиками наполнение нашей черепной коробки, соответственно можно представить уплотнения и пустоты, чего нельзя сделать в других моделях.

С таким подразбиением можно проводить набор операций:

  • пересечение;

  • объединение;

  • вычитание;

Соответственно в результате можем получить более сложное тело.

Равномерная сетка

Эта модель описывает координаты отдельных точек поверхности следующим способом: каждому узлу сетки с индексами (i, j) приписывается значение высоты zij. Индексам (i, j) отвечают определенные значения коор­динат (х, у). Расстояние между узлами одинаковое – dx по оси х и dy по оси y.

Фактически, такая модель – двумерный массив, растр, матрица, каждый элемент которой сохраняет значение высоты.

Не каждая поверхность может быть представлена этой моделью. Если в каж­дом узле записывается только одно значение высоты, то это означает, что поверхность описывается однозначной функцией z = f (х, у). Иначе говоря, это такая поверхность, которую любая вертикаль пересекает только один раз. Не могут моделироваться также вертикальные грани. Необходимо заметить, что для сетки не обязательно использовать только декартовые координаты. Например, для того чтобы описать поверхность шара однозначной функцией, можно использовать полярные координаты. Равномерная сетка часто исполь­зуется для описания рельефа земной поверхности.

Положительные черты равномерной сетки:

  • простота описания поверхностей;

  • возможность быстро узнать высоту любой точки поверхности простой ин­терполяцией.

Недостатки равномерной сетки:

  • поверхности, которые соответствуют неоднозначной функции высоты в узлах сетки, не могут моделироваться;

  • для описания сложных поверхностей необходимо большое количество узлов, которое может быть ограничено объемом памяти компьютера;

  • описание отдельных типов поверхностей может быть сложнее, чем в дру­гих моделях. Например, многогранная поверхность требует избыточный объем данных для описания по сравнению с полигональной моделью.

Неравномерная сетка. Изолинии

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

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

Рассмотрим модель поверхности в виде множества точечных значений, логически никак не связанных между собой. Неравномерность задания опор­ных точек усложняет определение координат для других точек поверхности, которые не совпадают с опорными точками. Нужны специальные методы пространственной интерполяции. Так, например, можно поставить такую за­дачу – по известным координатам (х, у) вычислить значения координаты z. Для этого необходимо найти несколько самых близких точек, а потом вычис­лить искомое значение z, исходя из взаимного расположения этих точек в проекции (х, у). Для равномерной сетки это намного проще – поиска фактически нет, мы сразу рассчитываем индексы самых близких опорных точек. Еще одна задача – отобразить поверхность. Эту задачу можно решать несколькими способами, в том числе триангуля­цией. Процесс триангуляции можно представить себе так: сначала находим первые три самые близкие друг другу точки и получаем одну плоскую треугольную грань. Потом находим точку, ближайшую к этой гра­ни, и образовываем смежную грань. И так далее, пока не останется ни одной отдельной точки.

Это общая схема, в литературе описано много разных спо­собов триангуляции.

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

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

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

Недостатки: невозможность или сложность выполнения многих операций над поверхностями; сложные алгоритмы преобразования в другие формы описания поверхностей.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]