До сих пор мы говорили, что точка Р = (Рх, Р, Рг) выражается в однородных координатах как (Рх, Ру, Рг, 1), а вектор V - (их, V , г>2) - как (их, ьу, г>2, 0). Иными словами, мы просто добавили 1 к исходному представлению точки и б к представлению вектора. Это сделало возможным использовать координатные фреймы как основу для представления интересующих нас точек и векторов и позволило нам выражать аффинное преобразование с помощью матрицы.

Теперь разовьем эту мысль и заявим, что точка Р = (Рх, Ру, Рг) имеет целое семейстзо однородных представлений вида (м>Рх, тР, тРг, т) для любого ненулевого значения хю. Например, точка (1,2,3) имеет представления (1, 2, 3, 1), (2? 4, 6, 2), (0,003, 0,006, 0,009, 0,001), (-1, -2, -3, -1) и т. д. Если вам дадут точку в таком виде - скажем, (3, 6, 2, 3), - и спросят, что это за точка, то достаточно разделить все ее компоненты на последний, получить (1,2, 2/3, 1) и затем удалить последний компонент: такая точка в «обычных» координатах имеет вид 1(, 2, 2/3). Таким образом: О для преобразования точки из обычных координат в однородные координаты добавьте I1; О для преобразования точки из однородных координат в обычные координаты разделите все компоненты на последний компонент и отбросьте четвертый компонент.

Дополнительная возможность масштабировать все компоненты точки без изменения самой точки и послужила основанием назвать эти координаты «однородными». До сих пор мы имели дело только с частным случаем, когда последний компонент равен 1.

И при желании умножьте все четыре компонента на любую ненулевую величину.

Трехмерный просмотр

Мы будем изучать однородные координаты более подробно в упражнениях в конце раздела, а теперь сконцентрируем свое внимание на том, как они действуют при преобразовании точек. Аффинные преобразования при использовании однородных координат работают прекрасно. Напомним, что матрица аффинного преобразования всегда имеет четвертой строкой (0, 0, 0, 1). Следовательно, если мы умножим такую матрицу М на точку Р в ее однородном представлении для формирования матрицы МР = (I (вспомните уравнение (5.24)):


⇐ Предыдущая| |Следующая ⇒