Система трехмерного графического моделирования на основе библиотеки OpenGL. Параметрическая модель сложного трехмерного объекта
11

То есть привычная для нас ортогональная система координат получается как проекция однородной системы на плоскость W = 1.

Таким образом для преобразования точки из обычных координат в однородные нужно добавить компоненту равную 1 и умножить все компоненты на любое вещественное число. Для преобразования точки из однородных координат в обычные координаты разделите все компоненты на последний компонент и отбросьте его.

 

3.2 Аффинные преобразования в пространстве

 

Аффинные преобразования - это комбинация линейных преобразований, переводящие параллельные прямые в параллель­ные, скрещивающиеся в скрещивающиеся и сохраняющие величину отношения длин отрезков параллельных прямых. Они допускают компактное матричное представление. Аффинные преобразования в однородных координатах описываются матрицами 4*4. Пусть есть некоторая точка P и некоторое аффинное преобразование, которому соответствует матрица М. Тогда результирующая точка P’ для данного аффинного преобразования и данной точки может быть вычислена по формуле:

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

 

3.2.1 Преобразования переноса

 

Перенос точки Р на вектор (x,y,z) осуществляется при помощи умножения вектора координат точки Р на матрицу переноса. Матрица переноса имеет вид:

    (3.1)

 

Перенос точки Р в точку Р’ показан на рисунке 3.3.