Содержание к диссертации
Введение
1 Организация процесса геометрического моделирования и отображения трехмерных объектов в режиме реального времени 27
1.1 Основные компоненты графических систем реального времени 27
1.2 Анализ форм пространственных объектов и способов их описания 32
1.2.1 Объекты и модели в ГСРВ 32
1.2.2 Формы математического описания пространственных объектов . 38
1.3 Этапы и преобразования процесса отображения трехмерных объектов 48
1.3.1 Этапы процесса отображения 48
1.3.2 Пространственное отсечение примитивов 49
1.3.3 Преобразования пространственной динамики 51
1.3.4 Определение видимости примитивов 52
1.3.5 Текстурирование примитивов 54
1.3.6 Фильтрация текстурных изображений 57
1.3.7 Моделирование освещенности объектов 60
1.4 Аппаратная поддержка процесса отображения в ГСРВ 62
1.5 Анализ традиционного процесса компьютерного моделирования трехмерных объектов 67
Выводы к разделу 1 76
2 Концептуальное совершенствование геометрического моделирования и отображения трехмерных объектов на основе криволинейных примитивов 78
2.1 Основные положения концепции геометрического моделирования и отображения трехмерных объектов 78
2.2 Требования к форме и описанию криволинейных примитивов 84
2.3 Аппарат смешивающих функций в геометрическом моделировании и отображении пространственных объектов 91
2.4 Общая организация процесса геометрического моделирования и отображения пространственных сцен 95
2.5 Способы поддержания режима реального времени в процессе геометрического моделирования и отображения динамических объектов 104
Выводы к разделу 2 111
3 Геометрическое моделирование пространственных объектов с аналитической поверхностью на основе криволинейных примитивов 114
3.1 Использование поверхностей второго порядка в качестве геометрических примитивов ГСРВ 114
3.1.1 Математическое описание поверхностей второго порядка 114
3.1.2 Геометрические преобразования поверхностей второго порядка . 120
3.2 Использование бикубических поверхностей в качестве геометрических примитивов ГСРВ 126
3.2.1 Математическое описание бикубических поверхностей 126
3.2.2 Геометрические преобразования бикубических поверхностей 142
3.3 Геометрическое моделирование и отображение составных
поверхностей из отсеков второго и третьего порядка 148
3.3.1 Сопряжение поверхностей второго порядка 148
3.3.2 Сопряжение поверхностей третьего порядка 158
3.4 Определение видимости отсеков второго и третьего порядка 165
3.4.1 Выявление невидимых примитивов 165
3.4.2 Выявление участков примитива, невидимых из-за его кривизны . 174
3.5 Плоские примитивы как частный случай криволинейных примитивов 187
3.5.1 Геометрическое моделирование на основе укрупненных плоских примитивов 187
3.5.2 Метод выделения фрагментов как средство выделения контура плоского укрупненного примитива 192
Выводы к разделу 3 196
4 Геометрическое моделирование произвольных пространственных форм на основе рельеф-примитивов 199
4.1 Геометрические примитивы в виде участка моделируемой поверхности 199
4.1.1 Геометрический примитив в виде участка замкнутой поверхности произвольной формы 199
4.1.2 Геометрический примитив в виде участка незамкнутой поверхности произвольной формы 211
4.2 Геометрическое моделирование объектов сложной формы 215
4.2.1 Геометрические преобразования рельеф-примитивов 215
4.2.2 Образование составных поверхностей на основе рельеф-примитивов 227
4.2.3 Анализ видимости объектов, построенных из рельеф-примитивов 237
4.3 Исследование влияния смешивающих функций на геометрические и визуальные характеристики составной поверхности 240
4.3.1 Производная смешивающей функции и ее роль в сопряжении рельеф-сплайнов 240
4.3.2 Расширение возможностей формообразования за счет рационального выбора смешивающих функций 247
Выводы к разделу 4 256
5 Прикладные исследования и реализация результатов 259
5.1 Организация и структурная реализация процесса геометрического моделирования и отображения объектов в режиме реального времени 259
5.1.1 Организация вычислений в ГСРВ 259
5.1.2 Структура графического конвейера ГСРВ 265
5.2 Специализированная техническая поддержка геометрического моделирования и отображения криволинейных примитивов 273
5.2.1 Структура устройств для развертывания аналитических кривых и поверхностей 273
5.2.2 Применение нейропроцессора для развертывания примитивов, описываемых сплайнами 278
5.2.3 Обобщенная структура устройства для выполнения геометрических преобразований 286
5.2.4 Технические средства текстур ирования криволинейных примитивов 288
5.3 Методика и система компьютерного моделирования местности 297
5.3.1 Выбор характеристик рельефа при моделировании местности по карте высот 297
5.3.2 Отсечение рельеф-примитивов в географической системе координат 302
5.3.3 Программная система моделирования рельефа 308
Выводы к разделу 5 313
Заключение 319
Список использованных источников
- Анализ форм пространственных объектов и способов их описания
- Требования к форме и описанию криволинейных примитивов
- Математическое описание поверхностей второго порядка
- Геометрический примитив в виде участка незамкнутой поверхности произвольной формы
Введение к работе
Характеристика предметной области
Математическое моделирование - мощный инструмент познания и проектирования действительности, имеющий множество практических приложений. В работе рассматривается область математического моделирования, связанная с представлением человеку физических и технических объектов в форме визуальных образов. Многие задачи отображения носят существенно геометрический характер. Это связано с тем, что в большинстве графических приложений требуется представлять пространственные объекты в различных проекционно-изобразительных системах. Поэтому в графике традиционно используется геометрический аппарат математического моделирования. Геометрическое моделирование в графике необходимо в связи с тем, что средствами графической системы наблюдателю представляются изображения не реальных (как в телевидении), а виртуальных объектов, заданных формализованными описаниями - моделями.
Геометрия и внешний вид объектов самой различной физической природы представляются человеку одними и теми же алгоритмическими, программными и техническими средствами. Теория и практика построения таких средств в различных приложениях носит название компьютерного моделирования, компьютерной графики, отображения информации. Действительно, чтобы представить на экране дисплея реалистическое изображение некоторого объекта, система компьютерной графики использует его формализованное описание, которое "закладывается" в систему до визуализации. Это формализованное описание - модель - создается математическими средствами, описание которых является неотъемлемой частью учебников по компьютерной графике [26,95,116,120,131,136,152,160,161,166,183,]. Любая система отображения, в том числе, система отображения графической информации, работает не с самими отображаемыми объектами, а с их динамическими информационными моделями. В автоматизированных системах отображения формирование модели осуществляется математическими методами и возлагается на ЭВМ [5,100,122,144]. В связи с этим в диссертационной работе понятия "система компьютерного моделирования", "графическая система", "система
отображения информации", "система компьютерной графики" используются как близкие по смыслу. Особый интерес представляют процессы и средства геометрического моделирования и отображения объектов, действующие в режиме реального времени. Именно они позволяют создавать интерактивные компьютерные системы, "включающие" человека в контур управления отображаемым миром.
Графика реального времени - одна из динамично развивающихся отраслей современного знания. Ее результаты востребованы в самых разных областях деятельности человека. Компьютерная графика в системах автоматизированного проектирования (САПР) служит для наглядного представления информации о поведении проектируемых объектов и процессов во времени [30,44,47,150]. В геоинформационных системах (ГИС) графическими средствами создается виртуальное географическое пространство, по которому можно перемещаться [11,12,31,113,180,210]. В автоматизированных обучающих системах (АОС) графика является основным средством реалистического представления обучаемому модели внешней среды [6,36,45,115,140,141]. По задачам и изобразительным средствам с АОС смыкаются системы виртуальной реальности (СВР), "погружающие" оператора в созданную компьютером среду. Область применения СВР весьма обширна: от роботостроения до образования, культуры, искусства [20,46,105]. Когнитивная графика реального времени выступает в качестве мощного инструмента для повышения эффективности научных исследований [41]. Задача отображения динамических процессов стоит в автоматизированных управляющих системах технологического назначения (АСУТП) [165]. Быстрый рендеринг нужен для интерактивной визуализации результатов в информационных системах медицинского, астрономического, архитектурно-строительного, геологического и иного профиля [13,44,48,167,197]. Масштабным потребителем результатов графики реального времени являются компьютерные игры [14,51,99]. По уровню алгоритмических, программных и технических решений они практически смыкаются с тренажерами и поэтому адресуются не только любителям развлечений, но и самым серьезным потребителям. Например, армии США и Великобритании финансируют создание видеоигр, предназначенных для тренировки военнослужащих [7].
При построении графических систем реального времени (ГСРВ) приходится решать весьма широкий спектр задач моделирования. К ним относятся
математическое описание объектов отображения, задание пространственной динамики объектов, характерная раскраска поверхностей, моделирование освещенности объектов, улучшение их внешнего вида с помощью фильтрации и спецэффектов [8,154,166,183]. Одной из важнейших задач в приведенном списке является описание отображаемого объекта, и в частности, описание его геометрической формы. С одной стороны, реалистичность рельефа во многом определяет общее впечатление от восприятия отображаемых объектов. С другой стороны, выбранный вид математической модели решающим образом влияет на затраты вычислительных ресурсов, необходимых для ее визуализации. В связи с этим специалисты по графике на протяжении нескольких десятков лет развивают теорию формообразования, совершенствуют существующие и отыскивают новые методы описания и геометрического моделирования пространственных объектов.
Наиболее значимые достижения в моделировании пространственных форм связаны с именами зарубежных ученых. Большой вклад в теорию формообразования внесли Дж.Фергюсон, Е.Кэтмулл, П.Безье, С.Кунс, Цао Ен, именами которых названы криволинейные и составные поверхности [18,136,174,179,182]. В графических приложениях широко применяется сплайновая аппроксимация пространственных объектов, над которой работали П.Безье, Д.Роджерс, В.Барски и многие другие ученые [172,173,174,200]. Поверхности свертки, и в частности, "мягкие объекты", нашли свое применение во многом благодаря работам Дж.Блюменталя, К.Шумейкера и Дж.Вайвилла [175,211]. Свое место усилиями А.Фурнье и М.Барнсли заняли в графике фрактальные поверхности [170,184]. Из последних достижений можно назвать работы Э.Столница, Д.Салезина и Т. ДеРоуза по применению в компьютерной графике вейвлет-функций [146,205].
Существенный вклад в теорию и практику моделирования пространственных форм внесли и отечественные специалисты, работающие в настоящее время у нас в стране и за рубежом. Это В.Аджиев, С.Вяткин, Б.Долговесов, В.Ли, М.Михайлюк, А.Пасько, А.Шерстюк, Е.Шикин. Они плодотворно работают в области полигональных и сплайновых моделей, пространственных кривых, поверхностей на основе функций возмущения, вещественных функций, свертки [4,24,159,160,162]. Вопросам геометрии и технической поддержки отображения трехмерных сцен посвящен ряд диссертационных исследований последних лет [29,102,130,139,153].
В настоящее время большинство графических приложений реального времени использует полигональные математические модели. К их несомненным достоинствам относятся универсализм и простота операций обработки. Аппаратная поддержка в виде графического ускорителя позволяет обрабатывать полигоны с высокой скоростью. Однако полигональные модели имеют и нежелательные проявления. Реалистические сцены характеризуются большой сложностью и, зачастую, содержат более миллиона полигонов. В качестве примера на рисунке В.1,а,б показаны тонированное и каркасное изображения сложной сцены. Следует обратить внимание на то, что объекты, значительно удаленные от наблюдателя и имеющие малые визуальные размеры, представляются полным набором входящих в них полигонов. Кроме того, физически плоские фрагменты объектов, например, палуба авианосца, представляются большим числом полигонов. Это связано с особенностями моделирования освещенности объектов. В итоге описание геометрических и визуальных атрибутов полигональных объектов занимает большой объем памяти, а необходимость их обработки в режиме РВ требует высокого быстродействия вычислительной аппаратуры и шины передачи данных в ускоритель [108,157].
Хорошими формообразующими возможностями и компактностью описания обладают криволинейные поверхности второго и третьего порядка - квадрики и сплайны. В то же время они имеют свои недостатки. К ним можно отнести сложность определения видимости примитивов и их участков, большие вычислительные затраты на расчет положения и освещенности текущих точек [44].
Несколько лет перечисленные трудности преодолевались путем наращивания возможностей аппаратуры. Процесс отображения пространственных объектов всегда имел аппаратную поддержку. Для этого строились мощные компьютеры, вплоть до графических супер-компьютеров [35,49], и специализированные графические системы конвейерной архитектуры [10,23,27,38,39,164]. В основном, техника была ориентирована на полигональные модели, но создавались . и устройства, использующие криволинейные примитивы [1,3,40,126]. Впоследствии с развитием персональных ЭВМ как отдельный их класс стали развиваться профессиональные графические станции [49,98]. Разработаны и графические персональные компьютеры с архитектурой супер-ЭВМ [50]. Технологический прогресс позволил выпускать графическую аппаратуру в виде компактных микросхемных блоков, ставших
Щ№т^ШжШ%
Рисунок В. 1 - Тонированное (а) и каркасное (б) изображение сложной сцены
обязательным атрибутом каждой ПЭВМ [34,109]. Последние несколько лет производительность центрального процессора графической системы удваивалась за два года, производительность специализированных технических средств (графических ускорителей) росла еще быстрее. Однако в настоящее время рост производительности графической аппаратуры замедлился, а требования к реалистичности отображения продолжают расти. Увеличивается число полигонов в сцене. Обычное разрешение экрана составляет 1600х 1280, а в специальных графических системах - 2048x2048. Пиксель экрана делится на субпиксели, число которых достигает 64. Частота расчета кадра составляет 30 - 50 Гц. Это говорит о том, что одними технологическими средствами всех проблем графики не решить. Кроме того, существует тенденция переноса на специализированную аппаратуру целого ряда функций, ранее выполнявшихся на центральном процессоре [110,193]. К этим функциям, в первую очередь, относятся геометрические преобразования и полигонизация. На рисунке В.2 показаны фрагменты иллюстраций из доклада "Higher Order Surfaces" Генри Мортона (Henry Moreton), сотрудника фирмы nVIDIA, которая является одним из ведущих изготовителей графических ускорителей [52]. Рисунки иллюстрируют указанную тенденцию. Ясно, что перенос на аппаратуру дополнительных графических операций требует разработки эффективных алгоритмов их выполнения. Все это означает, что новое поколение графических ускорителей во многом должно строиться по новым методам.
Другим, не технологическим, путем преодоления недостатков, присущих традиционным информационным моделям, является поиск новых методов моделирования пространственных форм. Он идет в нескольких направлениях. Одним из них является детализация полигональной модели. Добавление плоских примитивов в режиме реального времени позволяет "подгонять" полигональную поверхность под желаемую форму [108,112,157,158,169]. Поверхность при этом остается полигональной и для улучшения ее восприятия нужно проводить весьма ресурсоемкую работу по усреднению направления нормалей, принадлежащих сопрягающимся полигонам.
Еще одним направлением геометрического моделирования пространственных форм является применение так называемых радиальных базовых функций и их частного случая - функций возмущения [24,189]. Скалярные функции возмущения
T&L Created A Major Content Shift...
CPU Graphics Proces
A New Band of Computation
CPU Graphics Processor
Рисунок B.2 - Иллюстрация распределения функций между центральным процессором и графической аппаратурой в прошлом, настоящем и будущем
представляют собой карты высот, добавляемых к исходной (плоской или криволинейной) поверхности. Для получения самой поверхности из набора высот нужно применить интерполяцию, например, плоскую, что приводит к обычной полигональной модели со всеми ее недостатками. Формообразование на основе аналитических функций возмущения предполагает раздельную генерацию рельефов различной формы и детальности с последующим их смешиванием. Результат аналогичен сплайн-интерполяции, но параллельный расчет нескольких степенных полиномов требует повышенных вычислительных затрат.
Новой формой геометрического примитива является поверхность Цао Ена [18, 129]. Она задается картой высот, а координаты текущей точки находятся как средневзвешенные суммы одноименных координат опорных точек карты высот. Обладая хорошими возможностями формообразования, поверхность Цао Ена при использовании ее в графических системах имеет ряд недостатков. Она не проходит через опорные точки, ориентирована на объекты с замкнутой поверхностью, локальное управление ее формой затруднено.
Более поздними разработками в области компьютерного моделирования сложных форм являются фрактальные поверхности, поверхности свертки и поверхности, описываемые вейвлет-функциями [185,186,195]. Геометрические примитивы, построенные на основе таких поверхностей, позволяют реалистично отображать объекты требуемой формы. Однако алгоритмы отображения этих примитивов либо сложны, либо требуют выполнения большого числа итераций, что не позволяет использовать их в графике РВ.
Резюмируя, можно констатировать, что в настоящее время хорошо проработано геометрическое моделирование и отображение пространственных объектов на основе плоских полигонов. Прогресс в этой области идет в следующих направлениях:
перераспределение функций между программной и аппаратной частями графической системы;
повышение уровня программируемое аппаратуры;
создание технических средств, поддерживающих такую идеологию. Иными словами, графические акселераторы превращаются в программируемые видеопроцессоры [22,110,156]. Другим путем совершенствования ГСРВ является поиск новых геометрических примитивов. В настоящее время существует весьма
обширный спектр разработок в этом направлении, однако сравнительно широкое применение в графических системах пока нашли только традиционные сплайны. Например, сплайны Безье поддерживаются известной графической библиотекой OpenGL [163]. Сплайновые примитивы можно назвать укрупненными, так как они описывают целые участки сложных поверхностей. Но в ГСРВ и сплайны применяются нечасто, причиной тому является их вычислительная сложность. В настоящее время за рубежом прорабатывается аппаратная поддержка сплайновых примитивов, однако эта работа не завершена [110].
Для продвижения в указанном направлении нужно сформулировать требования к укрупненным геометрическим примитивам и допустимые упрощения их генерации. Можно предложить следующие основные требования:
широкие возможности формообразования, позволяющие с заданной погрешностью моделировать поверхности любой требуемой формы;
универсальность, проявляющаяся в том, что поверхности любой формы моделируются и отображаются по одной методике;
возможность выполнения над примитивами основных графических операций (геометрические преобразования, освещение, текстурирование и др.) простыми средствами;
простота и компактность математического описания, позволяющие экономить вычислительные ресурсы;
"быстрые" алгоритмы отображения как условие применения примитивов в ГСРВ.
Большинство ГСРВ предназначено для создания у наблюдателя реалистического впечатления от отображаемой сцены. Другими словами, ГСРВ ориентированы не на абсолютную геометрическую точность представления (в отличие от САПР), а на их реалистическое восприятие человеком. Отсюда вытекают допустимые упрощения процесса отображения пространственных объектов:
- при моделировании рельефа объекта точно должны представляться его
характерные участки. Промежуточные участки могут расставляться так, чтобы
поддерживалась общая закономерность геометрии объекта (топологическая
тенденция). Мелкие детали рельефа могут быть представлены, например, с помощью
наложения текстуры;
- если отклонение атрибутов моделируемого объекта от их запланированных значений не приводит к ухудшению восприятия объекта, то такое отклонение допустимо.
Областью диссертационного исследования является теория и практика математического моделирования пространственных форм. Развитие этой области осуществляется на основе учета перечисленных требований к отображению пространственных объектов.
Актуальность темы исследования определяется тем, что указанная область бурно развивается и в настоящее время находится в состоянии перехода к качественно новым результатам. Растущая программируемость и новые задачи графических процессоров требуют создания эффективных методов геометрического моделирования, адаптированных к новому распределению функций между программной и аппаратной частями ГСРВ. Создается специализированная техническая поддержка графических операций нового поколения, структурные и функциональные решения которой нуждаются в проработке. Этот процесс обусловливает необходимость создания новых концепций, технических средств и технологий, позволяющих эффективно решать задачи моделирования сцен сегодня и в будущем.
В связи с изложенным можно сформулировать цель и основные задачи диссертационного исследования. Целью исследования является
1) создание новой концепции геометрического моделирования и отображения пространственных форм, позволяющей расширить изобразительные возможности ГСРВ;
2) интеграция предложенной концепции в компьютерные технологии геометрического моделирования пространственных объектов в форме специализированных технических и программных средств.
Основные задачи исследования:
1. Выбор укрупненных геометрических примитивов, отвечающих требованиям
формообразования, универсальности, простоты и компактности описания и при этом
отображаемых с помощью быстрых алгоритмов.
2. Разработка эффективных методов и алгоритмов выполнения основных
операций моделирования (отсечения, геометрических преобразований, сопряжения и др.) над укрупненными геометрическими примитивами.
Подтверждение реализуемости геометрического моделирования и отображения объектов на основе укрупненных примитивов в режиме РВ.
Разработка математико-алгоритмического аппарата, программного инструментария и методических рекомендаций для моделирования пространственных объектов.
5. Разработка структурных решений, программных комплексов,
специализированных устройств для моделирования пространственных объектов.
6. Реализация и внедрение разработанных средств геометрического
моделирования и отображения пространственных объектов в ГСРВ, внедрение
теоретических результатов исследования в учебный процесс.
Методы исследования. Решение поставленных задач осуществлялось на основе аналитических и экспериментальных методов. В процессе теоретического обоснования эффективности укрупненных примитивов использован аппарат аналитической геометрии в пространстве, дифференциальной геометрии, векторной алгебры, теории множеств, теории интерполяции, теории матриц. Экспериментальные исследования проводились на основе методов компьютерной графики и компьютерного моделирования как средствами стандартных программных пакетов, так и с помощью специально разработанных программ.
Научная новизна полученных результатов. В диссертационной работе получены следующие новые научные результаты.
Предложена и проработана в основополагающих аспектах концепция геометрического моделирования и отображения пространственных форм в режиме РВ, основанная на применении укрупненных криволинейных примитивов. В рамках концепции впервые обоснована целесообразность параллельного выполнения графических операций в пространстве примитива и в пространстве наблюдателя.
Усовершенствован метод геометрического моделирования аналитических поверхностей на основе кубических кривых, бикубических поверхностей. По сравнению с известными методами усовершенствованный метод имеет более рациональное распределение операций моделирования между этапами прямого и обратного проецирования объекта отображения на картинную плоскость.
Предложено и обосновано расширенное понимание аппарата смешивающих функций для описания и моделирования сложных пространственных объектов. Даны рекомендации по выбору смешивающих функций в различных приложениях.
Предложен метод геометрического моделирования неаналитических поверхностей на основе примитива нового вида, получившего название рельеф-примитива. Математическая модель рельеф-примитива базируется на аппарате смешивающих функций.
Разработаны основные этапы геометрического моделирования пространственных сцен на основе представления укрупненных примитивов в виде объектов.
Предложена организация вычислительного процесса в ГСРВ, основанного на применении укрупненных примитивов, а также разработаны варианты структуры графического конвейера, отвечающие этой организации.
Разработана методика представления рельеф-примитивами сложных пространственных форм, заданных набором характерных точек.
Разработаны структурные и алгоритмические решения по отображению укрупненных примитивов, варианты реализации которых признаны изобретениями.
Практическое значение и реализация результатов исследования. Практическая реализация результатов диссертационного исследования позволяет улучшить основные характеристики ГСРВ: изобразительные возможности и производительность. Наиболее весомыми являются следующие практические результаты.
Применение укрупненных примитивов в геометрическом моделировании позволяет рационально распределить графические операции между ступенями графического конвейера, благодаря чему на порядок снижается число геометрических примитивов в сцене и уменьшается количество действий над элементами отображения (точками) в графическом процессоре. Все это в итоге расширяет изобразительные возможности графической системы с сохранением режима РВ.
Представление укрупненных примитивов в виде объектов позволяет более рационально - с применением распараллеливания и конвейеризации - осуществлять операции моделирования, традиционно выполнявшиеся локализование В частности, большинство операций такого времяемкого этапа отображения, как отсечение,
выполняется над укрупненными описаниями объектов и примитивов - над их оболочками. В результате значительно сокращается время самого затратного подэтапа отсечения - отсечения полигонов, а в графическим конвейере с прямым проецированием объектов на картинную плоскость названный подэтап исключается.
Предложенная организация процесса моделирования является универсальной и может быть реализована как традиционными средствами, так и графическим конвейером нового типа. Второй вариант реализации разработан на основе специализированных вычислительных средств с применением метода прямого проецирования объекта отображения на картинную плоскость. Он характеризуется высокой степенью параллелизма и позволяет упростить выполнение таких операций моделирования и отображения, как отсечение, геометрические преобразования, развертывание, моделирование освещенности и текстурирование примитивов за счет их параллельно-поэтапного выполнения.
Структура графического конвейера, построенная на основе сочетания методов прямого и обратного проецирования объектов отображения на картинную плоскость, содержит центральный процессор, графический препроцессор и традиционный графический акселератор. Предложенное распределение функций между ними позволяет сочетать применение укрупненных примитивов со стандартными техническими средствами. В зависимости от выбранного варианта построения ГСРВ структура конвейера может быть реализована с применением специализированного аппаратного препроцессора или с его программной эмуляцией.
Аппарат смешивающих функций позволяет простыми средствами задавать сложные законы изменения геометрических и визуальных атрибутов моделируемых объектов. На практике набор разновидностей смешивающих функций ограничивается, что позволяет применить табличное вычисление смешивающих функций и значительно снизить время отображения объектов.
Разработанный метод геометрического моделирования неаналитических поверхностей на основе применения рельеф-примитивов позволяет моделировать рельеф, заданный картой высот. Для восстановления промежуточных точек рельефа не требуется дополнительной информации, кроме высот в характерных точках, в то же время по предложенной методике рельеф может "настраиваться" на требуемую конфигурацию.
7. Предложенная концепция геометрического моделирования сцен на основе укрупненных примитивов эффективно реализуется программно-аппаратными средствами. Разработана структура многоканальной ГСРВ, в качестве аппаратной поддержки которой могут использоваться традиционные графические акселераторы и специализированные вычислительные устройства. Разработаны схемы основных специализированных устройств, предназначенных для развертывания, текстурирования и буферизации примитивов. При построении устройств применены такие испытанные приемы достижения режима РВ, как параллельные, конвейерные и табличные вычисления, а также вычисления по приращениям.
Большинство полученных результатов реализовано и внедрено в форме законченных программных продуктов, методик, структур, макетов, алгоритмов, разделов учебных курсов.
На протяжении более чем двадцати лет в Пензенском государственном университете проводятся хоздоговорные работы по тематике геометрического моделирования и отображения, выполняющиеся по заказам одного из ведущих предприятий в отрасли авиационного тренажеростроения - ОАО "Пензенское конструкторское бюро моделирования" (ранее - Пензенское конструкторское бюро моделирующих приборов и машин, ППО "ЭРА", ФГУП "Пензенское конструкторское бюро моделирования"). В процессе выполнения работ создан ряд программно-аппаратных систем электронного синтеза изображений, предъявляемых обучаемому и инструктору авиационного тренажера. За время с 1980 по 2005 годы на указанном предприятии внедрены следующие результаты диссертационного исследования:
для компьютерной и аппаратной генерации изображений применены укрупненные примитивы в виде рельеф-примитивов, поверхностей второго и третьего порядка, частей отображаемых объектов;
построение графического конвейера на основе метода прямого проецирования отображаемых объектов на картинную плоскость и на основе сочетания методов прямого и обратного проецирования, а также предложенное в диссертационной работе распределение графических операций между ступенями графического конвейера и выполнение их в различных координатных системах;
- методики геометрического моделирования сложных объектов, в том числе моделирования местности, описанной картой высот.
В 2000 - 2001 годы проводились исследования по договорам о научно-техническом сотрудничестве с ЦНИТИ "Техномаш" (г.Москва) и ППО "ЭРА" (г.Пенза). На предприятиях использованы следующие результаты диссертационных исследований:
комплекс программ Modeler для геометрического моделирования неаналитических поверхностей (на примере земной поверхности);
методика описания и компьютерного геометрического моделирования неаналитических поверхностей;
схемные решения графического процессора: устройства для развертывания укрупненных примитивов в виде бикубических поверхностей и рельеф-примитивов. Схемные решения представлены в форме макетов и программной эмуляции.
В 1987-2004 годы в Пензенском государственном университете выполнялись комплексные госбюджетные НИР по заказам Минвуза России. Программы НИР включали работы по развитию теории и практики геометрического моделирования пространственных объектов. При выполнении работ использованы следующие результаты диссертационного исследования:
применение укрупненных примитивов в виде квадрик и бикубических поверхностей для компьютерного моделирования аналитических поверхностей, в виде рельеф-сплайнов для моделирования неаналитических поверхностей;
организация процесса отображения с распределением основных графических операций между различными координатными системами: примитива, фрагмента, текстуры, наблюдателя;
алгоритмы выполнения основных графических операций над укрупненными примитивами: развертывания, перспективного проецирования на картинную плоскость, наложения предварительно сжатых текстур, моделирования освещенности;
схемы специализированных устройств для развертывания и текстурирования примитивов;
комплекс программ для описания и геометрического моделирования поверхностей, заданных картой высот;
методики описания и геометрического моделирования поверхностей сложной формы.
Программный комплекс Modeler и методика геометрического моделирования поверхностей сложной формы использованы Пензенским центром научно-технической информации в процессе распространения результатов законченных научно-технических разработок в Поволжском регионе.
Результаты диссертационного исследования внедрены в учебный процесс. Они использованы в ряде дисциплин для подготовки дипломированных специалистов по специальностям 120301 "Землеустройство", 230102 "Автоматизированные системы обработки информации и управления", 230201 "Информационные системы и технологии" и подготовки магистров по программе 552812 "Системы мультимедиа и компьютерная графика" направления 552800 "Информатика и вычислительная техника". Внедрены следующие результаты:
концепция геометрического моделирования пространственных сцен на основе укрупненных примитивов;
понятие смешивающих функций и методика их применения для описания различных законов изменения геометрических и визуальных атрибутов отображаемых объектов;
метод геометрического моделирования неаналитических поверхностей на основе рельеф-примитивов;
вариант организации графического конвейера с графическим препроцессором и распределение операций между ступенями конвейера. Документы о практическом использовании результатов диссертационного исследования приведены в приложении В.
Апробация работы. Основные положения диссертационной работы были представлены на международных и всероссийских научно-технических конференциях (НТК) и симпозиумах различного уровня. За рубежом:
Neural Information Processing. 8th International Conference ICONIP-2001. -China, Shanghai, 2001;
Інформаційно-діагностичні системи. VI Міжнародна НТК "АВИА-2004". -Україна, Київ, 2004.
В Москве и Санкт-Петербурге: Международная НТК "Морские обучающие тренажеры". - С-Петербург, 1999; II Всероссийская НТК "Нейроинформатика-2000".- Москва, 2000; НТК "Тренажерные технологии и симуляторы-2002". - С-Петербург, 2002; Второй международный симпозиум "Аэрокосмические приборные технологии" АПТ'02. - С-Петербург, 2002; 2-я НТК "Тренажерные технологии и симуляторы-2003".- С-Петербург, 2003; Третий международный симпозиум "Аэрокосмические приборные технологии" АПТ'ОЗ. - С-Петербург, 2004.
В регионах Российской Федерации:
V Всероссийский семинар "Нейроинформатика и ее приложения". - Красноярск,
1997; Международная НТК "Континуальные логико-алгебраические и нейросетевые
методы в науке, технике и экономике". - Ульяновск, 2000; Международная НТК
"Интерактивные системы. Проблемы человеко-компьютерного взаимодействия". -
Ульяновск, 2001; Международная НПК "Компьютерные технологии в науке,
производстве, социальных и экономических процессах". - Новочеркасск, 2003.
В г. Пензе:
Всесоюзная НТК "Теория и практика имитационного моделирования и создания
тренажеров", 1988; II Международная НТК "Новые информационные технологии и
системы", 1996; III Международная НТК "Новые информационные технологии и
системы", 1998; Международная НТК "Теория и практика имитационного
моделирования и создания тренажеров", 1998; Международная НТК "Современные
информационные технологии", 2000; IV Международная НТК "Новые
информационные технологии и системы", 2000; Международная НТК "Методы и средства измерения в системах контроля и управления", 2002; V Международная НТК "Новые информационные технологии и системы", 2002; Международная НТК "Проблемы автоматизации и управления в технических системах", 2004.
Результаты внедрения диссертационных материалов в учебный процесс докладывались на научно-методических (НМК) и научно-практических (НПК) конференциях в г. Пензе:
НПК "Роль вузов в формировании творческой интеллигенции на этапе экономических реформ", 1995; II Международная НМК "Университетское образование", 1998;
VI Международная НМК "Университетское образование", 2000; VIII
Международная НМК "Университетское образование", 2004; IX Международная НМК "Университетское образование", 2005; X Международная НМК "Университетское образование", 2006.
Публикации по работе. Основное содержание диссертации и отдельные результаты исследования опубликованы в 45 печатных работах, из которых одна -монография, 30 - статьи, 11 - тезисы докладов, 3 - патенты и авторские свидетельства. Материалы двух докладов и одна статья опубликованы за рубежом. В научных изданиях из рекомендованного ВАК перечня опубликовано 8 статей.
Структура и краткое содержание диссертации. Диссертация состоит из введения, пяти разделов, заключения, списка использованных источников из 211 наименований, 3 приложений.
Во введении показано место и значение геометрического моделирования в графических системах различного назначения. Приведен сравнительный обзор используемых в них геометрических примитивов, изложены требования к геометрическим примитивам нового поколения графических систем. Сформулированы цели и задачи диссертационного исследования, показаны научная новизна и практическое значение полученных результатов. Приведены сведения о их апробации и внедрении.
Анализ форм пространственных объектов и способов их описания
Многообразие объектов геометрического моделирования породило множество способов их представления. Однако если говорить об объектах систем РВ и абстрагироваться от их функционального назначения, то можно утверждать, что они являются трехмерными геометрическими объектами [26,145] и что особенности их внешнего вида и поведения определяются их происхождением. По последнему признаку объекты разделяются на две группы: антропогенные (рукотворные) и натурогенные (природные). Поверхности антропогенных объектов могут описываться (хотя бы по частям) аналитическими функциями, что обусловлено самими методами, применяемыми человеком при их проектировании и изготовлении. Поверхности натурогенных объектов точно описать аналитически, как правило, невозможно. С другой стороны, вычислительные затраты процесса синтеза изображений значительно зависят от геометрических размеров отображаемых объектов. По этому признаку объекты можно разделить на протяженные и локализованные в пространстве. Из локализованных в пространстве объектов можно выделить в отдельную группу точечные объекты, так как их описание отличается от описаний прочих локализованных объектов. Наконец, сложность алгоритмов моделирования зависит от способности объектов отображения перемещаться в пространстве (статические и динамические объекты). Специфика моделей трехмерного моделирования обусловлена необходимостью передавать ощущение глубины пространства и пространственной формы объектов. Существенное влияние на построение модели оказывает требуемый уровень подобия синтезированного изображения реальной картине. Различают три таких уровня [44]: физическое, физиологическое и психологическое подобие. При построении модели на уровне физического подобия геометрические, энергетические и временные характеристики синтезированного изображения должны полностью соответствовать аналогичным характеристикам реальной картины. Например, для описания объекта в виде чайника нужно использовать криволинейные поверхности сложной формы, какие имеют место в реальности. При физиологическом подобии соответствие модели и реальной картины устанавливается на уровне зрительных ощущений. Модель лишь приближенно передает характеристики реальной картины, однако, благодаря ограниченным возможностям зрительного аппарата, наблюдатель не ощущает возникающих различий. Например, модель чайника состоит из набора плоских участков небольшого размера, не различаемых глазом с расстояния наблюдения. Наконец, психологическое подобие предполагает, что модель, существенно отличаясь по своим характеристикам от реальной картины, создает у наблюдателя адекватное ей зрительное ощущение ("обман глаза"). Так, чайник может быть представлен плоской хорошо "раскрашенной" моделью, не позволяющей показать объект с противоположной стороны. В ГСРВ, как правило, используется физиологическое подобие синтезированного объекта реальной картине (второй уровень подобия). Оно позволяет строить модели, верно отражающие основные закономерности трехмерного мира, и в то же время реализовать их с разумными затратами на основе допустимого упрощения этих закономерностей. Поэтому далее будем рассматривать модели объектов отображения, отвечающие только второму уровню подобия.
Чтобы проанализировать способы, применяемые для моделирования пространственных объектов в ГСРВ, проведем краткий обзор математических моделей компьютерной графики. Их классификация нашла место в публикациях многих авторов [26,44,131,145,152,166], которые, при ближайшем рассмотрении, подходят к этому вопросу по-разному. В связи с этим обзор моделей проведем на основе ограниченного числа логически непротиворечивых признаков представления объектов. Во-первых, модели объектов следует различать по их топологическим свойствам, от которых зависит полнота описания конфигурации объектов. По этому признаку можно выделить твердотельные, поверхностные, каркасные и точечные модели. Твердотельные модели представляют объекты как сплошные тела, т.е. в виде сочетания всех точек объема, занимаемого объектом в пространстве. Поверхностные модели несут информацию обо всех точках пространства, принадлежащих поверхности объекта, а внутренние точки в них не учитываются. Каркасные модели тоже дают представление только о поверхности объекта, но описывают поверхность как сочетание принадлежащих ей дискретных элементов каркаса - точек или линий. Информация о точках поверхности, лежащих между элементами каркаса, отсутствует. Перечисленные виды моделей бессмысленно применять к описанию точечных объектов, так как в этом случае описательные ("представительные") возможности моделей фактически не используются. Поэтому для описания точечных объектов введены модели, специально предназначенные для этого - точечные модели. Они несут геометрическую информацию лишь о местоположении объектов. Соответствие между классификационными группировками, выделенными по указанным признакам, показано на рисунке 1.1.
На структуру и сложность моделей решающим образом влияет выбор примитивов. Внешний вид, а следовательно, и изобразительные возможности примитивов, зависят от степени описывающих их функций (многочленов). Этот признак можно использовать для классификации моделей по форме составляющих их примитивов. Выделим модели, у которых описания примитивов имеют нулевую, первую и более высокую степени.
Описание нулевой степени характерно для точек. Набором точек, заданных с достаточной плотностью, можно представить поверхность любой сложности и формы. Набором пространственных элементов (вокселей) представляются и твердотельные объекты. Описанием таких наборов могут служить трехмерные матрицы, элементы которых указывают на принадлежность объекту элементов пространства, поставленных в соответствие элементам матрицы. Такие модели называют рецепторными.
Требования к форме и описанию криволинейных примитивов
Можно сформулировать три основных требования к геометрическим примитивам ГСРВ.
1. Примитивы должны иметь формообразующие возможности, адекватные геометрическим задачам. Это означает, что все объекты каждой новой сцены должны представляться с заданным качеством с помощью такого количества примитивов, для отображения которого в режиме РВ не нужно создавать новых специализированных средств.
2. Описание примитивов должно отвечать принципу индивидуального представления. Он предполагает, что изменение каждого управляющего воздействия на входе графической системы должно вызывать строго определенное изменение внешнего вида изображения на информационном поле и притом только одно. На практике соблюдение этого принципа означает, что для изменения некоторого параметра геометрического объекта должен служить один определенный входной параметр. Несоблюдение указанного принципа ведет к усложнению программной или аппаратной реализации вычислительного процесса.
3. Форма описания примитивов должна выбираться таким образом, чтобы алгоритмы основных графических операций были бы возможно более простыми. Под простотой понимается по возможности минимальное количество ресурсоемких операций (деления, перемножения и т.п.). Более простые алгоритмы имеют и более простую реализацию, в том числе и в режиме РВ.
Поясним суть изложенных требований на примерах. Простые алгоритмы обработки имеют примитивы-полигоны. Однако современные требования к реалистичности изображений приводят к сценам, состоящим из миллионов полигонов. Каждый полигон имеет минимум три вершины, каждая из которых описывается тремя пространственными координатами и тремя координатами вектора нормали. С ростом разрешения экранов растет и разрядность этих данных. К ним добавляются как минимум две координаты текстуры или три координаты цвета для каждой вершины. В результате для хранения полигональной информационной модели сцены требуется много памяти, а при передаче вершин на обработку (в графический процессор) информационный поток может иметь такую интенсивность, с которой не справится шина передачи данных [24,108]. Хорошими изобразительными возможностями для моделирования пространственных объектов обладает криволинейная поверхность. В качестве примера рассмотрим квадратическую и бикубическую поверхности. Универсальным описанием квадратической поверхности (квадрики) является уравнение в общей форме. Для простоты рассматривается квадрика без возможности поворотов: Ах2 +By2 + Cz2 + Dx + Ey + Fz + G = 0.
Коэффициенты А Д..., G определяют характерные особенности внешнего вида поверхности: ее тип, размер, сдвиг. Такое описание не удовлетворяет принципу индивидуального представления, так как изменение любого коэффициента влияет на несколько параметров поверхности и, наоборот, - для управления одним параметром поверхности нужно одновременно изменять несколько коэффициентов уравнения. Покажем это на примере эллипсоида. Приведя общее уравнение к каноническому виду, получим а остальные обозначения очевидны. Анализ канонического уравнения показывает, что изменение, например, коэффициента D влияет не только на смещение поверхности по горизонтали (D входит в х0), но и на размер эллипсоида (D входит в R). С другой стороны, для изменения одной полуоси эллипсоида, например, горизонтальной, нужно пересчитать коэффициенты А и Д так как изменение только коэффициента А приведет к "несанкционированному" смещению эллипсоида. К тому же линейное изменение А вызывает нелинейное изменение размера, так как в делитель А ААг ААВ ААС А А входит и в первой, и во второй степени. Следовательно, при описании поверхности примитива общим уравнением алгоритм управления параметрами поверхности будет усложненным. Использование канонического уравнения эллипсоида (x-xj (y-yj {z-zj 2 7 2 2 l a b с где x0,y0,ZQ - координаты центра поверхности; a,b,c - полуоси эллипсоида, удовлетворяет принципу индивидуального представления, но характеризуется многозначностью. Для расчета пространственных координат поверхностных точек эллипсоида уравнение используется в следующей форме: Z = Zn±J\ ( - о)2 (.У-.Уо)2 0 — А 2 J 2 а о которая для каждого сочетания аргументов дает два значения координаты z. Кроме того, последнее выражение включает операции возведения в квадрат и вычисления радикала, что в сочетании с логической операцией выбора сопряженных значений радикала делает алгоритм синтеза поверхности сложным и времяемким.
Не спасает от усложненности алгоритма и выбор весьма распространенной параметрической формы описания поверхности. Например, описание эллипсоида через сферические (полярные) координаты (р,6 имеет вид х - a sin в cos (р , (2.1) y = bsm9-sin p, z = ccos0, (р,в = 0,..,2л, где a,b,c - полуоси эллипсоида.
Выражения характеризуются однозначностью описания поверхности и отвечают принципу индивидуального представления, но содержат времяемкие операции вычисления и перемножения тригонометрических функций. В [137] предлагается вычислять значения тригонометрических функций по приращениям. Применим этот прием для эллиптического параболоида. Его поверхность можно описать системой уравнений следующего вида х = д/2/? -us mq), у = J2q -ucosq), z = u , р = 0,..,2я, и = 0,..,итах, где д/2/7, sjlq - величины, определяющие размеры полуосей эллипсов-сечений параболоида плоскостями, параллельными оси z. Для кругового параболоида две последовательно формируемые точки (/ -я и (/+1)-я) рассчитываются по выражениям Ху =j2p -UjSmpj, уі]=л/2р-иісо8(р], xi(j+\) = АЙ? Щ sin( y + А(РІ УіО+\) = АДР м/ C0S((Pj + А(РІ где А(р- шаг по параметру р.
Используя известные выражения для тригонометрических функций суммарного угла и выполнив очевидные подстановки, можно получить формулы ,a+„= sinA + x0.cosA , yiu+n=y,jcosA P xus]nb(P в которых тригонометрические функции имеют постоянные значения, так как приращение А(р постоянно. Нужно только один раз вычислить sin 0 и cos 0 при расчете положения начальной точки координатной линии для каждого значения параметра и. Таким образом, в случае парабалоида удалось освободиться от время емких операций вычисления тригонометрических функций. Однако другой пример - пример эллипсоида - дает иной результат.
Математическое описание поверхностей второго порядка
Поверхности многих объектов отображения успешно аппроксимируются поверхностями второго порядка - квадриками. Основными квадриками, которые имеет смысл рассмотреть применительно к отображению объектов в режиме реального времени, являются поверхности эллипсоида, эллиптического цилиндра, конуса, эллиптического параболоида и однополостного гиперболоида. Характерной особенностью этих квадрик является наличие замкнутых сечений хотя бы одной координатной плоскостью (или плоскостью, параллельной ей). Эта особенность позволяет привести описание квадрик к одной форме и выполнять их развертывание по замкнутым координатным линиям. Под термином "развертывание поверхности" будем понимать последовательный расчет точек поверхности в процессе сканирования аргументов координатной системы. Во избежание описания многозначными функциями, квадрики следует описывать параметрически связанными уравнениями. Вариантов такого описания много, недостатки некоторых из них показаны в 1.5, 2.2. Рациональную форму описания можно предложить, исходя из упомянутой особенности квадрик: их поверхности следует формировать как набор замкнутых сечений, перпендикулярных одной из координатных осей СКП. В этом случае в качестве параметров описания нужно выбрать координаты z и р цилиндрической системы координат. Обозначим х У,/ координатные оси СКП. Ось z цилиндрической системы координат совпадает с осью аппликат декартовой СКП. Тогда zs - высота s-то сечения квадрики, перпендикулярного оси z. Угловой параметр (р характеризует положение текущей точки на выбранном сечении, как это показано на рисунке 3.1. Общее описание квадрик в СКП имеет вид (3.1) хр = fxcos p, ур =fysmcp, zp =z p = 0,..,2л, z zmax zmax » где fx , fy - функциональные (зависящие от z) коэффициенты, определяющие геометрические параметры поверхности.
Коэффициенты fx , fy для выбранных квадрик приведены в таблице 3.1, в которой, кроме того, показаны координаты вектора нормали N в СКП (nx,ny,nz).
В таблице 3.1 приняты следующие обозначения: а и b - полуоси эллипсов-сечений, перпендикулярных оси z и проведенных для эллипсоида и однополостного гиперболоида на уровне z=0, для эллиптического параболоида -на уровне 2=1, для конуса - на уровне z=c , а для эллиптического цилиндра - на любом уровне; с -третья полуось эллипсоида, мнимая полуось однополостного гиперболоида и величина, влияющая на угол при вершине конуса.
Форма описания квадрик (3.1) включает неудобные для реализации тригонометрические функции. Чтобы избавиться от тригонометрических функций, их можно с заданной точностью аппроксимировать кубическими сплайн-функциями [54,60,83,86]. Выбор аппроксимирующей функции проведем, исходя из третьего требования к описанию примитивов (простота алгоритмов). Универсальным средством аппроксимации кривых являются рациональные кубические 5-сплайны, достоинства которых описаны в 1.2.2. Однако для целей компьютерного моделирования в режиме РВ они не годятся из-за ряда недостатков, описанных в 1.5. Основной из них - большие вычислительные затраты на развертывание сплайна. Гораздо меньше затрат требует моделирование объектов на основе элементарного (нерационального) 5-сплайна, еще менее затратен элементарный сплайн Безье. Оба сплайна обладают гладкостью и инвариантностью к аффинным преобразованиям динамики. Нерациональные сплайны неинвариантны относительно центрального проецирования, однако со всех остальных точек зрения они хорошо подходит для описания примитива. Оценим их возможности для аппроксимированного представления квадрик. Для определенности рассмотрим аппроксимацию примитива сплайновой кривой Безье.
Описание одного участка аппроксимации квадрики в СКП (координаты аппроксимированной текущей точки хр,ур,zp) получает следующий вид. - В координатной форме, включающей опорные точки: " =Л((1- )У +3ф- )2х +3t2(\)x +1}хЦ), " yP=f lfyP+3,(lfyP +3t2(l)yr -HV) L (3.2) z = z, г = 1),...,1, z = zm-m..zmax, где t - новый параметр, связанный с ср соотношением і = ( р- Рі)/( Рц-(Рі), (P-WL BA (Уь PR - левая и правая границы участка аппроксимации, соответственно); xf ,...,хр,yf ,...,уР- координаты опорных точек сплайн-функции на участке аппроксимации (в плоскости сечения zp - zi). В форме полинома третьей степени: где Ax,...,DXfAy,...,Dy- коэффициенты, зависящие от координат опорных точек: х "" 1 ЗХп ЗХп г Хд ; І5у. — Э\Хл -ZX і Хп ), Ly — 3 Xi "г Х J "х — 1 4 = - + 3 - М + . Ву = 3(ур - 2уР + ур), С = 3(-ур + ), , = ур . В качестве примера в табл.3.2 приведены координаты опорных точек для случая аппроксимации сечения квадрики четырьмя кривыми Безье. Значения координат найдены из условий совпадения граничных точек исходной и аппроксимирующей кривых, а также их производных в этих точках.
Приведенное представление квадрик имеет следующие особенности. Если рассматривать его в диапазоне zp =zm-m..zmax, оно с некоторой погрешностью описывает сегмент квадрики, то есть своеобразный укрупненный криволинейный примитив. Подбор размеров сегмента позволяет получить погрешность, не превосходящую заданного значения. Координаты опорных точек не зависят от формы отображаемой поверхности, так как определяются только видом аппроксимируемых сплайнами функций, а они для всех поверхностей одни и те же: sin и cos / .
Геометрический примитив в виде участка незамкнутой поверхности произвольной формы
В. Преобразования в режиме реального времени: параллельное вычисление координат текущих точек сплайна в СКН (выражения (3.18)) и координат нормалей в этих текущих точках в СКП (выражения (3.33),(3.34)). На этапе реального времени в качестве аргументов вычислений в обеих системах координат используются дискретные отсчеты хп , уп (см. (3.38),(3.40)). Благодаря этому вычисления координат в СКН и нормалей в СКП относятся к одним и тем же точкам. В СКН определяются три координаты текущей точки сплайна - Xs, у\ zs. Поскольку в СКН проведена перспективная трансформация пространства, центральное проецирование текущих точек примитива на экранную плоскость заменяется параллельным проецированием. Тогда координаты х\ ys текущей точки в пространстве наблюдателя являются и экранными координатами этой точки (ее проекции на экран). Третья координата zs используется для работы z-буфера. В СКП координаты нормали в текущей точке поверхности сплайна используются для расчета освещенности этой точки источником света. Для этого источник света должен быть предварительно переведен из СКН в СКП.
В силу неинвариантности нерациональных сплайнов по отношению к центральному проецированию поверхность (3.40), проведенная через перспективно расставленные опорные точки, отличается по форме от проекции поверхности, полученной по корректным выражениям проецирования (2.10). Однако следует заметить, что поверхность (3.40) продолжает проходить через граничные точки, заданные в СКП и переведенные в СКН. Для поверхности Безье это легко установить, задав граничные значения аргументов х?у. Такая проверка проведена в 3.1.2 для кривой Безье (см. выражения (3.12),(3.13)), а на поверхности Безье каждая линия развертывания является кривой Безье. В случае 5-сплайна неизменность границ вытекает из самого принципа формирования поверхности. Действительно, рассмотрев любую точку границы между двумя соседними отсеками 5-сплайна, можно представить ее относящейся сначала к первому, а затем ко второму отсеку. В обоих случаях на координаты граничной точки влияют одни и те же опорные точки сплайна с одними и теми же значениями смешивающих функций.
Таким образом, при перспективной трансформации поверхностей они остаются непрерывными. Следовательно, перспективная неинвариантность проявляется в искажении формы поверхности между ее границами. В 3.1.2 проведена оценка методической погрешности, возникающей из-за проективной невариантности пространственной кривой Безье. Показано, что эта погрешность относительно невелика и не является препятствием для формирования сплайнов на основе перспективной трансформации пространства наблюдателя. Результаты можно распространить на сплайновые поверхности. Поверхность сплайна рассматривается как результат параллельного перемещения сплайновой кривой-образующей по сплайновой кривой-направляющей [136]. Следовательно, каждая кривая развертывания поверхности сплайн-примитива является сплайновой кривой. В итоге, методическая погрешность формирования сплайновой поверхности не превышает погрешности формирования сплайновой кривой.
Еще одно проявление проективной неинвариантности сплайнов - изменение направлений касательных к примитивам в граничных точках. Последнее обстоятельство может привести к появлению ребер на стыках отсеков составной поверхности. Однако предложенная концепция параллельного выполнения преобразований в различных координатных системах позволяет устранить этот недостаток. Для моделирования освещенности поверхности нужно использовать положения нормалей, рассчитанные в СКП, т.е. там, где искажений формы сплайна нет. Тогда, несмотря на некоторое искажение формы поверхности в СКН, ее затенение оказывается правильным и скрывает наличие ребер. Такой прием используется, например, для устранения ребер на полигональной поверхности в модели освещенности Фонга [154]. Моделирование отображения сплайна иллюстрируется рисунком 3.5, где показана составная поверхность из четырех сплайновых отсеков. Изображение на рисунке 3.5,а соответствует расчету нормалей отсеков в СКН, а на рисунке 3.5,6 - в СКП. Второй подход дает эффект более гладкой поверхности.
В итоге, геометрическое моделирование сплайн-примитивов осуществляется в двух координатных системах: СКП и СКН. Вычислительно затратное проецирование текущих точек сплайна на картинную плоскость заменяется проецированием только опорных точек, что ускоряет процесс отображения. Возникающая по этой причине методическая погрешность моделирования формы невелика и не наблюдается визуально при корректном моделировании освещения примитива. Вычисление координат нормалей и текущих точек сплайна протекают по идентичным алгоритмам с использованием быстрого метода конечных разностей. Если используется стандартная техническая поддержка процесса отображения, то текущие точки сплайна и их нормали принимаются за вершины и нормали полигональной модели поверхности.