Мегаобучалка Главная | О нас | Обратная связь


Однородные координаты точки



2015-11-10 854 Обсуждений (0)
Однородные координаты точки 0.00 из 5.00 0 оценок




Однородными координатами точки М называется любая тройка одновременно неравных нулю чисел (X1,X2,h), связанных с заданными величинами х и у следующими соотношениями:

           
   
 
   
 

 


 
 

Пусть М - произвольная точка плоскости с координатами (х, у), вычисленными относительно заданной прямолинейной координатной системы (рис.66).

Рис. 66

Применение однородных координат оказывается удобным уже при решении простейших задач.

Рассмотрим, например, вопросы, связанные с изменением масштаба чисел. Если устройство отображения работает только с целыми числами, то для точки с координатами (0.5, 0.1) можно ввести однородные координаты, выбрав значение h=10 и, тем самым привести координаты точки к виду (5, 1, 10).

Рассмотрим другой случай. Чтобы результаты преобразования не приводили к арифметическому переполнению, для точки с координатами (80000, 1000) можно взять, например, h=0.001. В результате получим (80, 1).

Приведенные примеры показывают полезность использования однородных координат при проведении расчетов. Однако основной целью введения однородных координат в компьютерной графике является их несомненное удобство в применении к геометрическим преобразованиям.

При помощи троек однородных координат и матрицы третьего порядка, считая h=l, общее аффинное преобразование можно записать следующим образом:

 
 

 


 

 

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

На каждом этапе ищется матрица, соответствующая тому или иному из выделенных выше случаев А, Б, В или Г, обладающих хорошо выраженными геометрическими свойствами. Затем эти матрицы перемножаются.

Выпишем соответствующие матрицы третьего порядка.

 
 

 


А. Матрица вращения (rotation)

 
 


Б. Матрица растяжения (сжатия) (dilatation)

 
 

 

 


В. Матрица отражения (относительно оси абсцисс) (reflection)

 

 

Г. Матрица переноса (translation)

 
 

Пример. Построить матрицу поворота вокруг точки А(a, b)на угол φ.

Рис.67

1-й шаг. Перенос на вектор А(-а, -b) для совмещения центра поворота с началом координат.

 
 

 

 


2-й шаг. Поворот на угол φ.

 
 

 


3-й шаг. Перенос на вектор А(а, b) для возвращения центра поворота в прежнее положение.

 
 

 


Перемножим матрицы в том же порядке, как они выписаны:

 
 

 


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

 
 

 


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



2015-11-10 854 Обсуждений (0)
Однородные координаты точки 0.00 из 5.00 0 оценок









Обсуждение в статье: Однородные координаты точки

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...



©2015-2020 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (854)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.01 сек.)