русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Векторная модель описания поверхностей


Дата добавления: 2013-12-23; просмотров: 1606; Нарушение авторских прав


Аналитическая модель описания поверхностей

Любая поверхность задается с помощью уравнения F(x,y,z) = 0, где x,y,z — мировые координаты.

NURBS: с использованием опорных точек и их весов можем задавать поверхность в пространстве (аналог кривых Безье).

 

Достоинства:

● Простота

● Малый объём информации

● Универсальность (может быть описано большое множество поверхностей)

● Позволяет легко проверить принадлежность точки объекту

Недостатки:

● Вычислительная сложность (много делений ⇒ сложная арифметика)

● Неудобно работать: чтобы получить координаты x, y, z, надо выражать их из уравнения

● При выполнении аффинных преобразований меняется уравнение

● Отсутствие универсального метода визуализации (для каждого вида поверхности свой)

● Нельзя делать разрез объекта, можно задавать только поверхность

Поверхность объекта представляется в виде набора граней со сторонами (рёбрами). Для каждой грани задаются координаты вершин + дополнительные параметры: цвет, текстура, материал (поведение при освещении), нормаль (какая из сторон лицевая), и т.д.

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

 

Подходы к хранению объектов:

1 В явном виде хранятся координатыкаждой вершины (x,y,z). Тогда одна точка будет храниться несколько раз ⇒ большой расход памяти, и надо следить, чтобы координаты точек у разных граней совпадали.

Достоинства: даёт полную свободу редактирования

Недостатки: требует много памяти

2 Хранятся рёбракак пары точек, а для каждой грани (треугольника) хранятся три ссылки на рёбра.

Достоинства: может быть экономнее, чем первый вариант



Недостатки: даёт свободу только с точностью до ребра

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

Достоинства: максимальная экономия памяти (вершины не повторяются)

Недостатки: все грани связаны

 

Замечание. Второй метод оказывается эффективным только в том случае, если одно ребро используется во многих гранях, в противном случае расходы памяти могут оказаться даже выше, чем в первом варианте. Сравним этим методы на конкретных примерах:

 

Пример 1. Рассмотрим кубик.

1 Для каждой грани храним четыре точки, итого получаем 4*6 = 24 точки.

2 Для каждой грани храним четыре ссылки на рёбра. В списке рёбер все рёбра уникальны. Итого храним 12 рёбер по две точки, 12*2 = 24 точки.

3 Точки храним в списке уникальных точек, соответственно, их всего 8.

 

Пример 2. Рассмотрим два треугольника, имеющих одну общую сторону.

1 Две грани по три точки, итого 6 точек.

2 Пять рёбер по две точки, итого 10точек.

3 Четыре точки.

 

(— А еще неплохо было бы учесть, что сами объекты ребра и граней занимают память)

(— Занимают, но их в несколько раз меньше, чем вершин, поэтому они, скорее всего, и будут определять “асимптотику” расхода памяти.)

 

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

Статическая: для каждого объекта строится одна модель, которая всегда используется при построении изображения.

Динамическая: для объекта строится несколько моделей, с разным уровнем детализации. Если объект далеко, используется модель с низкой детализацией, иначе — с высокой.

 

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

● Универсальность и простота

● Возможность выполнения аффинных преобразований

● Сравнительно небольшой объем данных

● Наличие универсальных алгоритмов визуализации, а также возможность их аппаратной реализации

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

● Сложность выполнения разрезов

● Для хорошего качества изображения необходим высокий уровень детализации.

 

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

 

например когда строится модель лица, есть N выражений лица, и для нужной эмоции берется M<N моделей и вычисляется среднее для каждой точки в зависимости от приоритета.

 

Ещё пример: для каждого ребра скелета строится связанная с ним поверхность. Когда поворачиваются рёбра, поворачивается вся поверхность.

 



<== предыдущая лекция | следующая лекция ==>
Проецирование. Виды координат (модельные, видовые, проекционные, экранные) | Воксельная модель описания поверхностей


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.