Свойство масштаба (scale) определяет сжатие или растяжение объекта вдоль указанной оси

Свойство масштаба (scale) определяет сжатие или растяжение объекта вдоль указанной оси. По умолчанию значение составляющих X, Y и Z свойства масштаба равно 1,0, что соответствует масштабу 100% объекта по каждой из осей координат. Если установить значение одной из составляющих свойства масштаба равным 2,0, исходный масштаб объекта увеличится вдвое, а если установить ее значение равным 0,5, то исходный масштаб объекта сократится наполовину.

Масштаб объекта можно изменить по всем трем координатам следующим образом:

s.scale = [2.0, 1.0, 0.5]

Аналогично положению, масштаб указывается в виде данных типа Point3. В приведенном выше примере объект растягивается в два раза вдоль оси X, не изменяет свой размер вдоль оси Y и сокращается вдоль оси Z. Если же объект требуется растянуть только вдоль оси X, для этого достаточно ввести следующую строку кода:

s.scale.x = 2.0

Для пропорционального масштабирования объекта достаточно умножить свойство масштаба на требуемую величину:

s.scale = 3.0 * s.scale — или
s.scale *= 3.0

Приведенный выше фрагмент кода означает следующее: “Установить новое значение свойства масштаба, которое в 3 раза больше его текущего значения”. При этом объект масштабируется по всем трем осям.

Аналогично свойству pos и методу move для свойства масштаба имеется соответствующий метод scale. Данный метод реализуется следующим образом:

b = box()
scale b [1.0, 2.0, 3.0]

В этом фрагменте кода параллелепипед масштабируется на разную величину в направлении каждой из осей координат. Свойство .scale и метод scale действуют таким же образом, как и свойство .position и метод move, а именно: значение свойства задается явно в виде данных типа Point3, а метод изменяет это значение с указанным приращением.

Для масштабирования объекта выполните следующее упражнение.

                       1.  Введите в окне приемника команд следующую строку кода:

b = box()

                       2.  Для того чтобы установить свойство масштаба, введите и вычислите следующую строку кода:

b.scale = [2, 2, 2]

В качестве результата в приемнике команд возвращается значение [2, 2, 2] данного свойства.

                       3.  Для того чтобы вновь установить масштаб, введите следующую строку кода:

b.scale = [2, 2, 2]

В приемнике команд по-прежнему возвращается значение [2, 2, 2].

                       4.  Примените метод scale, введя следующую строку кода:

scale b [2, 2, 2]

В приемнике команд возвращается значение [4, 4, 4].

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *