Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пояснительная записка по ИГС лаба№1.docx
Скачиваний:
13
Добавлен:
26.11.2018
Размер:
324.41 Кб
Скачать

Программное представление поверхности:

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

б) Приближенное описание. Точное описание поверхности заменяется приближенным описанием, в котором поверхность составлена из соединенных вместе плоских многоугольников, называемых полигонами (см. рисунки 1, 2).Чем более мелкие полигоны используются, т.е. чем ближе вершины каждого полигона друг к другу, тем точнее представляется поверхность. В пределе мы получаем точное описание поверхности, т.к. этот способ вырождается в перечисление всех точек поверхности. Обычно для разбиения используются треугольники, четырехугольники и т. д. Полигональное представление очень удобно для компьютерной обработки. Т.к. поверхность представляется списком точек пространства, а существует удобный математический аппарат позволяющий, выполнять различные преобразования над точками (поворачивать, проецировать), и вычислять характеристики многоугольников (например нормали). К тому же обработка точек поверхности, требует относительно небольших вычислительных затрат. Хранение всех вершин полигона требует также относительно небольшого количества памяти.

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

Это объясняется следующими причинами:

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

  • любую область можно гарантировано разбить на треугольники;

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

  • треугольник очень удобен для определения нормали плоскости.

  • для треугольника легко определить три его ближайших соседа, имеющих с ним общие грани

Для представления поверхности необходимо подставить значения параметров из интервалов [] и [] с шагами , в уравнение поверхности и получить координаты ее точек. Шаги рассчитываются следующим образом:

где , – количество сегментов разбиения поверхности по и соответственно. Т.о. будет построена сеточная поверхность, разбитая на сегменты.

Алгоритм построения поверхности будет следующий: меняя значение от до с шагом , меняя значение от до с шагом , вычислить координаты точек

Таким образом, мы получим два треугольных полигона: и . Изменяя значения параметров от минимальных до максимальных мы получим всю поверхность, как соединенных вместе треугольников.

Обобщенный алгоритм:

меняя значение от до с шагом

меняя значение от до с шагом

вычислить координаты точек

сформировать полигоны

V B(u, v+dv) C(u+du,v+dv)

A(u,v) D(u+du,v)

U