Size: 1732
Comment:
|
Size: 1733
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 11: | Line 11: |
{{{!python | {{{#!python |
Перенос, масштабирование и вращение
Масштабирование
При работе с растровой графикой очень частая операция — масштабирование объектов. Суть операции в том, чтобы число X0 в диапазоне от A0 до B0 превратить в число X1 в диапазоне от A1 до B1 с соблюдением пропорций:
Значение X0 сначала надо нормализовать: перевести из диапазона A0…B0 в диапазон 0…1. Для чего из X0 надо вычесть нижнюю границу диапазона A0 и поделить результат на длину диапазона B0-A0: X=(X0-A0)/(B0-A0)
Затем перевести в новый диапазон A1…B1 теми же операциями в обратном порядке. Получаем функцию переноса с масштабированием scale():
Проверим, как это выглядит с помощью Черепашки:
Поворот
TODO