Кук Д., Бейз Г. - Компьютерная математика (1048841), страница 53
Текст из файла (страница 53)
гг' П р и м е р 1.3. Полярные координаты в Кт. Пусть Е ы й' — полубескопечкая линия Л = ((х, 0): х ~ О) и (х, у) ж К«~Е. Тогда, если Ф: К«М вЂ” ]О, [Х]0, 2я[ определеио как Ф(х, у)=(г, О), где г-(х'+у')пе а О аготу(у/х), то Ф определяет множество полярпых ко- 343 ординат в Кс. Обратное к Ф отображение задается соотношением Ф-'(г, О) =(г сох О, га1п О). Геометрическая интерпретация г и О дана па рнс. 10.4. Исключение Ь ив области определения Ф часто неправильно комментируется в элементарных учебниках. Ливию Ь удаляют, чтобы получить непрерывность Ф. Рис. 10.3 П р и и е р 1.4. Цилиндрические координаты в К'. Пусть Рю К' — полуплоскость Р ((х, О, х):х>0) и Рис.
10.3 Рис. $0.4 (х, у, х) ю К''1Р. Тогда отображение Ф: Кс~Р)О, [Х)0, 2п[Х К, определяемое как Ф(х, у, х) (р, <р, х), где р (хе+ус)нс, у =агс1у(у/х), определает множество цилиядрических координат в Кс~Р. Обратное к Ф отобрав<ение аадается формулой Ф '(р,<р, х) (рсоа ф, ра1пу, х).
На рис. 10.5 изображены величины р, ~р, х, относящиеся к осям декартовой системы ко- 349 ординат. Полуплоскость Р исключена нз области определения Ф, чтобы получить непрерывность. Р П р н и е р 1.5. Сферическая система координат з К»~Рг Р определено, как в примере 1.4, С1деричеекую систему координат определяют как отображение Ф.
К»/Р )0»„(Х (О я] Х)02я[ т (х»+ у»+ з») "», 0 где Ф(х, у, з)=(т, О, <г) а агссоз(з/т), ~р = агой(у/ ). 5 2. Преобразования Одной из наиболее часто используемых операций над геометрическими данными является преобразование. Например, вращение трехмерного пространства К' дает возная«вость рассматривать трехмерные геометрические объекты с любой удобной точки. Это может окаааться полезным при проверке геометрической целостности объекта, илн при подробном изучении какого-либо свойства, или по какой-либо другой причине. Некоторые подходы основаны на библиотеках основных геометрических «строительных блоков», из которых путем преобразования могут быть построены более слоя«ные геометрии.
Они следуют из некоторых теоретико-множественных операций, которые будут построены далее. Ллгоритмы для такого типа геометрического сннтеаа являются весьма специальными и не будут адесь обсуждаться, однако мы упомянем, что обобщенная форма теоремы Эйлера для графов может быть испольаована для исследования топологии конструируемого объекта. Преобразования используются более широко. Некоторые из наиболее употребляемых преобразований и их линейные представления будут сейчас описаны. 2Л.
Преобразовании в К'. Переносом в К» называется отображение вида Тг г+ г, для всех г ю К», где га «з К» — фиксированный вектор. Перенос перемещает всю плоскость сдвигом на фиксированный вектор и может быть записан в координатной форме: Т(х, у) (х, у)+(хо, уо)=(х+хо, у+у«) ° Обоаначим через Т(2) множество всех переносов па К' и определим произведение в Т(2), используя композицию отображений. Пусть Т, — перенос на вектор гь а Тз— перенос на вектор гз. Тогда произведение Тз Т~ опреде- 350 лим как Тз ° Т,г- Тз(Т,г) = г+ г, + ге.
Очевидно, что Тз ° Т, есть перенос на г, + ге, и, следовательно, операция является бинарной на Т(2). В действительности справедливо более сильное утверждение. П р е д л о ж е п и е. (Т(2), ) — коммугагивная еруппа нели>>ейных преобразований К. До к а з а т е л ь с т в о. Замкнутость относительно операции ° уже доказана. Аксиомы группы следуют из групповой структуры (К', +); например, если Т,(1 ~ з ~ 3)— переносы па г., то (Тз (Тз Т>))г Тз((Тз Т>)г)= Тз(г+ г>+гз)= г + г > + гз + гз = (г + г> ) + (гз + гз) (Тз е Тз) (Т>г) ((Тз ~ Тз) ' Т>) г; поэтому (Т(2), ~) ассоциативна. Единицей является перенос на вектор (О, О), а обратным переяосом к Тг г+ + гз будет Т'г-г — гз, поэтому Т ° Т'г = Т'Тг = г для всех г ы Кз.
Коммутативность также выполняется, поскольку (Тз ° Т>) г = г+ г> + гз = г+ гз+ г> (Т> ° Тз) и В общем случае, если Т >и Т(2), то Т(0, 0)чь(0, О); позтому начало координат смещается и, следовательно, перенос является нелинейным отображением. г" На практике зто означает, что можно применить любое число переносов к геометрическому объекту и получить один и тот же результат. Кроме того, нелинейный характер элементов Т(2) означает, что мы не можем выполнить Т(2) при помощи элементов из й>(2, К); другими словами, уравнение ['":"]~Н::1" -- "-"' не имеет решения. Следствия из этого факта будет рассмотрены виже. Опишем поворот в К', используя рис. 10.6.
Интуитивпо ясно, что поворот на угол 6, обозначаемый И'(6), отображает точку (г, у) в точку (к', у'), где Пг1 =1г'1 = г. Из рисунка видно, что я = г сов 6, у = г з1п 6, к' гсоз(0+ О>), у' гзш(0+ 0 ). 351 Применяя тригонометрические Формулкц получаем х' = т(соаОсоз 01 — з1п Оаш01) хсозΠ— уз1вО, у'=х 1пО+у О, так что Ит(О) (х, у) (х сов 0 — у з1п О, х з!и 0+ у соз О). В матричной форме зто можно записать следующим обрааом: Ит(0)(~ У) =~~~~6 тли 6]Ц И'(О) геометрически соответствует повороту вокруг нача- ла координат О. У Следующее предложеппе непо(х;У 1 средственно вьы екает из представления гу(2, К) и, с нашей точка зрения, суммирует основные свой/ г ства поворотов.
П р е д л о ж е н и е. г а) Преобразование И'(О): Вт х — линейно, й — ортогонально, де1 И'(О) 1. Рас. 10.6 б) Множество (У'(О): 0 ~ О < ( 2п) является коливутативной группой по отношению к ко,чпогициям отоброзгеаий (улг нозеением матриц). Т С практической точки арепия из а) следует, что для вычисления преобразования, обратного к повороту, достаточно лишь транспонировать матрицу. т1асть б) означает, что любое число поворотов может применяться к множеству геометрических данных в любом порядке и будет давать одинаковые результаты.
На самом деле верно обратное к а) утвернгдение. В частности, если Ит~и ~нМ'(2„К) и выполнены условия, а) РУ является попо- ротом. Другими словами, мы можем определить поворот в Кт как элемент группы ЯО(2). Хотя Т(2) и оО(2) являются коммутативпыми группами, преобрааования из Т(2) не коммутиругот с преобразованиями из ЯО(2), так как если И«иЯО(2) и Тш шТ(2) — сдвиг на ге, то мы имеем Т%г=Иг+гв и И'Тг РУ(г+ го) Ррг+ И'гв Ф ТУ'г прп го ~(0, О). На практике зто озпачает, что преобразования переноса и поворота надо применять строго в том порядке, в каком онн ваписапы. Некоммутативность проиллюстрировапа на 352 рис.
(0.7, где показаны результаты применения преобразований Тэ (Р(п/2) и 'тр(п~2) Т к полусфере. Из рис. (0.7 видно, что если площадь ((х, у): О~к<а, 0<у< о) соответствует вкрану графического терминала, то результат применения тт'(н/2) ~ Т к полукругу даст в итоге пустой зкран. (2) Рнс. 20.7 Группы Т(2) и Ю(2) могут быть объединены в виде третьего множества Е(2) преобразований плоскости, называемых евклидовыми. Элементы () ж Е(2) имеют вид Й И~2+ге для всех гю Кг, где тт'жЯО(2)> а геж К'— фиксированный вектор. Эти преобразования часто ааписывают в виде паР вида (Ит, гв). Если (И'и 21)жЕ(2) и (РУг, гт)ж Е(2), то (Итз, гз)'((рь г,)г* ((уз, гз) ((ур+ + г~) (уз((у~г+ г|)+ гз (И зттп Итзг~+ гз) г, так что (Итз, гз).(РУи г~) (Ферри (угг~+ге)ыЕ(2) и Е(2) замкнуто. В действительности имеет место следующее предложение.
Предложение. Е(2) является группой по отношению к операции композиции„ Д о к а з а т е л ь с т в о. Ограничимся указанием основных моментов доказательства. Замыкание ух1е доказано. Ассоциативность следует из применения преобразований несколько раз. Если з'1в ОЬ(2, К) — единица, то справедливы соотношения (У, О) (И1, гв) (РУ, го) (У, 0)=(Ит, ге) для всех (((т, гв)юЕ(2); следовательно, (1,0) является единицейвЕ(2). Обратный 23 д кгв, г, вез, 353 элемент (И", то) ' к (И', го) будет равен (7рг, -ТРтго) при ()Р', — $Р'го)ж Е(2). и (И~, го)'(И~~, -РР" го) (1, 0) (гут — )Ртго) (Иг, гз) ЕО(2) и Т(2) являются подгруппами ((И7, О): И'ш юЕО(2)) и 1(1, гз): го~и Вг) из Е(2) соответственно, н каждый элемент (И', гз) ы Е(2) может быть представлен следующим образом: ( И', гз) (1, гз) (И', О).
Е(2) — некоммутативная группа, так как (И~и гз)'(Фуп г~) (ИзИ и И"зг~ + гт), (И7„г,). (И~„гз)-(И~,И „И~г, + г,) Ф(И~„гз) «(И~п г,). В приложениях компьютерной графики часто хотят повернуть объект около некоторой фиксированной точки, отличной от начала координат. Например, на рис. 10.8 Рис. 10.8 полукруг повернут на я/2 около точки Р. Общая ошибка при этом заключается в попытке применить преобразование $Р(я~2); однако зто приводит к результату, изображенному на рис, 10.9.
Проиллюстрируем последовательность преобразований поворота вокруг фиксированной точь и гз а Кт на рис. 10.10, используя попятия Е(2).Требуемое преобразование, таким образом, будет равно (У, гэ) ()Р(Мг), 0).(У, —,). Эту запись можно упростить, используя правило произведения в Е(2); получим (РУ(п/2), -И~(п/2)гз+ гз). Ясно, что применять составное преобразование к множеству геометрических данных болев эффективно, чем применять в отдельности каждое преобразование, Е(2) дает йбэ возможность расположить объект в любой точке плоскости и в требуемой ориентации.
Множество полезных операций на плоскости екл|очает в себя преооразованве масштаба. Преобразованием масштаба на Кг называют отобрангенне вида Я(х, у) (Хх, иу), З„Гг~ О, или же (в матричной форме) о(х У) [О „1 [„~. Множество всех преобразований такою типа обозначается и тв) Г1, тг) Рис. 10.9 Рва 10ЛО 8(2). Важные свойства 8(2) сформулированы в следуюгдем предложении, доказательство которого оставляем в качестве упражнения. П р е д л о ж е н и е. 8(2) является коммутативной группой линейных преобразований по отношению к операции композиции. (Другими словами, Ю(2) является коммутативной подгруппой СЬ(2, К).) г Преобразование масштаба не коммутирует с переносом, так как если Т вЂ” перенос на вектор те и 8( У)-Р РУ) 8 ° Т(х, у) *Я(х+хг, у+уз) ° (Х(к+хо) Гл(у+уз))е Т ° Я(х, у] Т(Ъл, ру) (Ах+хе, ру+уг)ть8 Т(х, у) в обп1ем случае некоммутативность проиллюстрирована ЗЗв ЗИ ка рис.
10.11; испольэуются преобравованив масштаба Б(в, у) (2в, 2у) и перенос Т(х, у) (в+1, у+1) единичного квадрата с вершиной в начале координат. Лналогично можно показать, что преобравования масштаба не коммутируют с поворотами. Докаэательство этого Рвс. 10Л1 и построение соответствующего рисунка, который это демонстрирует, оставляем в качестве упражнения. На практике это овпачает, что если преобразование масштаба комбинируют с переносом или с поворотом, то следует обращать особое внимание на порядок применения креобраэовакпй.