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

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





Однородными координатами точки М называется любая тройка одновременно неравных нулю чисел (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 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.

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

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

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

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

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



(0.003 сек.)