Масштабирование (геометрия) - Scaling (geometry)

Каждая итерация треугольника Серпинского содержит треугольники, относящиеся к следующей итерации с масштабным коэффициентом 1/2.

В евклидовой геометрии , равномерное масштабирование (или изотропно масштабирование ) представляет собой линейное преобразование , что увеличивает (увеличивается) или сжимается (уменьшается) объекты с помощью масштабного коэффициента , который одинаков во всех направлениях. Результат равномерного масштабирования аналогичен (в геометрическом смысле) оригиналу. Обычно допускается масштабный коэффициент 1, поэтому конгруэнтные формы также считаются подобными. Равномерное масштабирование происходит, например, при увеличении или уменьшении фотографии или при создании масштабной модели здания, автомобиля, самолета и т. Д.

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

Когда масштабный коэффициент больше 1, масштабирование (равномерное или неоднородное) иногда также называют растяжением или увеличением . Когда коэффициент масштабирования является положительным числом, меньшим 1, масштабирование иногда также называют сжатием .

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

Масштабирование - это линейное преобразование и частный случай гомотетического преобразования . В большинстве случаев гомотетические преобразования являются нелинейными.

Матричное представление

Масштабирование может быть представлено матрицей масштабирования . Чтобы масштабировать объект с помощью вектора v = ( v x , v y , v z ), каждую точку p = ( p x , p y , p z ) необходимо умножить на эту матрицу масштабирования:

Как показано ниже, умножение даст ожидаемый результат:

Такое масштабирование изменяет диаметр объекта на коэффициент между масштабными коэффициентами, площадь на коэффициент между наименьшим и наибольшим произведением двух масштабных коэффициентов и объем на произведение всех трех.

Масштабирование является равномерным тогда и только тогда, когда коэффициенты масштабирования равны ( v x = v y = v z ). Если все масштабные коэффициенты, кроме одного, равны 1, мы имеем масштабирование по направлению.

В случае, когда v x = v y = v z = k , масштабирование увеличивает площадь любой поверхности в k 2 раза и объем любого твердого объекта в k 3 раз .

Масштабирование в произвольных размерах

В -мерном пространстве равномерное масштабирование на фактор выполняется скалярным умножением на , то есть умножением каждой координаты каждой точки на . Как частный случай линейного преобразования, это может быть достигнуто также путем умножения каждой точки (рассматриваемой как вектор-столбец) на диагональную матрицу , все элементы которой на диагонали равны , а именно .

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

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

Использование однородных координат

В проективной геометрии , часто используемой в компьютерной графике , точки представляются с использованием однородных координат . Чтобы масштабировать объект с помощью вектора v = ( v x , v y , v z ), каждый однородный вектор координат p = ( p x , p y , p z , 1) необходимо умножить на эту матрицу проективного преобразования :

Как показано ниже, умножение даст ожидаемый результат:

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

Для каждого вектора p = ( p x , p y , p z , 1) мы имели бы

что было бы эквивалентно

Расширение и сокращение функции

Для данной точки расширение связывает ее с точкой через уравнения

для .

Следовательно, для данной функции уравнение расширенной функции имеет вид

Частные случаи

Если , преобразование горизонтальное; когда это расширение, когда это сокращение.

Если , преобразование вертикальное; когда это расширение, когда это сокращение.

Если или , преобразование является отображением сжатия .

Смотрите также

Сноски

внешние ссылки