Содержание к диссертации
Введение
1. Алгебра кватернионов в основе моделирования поверхностей
Введение 15
1.1. Алгебра кватернионов 15
1.2. Представление кватерниона на сфере 25
1.3. Преобразование вращения 33
1.4. Геометрия на сфере 40 Выводы к главе 1 50
2. Теория конечного поворота твердого тела
Введение 51
2.1. Ортогональные преобразования 53
2.2. Представление ортогонального преобразования в форме умножения кватернионов 62
2.3. Преобразование базисов 66
2.4. Преобразование компонент неизменного вектора. Гиперкомплексное отображение 69
2.5. Инвариантность операций вращения. Параметры Родрига - Гамильтона 71
2.6. Сложение поворотов 77
Выводы к главе 2 85
3. Моделирование поверхностей с применением методов ориентации твердого тела
Введение 86
3.1. Выбор системы координат и поверхности проецирования 86
3.2. Тесселяция поверхностей 91
3.3. Алгоритмы в основе моделирования поверхностей 96
3.4. Связь кинематических параметров и алгоритмов ориентации твердого тела
3.5. Сравнительный анализ алгоритмов 110
Выводы к главе 3 115
Заключение 117
Список литературы
- Алгебра кватернионов
- Преобразование вращения
- Представление ортогонального преобразования в форме умножения кватернионов
- Выбор системы координат и поверхности проецирования
Введение к работе
Актуальность темы исследования. Развитие вычислительной техники и необходимость автоматизации производства требуют разработки современных программ геометрического моделирования и проектирования. Основным инструментом проектирования современной техники являются САПР и СГМ, базовым элементом которых являются методы геометрического моделирования и графики. Методы и алгоритмы компьютерной графики, входящие в состав производственных технологий, напрямую определяют качество конечного продукта и существенно повышают конкурентоспособность. От наличия развитых средств моделирования и проектирования во многом зависит успешное выполнение проектов и дальнейшее их развитие. Существующие на сегодняшний день системы проектирования продолжают развиваться и совершенствоваться одновременно с разработкой новых алгоритмов вычислительной геометрии. Качественно повысить производительность и эффективность графических приложений можно путем совершенствования методов линейной алгебры и аналитической геометрии, которые представляют собой теоретическую основу компьютерной графики и также развиваются, но со значительно меньшей скоростью. Таким образом, для достижения высокой производительности систем геометрического моделирования и проектирования необходим правильный выбор базового уровня. При этом становится актуальной разработка эффективных алгоритмов компьютерной графики, возможности которой исследованы недостаточно.
В прикладной геометрии и компьютерной графике важную роль выполняет ортогональное проецирование. Прямоугольные аксонометрические проекции рекомендованы к применению Единой системой конструкторской документации в силу наглядности технических изображений, построенных с их помощью. Прямоугольное проецирование используется всюду, где требуется сохранение пропорций объектов. Конечным результатом моделирования
5 является создание на экране проекции сцены. Для создания реалистичных сцен широко используются ортогональные и перспективные проекции. САПР позволили значительно упростить процесс проектирования. Для проектирования объекта используются следующие преобразования: сдвиг, масштабирование и ориентация объекта в виртуальном пространстве. Создающаяся при этом иллюзия заставляет забыть пользователя, что он работает с экранной проекцией. Системы визуализации истинно объемных изображений пока еще слабо распространены и далеки от совершенства.
Процесс автоматизации проектирования требует не только освоения интерфейса новых программ моделирования, но и приобретения навыков программирования (например, встроенный в AutoCAD внутренний язык LISP). Ядро САПР (графический «движок»), как правило, не доступно широкому кругу специалистов. Дизайнеры проектируют с помощью предлагаемого им интерфейса систем геометрического моделирования и внутреннего языка и не задумываются об основах, на которых построен интерфейс и язык. Произведя оптимизацию и правильный выбор основы, на которой будет построена программа моделирования, можно значительно упростить и ускорить процесс обработки сцены. Изменив аналитические преобразования, которые используются на базовом уровне и занимают большую часть времени, можно получить качественное повышение эффективности компьютерного моделирования. По этой причине верхний уровень графических библиотек часто является бесплатным и открытым, а нижний эффективный уровень платный или не распространяется.
С введением французским философом, математиком, физиком Рене Декартом (1596-1650) метода прямолинейных координат и дальнейшей его систематизацией французским математиком Пьером Ферма (1601-1665) устанавливается связь геометрии и алгебры, которая послужила основой для развития аналитической геометрии. Одной из наиболее успешных геометрических интерпретаций алгебры является использование комплексных чисел для описания геометрии на плоскости. Теория функций комплексного пере-
менного французского математика Опостена Коши (1789-1857) позволяет наиболее адекватно отразить связь функций на комплексной плоскости и в реальных физических процессах.
Стремясь найти для изучения геометрии пространства столь же удобный аппарат как комплексные числа при решении задач на плоскости, английский математик и механик Вильям Роуан Гамильтон (1805-1865) вводит в математику теорию кватернионов, которая послужила одним из источников развития векторного анализа. До середины прошлого века кватернионы не нашли какого-либо практического применения и служили примером формальной математической модели четырехмерной линейной алгебры.
Теорема Фробениуса отрицает возможность расширения поля комплексных чисел с коммутативным законом умножения элементов, результат которого не зависит от перестановки сомножителей. До настоящего времени считается невозможным обобщение числа в пространство и не найдено других логических представлений кроме действительных и комплексных чисел, которые могут быть успешно использованы в математике. Расширение поля чисел в /7-мерное пространство с соблюдением законов алгебры действительных и комплексных чисел - одна из основных проблем математики. Попытка расширить поле комплексных чисел привела к появлению новых чисел -объектов. Эти объекты получили название делителей нуля. Появились новые числа не равные нулю, дающие в произведении нуль. Исключить появление этих чисел возможно путем отказа от коммутативности умножения. В результате появились алгебры со скалярным, векторным, спинорным и тензорным умножением, не соответствующие классическим законам чисел.
В. И. Елисеев в своих исследованиях [24] описывает естественную геометрию, построенную на базе алгебры с классическими операциями чисел, определяющей структуру пространства, которая в свою очередь должна соответствовать структуре периодической таблицы элементов Д. И. Менделеева и являться основой теории гравитации.
7 Основные результаты классической теории углового движения твердого тела были получены в XIX веке. Для описания движения твердого тела около неподвижной точки был предложен ряд кинематических параметров, таких, как параметры Родрига - Гамильтона, параметры Кейли - Клейна, углы Эйлера - Крылова и направляющие косинусы. Усилия исследователей в то время были направлены на поиски удобной формы представления уравнений и к отысканию интегрируемых случаев движения. После этого центр тяжести исследований переместился в область прикладной теории гироскопов. При этом движение твердого тела задавалось исключительно углами Эйлера - Крылова, которые нашли широкое применение во всех работах по механике, в том числе и в работах по исследованию управления движущимися объектами. Кроме того, в теоретических работах применялся также матричный аппарат; при этом положение тела задавалось направляющими косинусами. Другие способы описания углового движения упоминались главным образом для полноты изложения.
В середине прошлого века положение изменилось. Развитие систем управления летательными аппаратами, использование цифровых вычислительных машин в управлении движением привели к тому, что практическое значение приобрело рациональное описание пространственного движения твердого тела в различных задачах управления. К таким задачам относятся, в частности, построение бесплатформенных (бескардановых) инерциальных систем, построение систем управления пространственными разворотами, ориентацией и стабилизацией твердого тела. Использование углов Эйлера -Крылова в этих задачах связано с некоторыми неудобствами. Любая система углов, по существу, моделирует некоторый карданов подвес. При определенных значениях углов происходит вырождение кинематических уравнений, отражающее эффект складывания рамок этого подвеса. Такое вырождение уравнений не вызвано реальными физическими ограничениями, накладываемыми на угловые движения твердого тела. Кроме того, интегрирование кинематических уравнений и преобразование координат в углах Эйлера - Кры-
8 лова связаны с тригонометрическими операциями, которые снижают эффективность использования ЭВМ.
Среди всех кинематических параметров особое место занимают параметры Родрига - Гамильтона и Кейли - Клейна. Эти параметры не вырождаются при любом положении твердого тела, в отличие от углов Эйлера. Число этих параметров равно четырем, поэтому они имеют одно уравнение связи, в отличие от шести для направляющих косинусов. Все это упрощает задачу численного интегрирования кинематических уравнений. Кроме того, параметры Родрига - Гамильтона (и Кейли - Клейна) дают возможность эффективно решать многие вопросы теории конечного поворота твердого тела, устойчивости управляемого движения и т. п. Несмотря на такого рода преимущества, использование этих параметров осложняется тем, что оно приводит к применению векторной теории конечного поворота или же к стереографическому проецированию и унитарным преобразованиям, не имеющим простого геометрического смысла. Использование параметров Родрига — Гамильтона позволяет эффективно решать задачи ориентации твердого тела.
Применение кватернионов позволило представить в единой векторной форме бесконечно малые вращения, определяющие вектор угловой скорости, и произвольные преобразования, являющиеся конечными поворотами. Кватернионы дают чрезвычайно удобный аппарат для исследования кинематики движения твердого тела, что объясняется дуализмом кватернионных единиц, являющихся, с одной стороны, ортами реального трехмерного пространства, а с другой - операторами преобразования. Благодаря такому свойству кватернионов параметры Родрига - Гамильтона и Кейли - Клейна получают простое геометрическое и физическое содержание [9].
Наиболее распространенные на сегодняшний день цифровые вычислительные машины, используемые во многих областях человеческой деятельности, требуют развития математического программного обеспечения. Применение математических методов в компьютерном моделировании позволяет решать сложные задачи науки и техники с высокой точностью и в короткие
9 сроки. В компьютерной графике широко используются математические методы аналитической геометрии. Правильно смоделированный на ЭВМ объект исследования или физическое явление позволяет производить научные эксперименты и опыты с меньшими затратами, на более высоком уровне безопасности и без разрушения исследуемого материального объекта,
На сегодняшний день разработано и широко распространено графическое программное обеспечение. Возросшая производительность и снижение стоимости микроэлектроники привели к универсализации вычислительной техники, которая используется в сфере развлечений, для решения научных задач, на производстве (САПР, СГМ) и т. д. Верхний уровень программного обеспечения изменяется в зависимости от решаемых задач, а нижний базовый уровень систем становится более универсальным. Наибольшее распространение получили две низкоуровневые графические библиотеки: OpenGL и DirectX Graphics. Большая часть графических сопроцессоров, производимых в настоящее время, поддерживают обе графические библиотеки. В конце прошлого века по ряду причин потребовалось разделить центральный процессор, содержащий математический сопроцессор, с геометрическим сопроцессором. Некоторые специалисты считают, что снижение стоимости производства микроэлектронных схем и повышение производительности центрального процессора позволит в будущем вновь объединить эти процессоры. Но в настоящее время мощность геометрических сопроцессоров приближается к мощности центральных процессоров и уже превосходит их по количеству транзисторов, число которых измеряется сотнями миллионов. Такое количество элементов потребовалось для создания реалистичных объемных изображений с использованием текстур, динамического освещения и программируемых вершинных и пиксельных затенений.
В настоящее время базовый уровень открытых графических библиотек является основой для разработчиков графического программного обеспечения и аппаратных средств. Но существует множество систем проектирования, использующих собственные графические библиотеки, для которых раз-
10 рабатываются узкоспециализированные аппаратные средства. Стоимость таких систем значительно выше, а описания методов, алгоритмов и графических библиотек базового уровня, которые были использованы при их проектировании, не доступны широкому кругу специалистов. Развитие базового уровня открытых графических библиотек идет в направлении повышения реалистичности с помощью использования новых эффектов. Другим направлением развития является внедрение поддержки различных методов преобразований. Например, поддержка кватернионов, которые используются как альтернатива матричному аппарату и имеют ряд преимуществ.
Существует также деление CAD/CAM/CAE-систем на системы верхнего, среднего и нижнего уровня. В настоящее время возможности систем среднего уровня приближаются к возможностям систем верхнего уровня, а системы нижнего уровня становятся трехмерными.
Примерами CAD/CAM-систем верхнего уровня являются Pro Engineer, Unigraphics, CATIA, EUCLID, I-DEAS. Наибольшее распространение получили два типа твердотельных геометрических ядер: Parasolid от фирмы Unigraphics Solutions и ACIS от Spatial Technology. Наиболее известными CAD/CAM-системами среднего уровня на основе ядра ACIS являются: ADEM, Cimatron, Mastercam. CAD/CAM-системы среднего уровня на основе ядра Parasolid: MicroStation Modeler, CADKEY, Pro Desktop, SolidWorks, Unigraphics Modeling. CAD-системы нижнего уровня (например, AutoCAD LT, Medusa, TrueCAD, КОМПАС, БАЗИС) применяются в основном при автоматизации чертежных работ.
Многие из перечисленных систем используют аппаратное ускорение с использованием графических акселераторов, широкое распространение которых повышает актуальность темы исследований.
Таким образом, для создания современных эффективных систем геометрического моделирования необходимо развивать имеющиеся теоретические и практические достижения. Указанные обстоятельства подтверждают актуальность темы исследования, ориентируя его на системное решение про-
блемы выбора и оптимизации базового уровня СГМ при разработке графического ядра.
Объектом исследования является базовый уровень СГМ (графический «движок»), основанный на геометрических методах и алгоритмах описания движения твердого тела около неподвижной точки.
Предметом исследования является геометрическое моделирование поверхностей, используемое при моделировании и проектировании объектов сложной структуры.
Цель работы. Основными целями диссертационной работы являются повышение эффективности существующих методов и алгоритмов описания движения твердого тела около неподвижной точки и их применение в качестве основы для проектирования и моделирования поверхностей.
Цель работы достигается с помощью проведения теоретических и экспериментальных исследований, результаты которых положены в основу разработанной программы.
Задачи исследования:
Исследовать и оптимизировать геометрические методы и алгоритмы движения твердого тела около неподвижной точки при реализации на ЭВМ.
Разработать базовый уровень СГМ на основе рассматриваемых методов и алгоритмов.
Применить разработанное графическое ядро для моделирования поверхностей.
Методика выполнения работы. При выполнении работы использован системный подход. Решение задач диссертационной работы основано на методах геометрического моделирования и компьютерной графики, которые в свою очередь базируются на методах начертательной, аналитической, вычислительной и проективной геометрии; математического и численного анализа; теории механизмов и машин.
Теоретической основой настоящего исследования являются работы известных российских и зарубежных ученых в области ориентации твердого
12 тела и компьютерной графики, а также техническая документация аппаратных и программных средств современной вычислительной техники. Большая часть первых двух глав диссертационной работы приведена в реферативной форме с целью теоретического обоснования работы, в силу фундаментальности используемой теории.
Научная новизна. Научная новизна теоретических и прикладных результатов настоящего исследования состоит в следующем:
1. Исследованы методы и алгоритмы описания движения твердого тела
около неподвижной точки с использованием ЭВМ.
2. Аналитически доказаны и экспериментально подтверждены пре
имущества использования различных алгоритмов описания и движения твер
дого тела около неподвижной точки. Применен алгоритм, основанный на ис
пользовании кватернионов, который позволяет производить моделирование
поверхностей в обобщенном виде.
Определена область использования и направления дальнейшего распространения преобразований. Исследованы возможности эффективного компыотерного геометрического моделирования с использованием методов и алгоритмов описания и движения твердого тела около неподвижной точки.
Разработана методика исследования и оценки эффективности алгоритмов. Для оценки и сравнения методов и алгоритмов использовалась координатная форма преобразований и абстрактная геометрическая машина.
Методы и алгоритмы опробованы и реализованы в виде методического и программного обеспечения. Разработана программа моделирования поверхностей, в которой использованы рассматриваемые методы и алгоритмы.
Предлагается расширить область применения методов и алгоритмов для моделирования физических процессов с использованием ЭВМ,
Практическая ценность. В результате выполненного исследования:
Создана основа для разработки новых геометрических методов и алгоритмов, которые позволят эффективно решать задачи компьютерной графики и моделирования физических процессов с использованием ЭВМ.
Разработаны алгоритмы на языке программирования Си, которые могут быть положены в основу систем моделирования и проектирования.
Определены преимущества и недостатки методов и алгоритмов описания движения твердого тела около неподвижной точки и область их применения.
Разработана методика исследования и оценки эффективности алгоритмов на основе координатной формы преобразований и абстрактной геометрической машины.
5. Разработана программа моделирования поверхностей, в которой
применены оптимизированные методы ориентации твердого тела.
На защиту выносятся:
Базовый уровень реализации графического ядра систем геометрического моделирования и проектирования.
Способы оптимизации алгоритмов описания движения твердого тела при ортогональном проецировании. Способы повышения быстродействия обработки рассматриваемых алгоритмов.
Применение и реализация предложенных алгоритмов на языке программирования Си, текст которого может быть легко перенесен на большинство аппаратных платформ и программных сред.
Достоверность и обоснованность научных положений, выводов и рекомендаций, содержащихся в диссертации, подтверждена корректным применением используемой совокупности теоретических, эмпирических и математических методов, а также результатами математического и компьютерного моделирования.
Реализация результатов исследования. Результаты исследования реализованы в виде методического и программного обеспечения различных версий. Разработанные программы внедрены и используются в учебном про-
14 цессе с 1999 учебного года и на одном из промышленных предприятий с 2005 г. Разработка и внедрение велись в годы обучения диссертанта в Казанском государственном техническом университете (им. А. Н. Туполева), Московском авиационном институте и в Санкт-Петербургском государственном политехническом университете.
Апробация работы. Основные результаты работы докладывались и обсуждались: на кафедре «Прикладная геометрия и дизайн» Санкт-Петербургского государственного политехнического университета; на кафедре «Прикладная геометрия» Московского авиационного института; на кафедре «Автоматика и управление» Казанского государственного технического университета им. А. Н. Туполева.
Публикации. По результатам выполненной работы опубликовано 3 научные работы, в которых достаточно полно отражены теоретические и прикладные результаты проведенных исследований.
Структура работы. Диссертация состоит из введения, трех глав, заключения, списка литературы из 72 наименований и приложений, подтверждающих реализацию полученных результатов. Работа включает 114 страниц текста, 32 рисунка и 2 таблицы. Общий объем - 128 страниц.
Алгебра кватернионов
Под кватернионом понимают число, составленное из действительной единицы 1 и трех мнимых единиц і\, і2, із, с действительными элементами следующего вида: Л = (Х0, Хи Х2, Хз)= -ol + Xii\, + Х2іг + A.3I3. Основные постулаты, определяющие действия над кватернионами: 1 Два кватерниона Л и М равны, если равны их элементы Xt = ц, (/ — О, 1, 2, 3). 2 Суммой кватернионов Л и М называется кватернион, элементами КОТОРОГО ЯВЛЯЮТСЯ ВеЛИЧИНЫ Х( + \Х(1 Л + М = (Ао + цо)1 + (Хи + Ці)/і + (Х2 + \i2)h + (Хз + Цз)/3. 3 При умножении кватерниона Л на скаляр а происходит умножение на это число всех его элементов: ЙЛ = aXol + aX\i\, + аХгі% + aX i3. В частности, отрицательным является кватернион — Л = — XQ\ " Х\1\ — Л2 2 — л-з З) а нулевым - кватернион (0, 0, 0, 0). Из этих определений следует, что сложение кватернионов и умножение их на скаляр подчиняются правилам обычной алгебры: 4 Л + М = М + Л, (Л + М) + N = Л + (М + N); 5 ah - ЛИ, (ab) Л = Л фа)\ 6 {а + Ь) Л = аЛ + ЬА, а (Л + М) = дЛ + аМ.
Единицы 1, /], /2, /з можно рассматривать как единичные векторы (орты) четырехмерного пространства Н. Тогда любой кватернион можно представить в этом пространстве точкой или радиусом-вектором. Сложение векторов и умножение их на скаляр в пространстве Н происходит так же, как и в обычном векторном пространстве. Особенность пространства Н состоит в том, что оно является замкнутым относительно операций умножения и деления.
Чтобы определить произведение кватернионов, необходимо задать правила умножения единиц При таком правиле умножения произведение двух кватернионов также является кватернионом. Правила умножения позволяют объединить в алгебре кватернионов алгебру действительных и комплексных чисел и трехмерную векторную алгебру. Кватернионы содержат действительные числа (а, 0, 0 ,0) с единственной единицей 1, комплексные числа (а, Ъ, 0, 0) с двумя единицами 1, і и векторы (0, а, Ь, с) в пространстве трех измерений. Но, если действительные и комплексные числа образуют поле (т. е. сложение, умножение и деление дают снова элемент рассматриваемого множества), произведение двух векторов является не вектором, а кватернионом.
Правило умножения 7 показывает, что умножение на 1 не изменяет кватерниона, т. е. компонент 1 ведет себя как обычный скаляр, и в выражении для кватерниона первый член (ко) записывается без единицы.
Если ввести ортогональное преобразование единицы і} в і/ з з (i j = с„/Д то, в силу ортогональности ] =5, , /} подчиняются пра /=1 i=i вилам умножения кватернионных единиц: l h h 21 Сгі сгъ - С, j/, + cni2 + схъ1ъ - I СЪ2 C33 і ї=Sc-ад,-)= l r2 з=(-)+ (-с1/С,)=-1, /іо/;-і /=і і=і и т. д. Следовательно, единицы іь /2, /"з идентифицируются с ортами трехмерного векторного пространства, а коэффициенты при этих единицах рассматриваются как компоненты вектора. В соответствии с этим, кватернион представляется в виде суммы скалярной и векторной частей, которые обозначаются sqal Л и vect Л соответственно: 8 Л = sqal Л + vect Л = 0 + - выражение векторной части для удобства записывается в виде, принятом для обычных векторов.
Правила умножения мнимых единиц легко запомнить, используя следующее представление (рис. 1.1); при умножении двух единиц, расположенных по стрелке, получается третья единица с плюсом; при движении в обратную сторону (против стрелки) единица берется с минусом.
Преобразование вращения
Существует единственный случай, когда сумма и разность точек дают точку. Пусть Ju J2, J?, - три точки сферы такие, что дуги J\Ji, Jih, J J\ суть квадранты с положительными полюсами в точках J$, J\ и J2 соответственно (рис. 1.13). В этом случае J]+J2 = J2J\ + Л = J\J2.
Но, поскольку, по определению, J\J2 — Ji — J\ = Ji, то J\ + J2 = /j. Из полученного соотношения следует, что сумма или разность двух точек определяет снова точку только тогда, когда угол между ними равен л/2. Из циклической перестановки J\t J2 и Зъ следует: Ji + J2 = h, J2 + Ji J\, Ji + J\ = Ji- (1-25) Для антиподов квадранты меняют направления, следовательно, h + J\ = h , J3 + Ji = J\ , Ji+Jz= Ji. (1 -26)
В этих формулах также можно найти двоякий смысл точки и верзора: кроме непосредственного геометрического образа, точка (верзор) является оператором вращения. Так, первое слагаемое является оператором, переводящим второе слагаемое в результат: J\ вращает точку J2 на одну четвертую часть круга, после чего она совпадает с /j, и т. п.
Доказательство теоремы о вращении.
Пусть на большом круге сферы даны пять точек F, А, В, D, Н, отделяющих равные дуги (рис. 1.14). Предполагается, что имеются две совпадающие сферы - подвижная и неподвижная. Если повернуть подвижную сферу вокруг оси ОА на угол л, то точка В совместится с точкой F. Далее, ее ли повернуть подвижную сферу вокруг оси ОВ на угол ті, то точка Л совпадет с точкой D, а точка F (т. е. В) - с точкой Н. В этом конечном положении дуга АВ окажется смещенной по дуге большого круга до положения DH, т. е. смещенной на дугу AD = 2АВ. Первый поворот является поворотом на двойной квадранте, т. е. на 2А, второй — соответственно на 2В.
Отсюда следует, что сумма вращений 2В + 2А эквивалентна вращению на дугу 2АВ, т. е. 2В + 2А = 2АВ (последнее следует также и из (1.24), поскольку поворот на угол 2тс приводит к начальному положению).
Точно так же можно показать, что 2С+2В = 2ВС, а, следовательно, если выполнить последовательно два таких вращения, то 2С + 2В + 2В + 2А = 2ВС + 2АВ. Очевидно, что вращение 2В + 2В приводит к исходному состоянию; кроме того, 2С + 2А = 2АС, откуда 2АС = 2ВС+2АВ, (1.27)
т. е. результат последовательных вращений сферы на удвоенную дугу 2АВ около ее положительного полюса и на удвоенную дугу 2ВС около ее положительного полюса всегда эквивалентен вращению сферы около третьей дуги сферического треугольника ABC, а именно, на удвоенную дугу 2АС около положительного полюса дуги АС. Следовательно, если между тремя вер-зорами тс, ст, т существует соотношение тс + а = т, то всегда по отношению к вращению будет иметь место условие
2тс + 2а = 2т. Из того соображения, что эта эквивалентность независима от начального положения сферы, следует ассоциативность сложения вращений.
Чтобы перейти к операциям над векторами в пространстве необходимо установить связь каждой точки с радиус-вектором. Необходимо поставить в соответствие найденным операциям сложения верзоров и точек операции над векторами. Поскольку сложение верзоров некоммутативно, ему может соответствовать только операция умножения векторов; по этой причине сферическое сложение соответствует умножению, а вычитание - делению.
Если обозначить векторы точек А, В, С, лежащих на единичной сфере, через «і, Ь\, С], то можно показать что при приведенном определении действий над векторами сохраняются все основные положения, задающие действия над точками. Частному двух векторов b\ia\ = b\ Д-1 соответствует разность точек В — А, т. е. верзор АВ, Очевидно, что соотношение сферического треугольника (1.23) при этом сохраняется: соотношению (А-С) + (С-В) = СА + ВС = ВА соответствует равенство а\а cf1 С Ь{ 1 = «і Ь\ \ т. е. произведение двух частных дает частное того же типа. Рис. 1.15. Поскольку точке, например, С (рис. 1.15), соответствует верзор MN = N-M, то каждому вектору С соответствует частное я т \т. е. С\ = п m _I. Очевидно, что антиподу С" соответствует вектор С\ , противоположный вектору С\ т. е. Сі —— Сі С другой стороны, так как точке С" соответствует верзор NM = М - N, TOCi = m п \ откуда следует, чтосі cs = 1, что и должно быть, так как для верзоров С + С = О, Полученное соотношение показывает, что вектор С\\ противоположный вектору си удовлетворяет условию С\ = С] \ т. к. только в этом случае Cj Cj = 1. НО, С ДругОЙ СТОРОНЫ, С] = - С], ОТКуда Следует, ЧТО С] (- С]) = 1 и Сіа сі = - 1, т. е. квадрат любого вектора (единичного) равен - 1. Эти положения позволяют для системы трех ортогональных единичных векторов /ь 1 2, h, которые проходят через точки J\, J2, /3 (рис. 1.13), получить, в соответствии с (1.25) и (1.26), следующие соотношения:
Представление ортогонального преобразования в форме умножения кватернионов
Рассмотренное в 2.1 представление ортогонального преобразования, определяемого матрицей направляющих косинусов А, является наиболее об щим способом задания движения твердого тела. Сама матрица А содержит три независимых параметра: два из них определяют ориентацию оси вектора эйлерова плоского вращения [т. е. величины (2.32) Г\, гг, / з при условии 1 "7 О г\ + Ґ2 + г3 = 1] и один-угол вращения 9. Соответственно этому элементы ЦйуЦ могут быть выражены в функции этих трех параметров. Но матричная форма записи ортогональных преобразований при этом становится весьма неудобной и зависящей от представления операции в том или ином базисе. Значительно более удобным оказывается представление ортогональных преобразований с использованием алгебры кватернионов. Это представление базируется на фундаментальной теореме 1.1, рассмотренной в первой главе. В соответствии с этой теоремой операция вращения (1.14) задает преобразование векторной части кватерниона г в г (1.20) и поэтому может рассматриваться как ортогональное преобразование в вещественном трехмерном пространстве.
Пусть в трехмерном базисе I, образованном ортами іь і2, із, задан вектор Пусть, далее, матрица В определяет линейное ортогональное преобразование вектора г в вектор / , заданное в форме (2.19), которое может быть также записано и в операторном виде (2.18): г = Вг (в данном случае В = А ).
Будем рассматривать четырехмерное гиперкомплексное пространство Н, образованное гиперкомплексными единицами iit /2, /3, формально совпадающими с ортами трехмерного базиса /.
Пусть в пространстве Н задана операция вращения (1.20), определяемая единичным кватернионом, которая вектору г ставит в соответствие вектор / : г = ЛгЛ. (2.33)
Очевидно, что векторы г и г определены своими компонентами в гиперкомплексном базисе Н, при этом операция вращения (1.20) аналогично операции (2.20) задает преобразование вектора в вектор, выполняемое относительно фиксированного базиса. Запишем эти два преобразования в координатной форме, полученной из формул (2.19) и (1.19) соответственно: f] = \X0 + Xl Х2 " 3/1 +2( , 2 (Аз)Г2 + 2(Х,Х3 + Х0Х2)г3, r2r = 2( 2+ 3) +(я.20 + Х\ -X] -X\)r2 +2(X2X3 X0Xl)r3, (2.35) г} = 2(?і,Х3 - A.0A.2 i + 2{Х2Х3 + V-i Ь + ( + Х\ -Х\- к\Ук
Отождествим коэффициенты by преобразования (2.34) с коэффициентами линейного преобразования (2.35); при этом устанавливается однозначное соответствие между формами представления ортогонального преобразования (1.20) и (2.18). Это соответствие является изоморфным, т. е. любой операции группы вращений в трехмерном пространстве /, определяемой ортогональной матрицей В (оператором В), соответствует операция вращения в гиперкомплексном пространстве, задаваемая кватернионом Л, причем В и Л взаимно определяются друг другом.
Действительно, рассмотрим условия группы. 1. Обратной операции (2.34) или (2.18) / = B"V соответствует преобразование г = Л г Л, причем имеют место равенства ВВ = В" В = 1 и Л Л = Л Л = 1, т. е. существует единица, определяемая тождественным преобразованием. 2. Произведению двух преобразований r = Br, /"= , т. е. преобразованию, определяемому оператором-матрицей D r = Dr, D = CB, отвечает произведение кватернионов последовательных преобразований г = ЛгЛ, r" = M/- М, r" = NroN, где N = М о Л.
Аналогично элементам матрицы В, являющимся направляющими косинусами, компоненты кватерниона могут служить кинематическими параметрами, поскольку они однозначно определяют положение одного базиса относительно другого. Отсюда следует, что их можно использовать для описания движения твердого тела относительно некоторой выбранной системы координат. При этом следует иметь в виду, что одному положению тела соответствуют два кватерниона (Л и - Л), определяющих одно и то же преобразование вращения.
Выбор системы координат и поверхности проецирования
Самым распространенным на сегодняшний день способом описания объектов в пространстве является использование ортогональной координатной системы. Ее преимущества заключаются в простом пространственном представлении и в относительно простой реализации на ЭВМ. В большинстве случаев требуется проецирование объемного объекта на плоский двухмер ный экран, т. е. преобразование трехмерных координат в двухмерные координаты при визуализации.
Организация работы с трехмерным объектом на двумерном экране, которая является основной частью пользовательского интерфейса, - самостоятельная задача компьютерного моделирования. Проблема состоит в том, как лучше организовать выбор объектов и доступ к его элементам, осуществлять перенос, масштабирование, вращение, движение источников освещения, камеры и т. д. Большинство интерфейсов требует длительного изучения и выработки определенных навыков у пользователей.
Одна из основных операций при управлении объектом в компьютерном 3D дизайне - вращение. Пользователь ожидает простого и удобного вращения объектов. Большинство программ для просмотра объемных объектов поддерживают вращение только вокруг двух осей. Вращение вокруг третьей оси обычно игнорируется, т. к. манипулятор (мышь), с помощью которого осуществляется вращение, имеет только две степени свободы [69].
При реализации вращений вокруг трех осей проявляется известная проблема вырождения параметров Эйлера и Крылова, которая вызвана тем, что три степени свободы характерные для декартовой координатной системы не являются полностью независимыми. Объединение переносов в декартовой координатной системе производится по правилам сложения векторов и является независимым. Объединение вращений вокруг декартовых осей производятся с помощью умножения матриц и не является независимым, т. к. имеет значение порядок умножения матриц. Это приводит к неожиданному для пользователя эффекту. Появляется движение, которое не является интуитивно понятным. Кроме того, существует проблема, связанная с устройствами ввода. Она заключается в том, что пользователь, производя вращение объекта, ожидает, что оно будет зависеть только от конечного положения мыши или трекбола, но в рассматриваемом случае оно зависит еще и от пути следования манипулятора. Другими словами, когда вы переносите объект в новую точку, конечная ориентация объекта может отличаться в зависимости от пути проделанного курсором. Возвращение в исходную точку, в общем случае, не возвращает объект в первоначальное положение. Решить эту задачу можно с помощью использования кватернионов. Подробное описание задачи построения интерфейса и способов ее решения не входит в рамки этой работы. Отметим еще только то, что для ее решения также используется проецирование объекта на плоскость.
Для моделирования поверхности будет использован порядок осей левосторонней координатной системы. В разрабатываемых в настоящее время графических библиотеках идет объединение двухмерной и трехмерной графики (например, новая версия DirectX - WGF). Двухмерная графика перестанет существовать как самостоятельный подраздел. Все преобразования на плоскости будут включены в трехмерные преобразования как частный случай. Подобные объединения приведут к сокращению количества функций при сохранении возможностей и позволят упростить и сократить количество элементов графических сопроцессоров. В данной работе порядок осей левосторонней координатной системы был выбран для удобства ее совмещения с экранными координатами и уменьшения количества дополнительных преобразований. Адресация экранной области в большинстве графических библиотек идет слева направо и сверху вниз. Если совместить горизонтальные координаты экрана д: с положительным направлением оси хм, а вертикальные координаты экрана с положительным направлением оси ум мировой координатной системы, то осым будет направлена к пользователю (рис. 3.1).