Processing:Справочник языка Processing/scale(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
Нет описания правки
 
(не показаны 2 промежуточные версии 1 участника)
Строка 1: Строка 1:
{{Processing панель перехода}}
{{Processing панель перехода}}
{{Перевод от Сubewriter}}
{{Перевод от Сubewriter}}
{{Myagkij-редактор}}
{{Myagkij-редактор}}
{{Черновик}}


= scale() <ref>[https://processing.org/reference/scale_.html processing.org - scale()]</ref>=
= scale() <ref>[https://processing.org/reference/scale_.html processing.org - scale()]</ref>=
Строка 10: Строка 7:
==Обозначение==
==Обозначение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
scale()
scale()
</syntaxhighlight>
</syntaxhighlight>
Строка 25: Строка 22:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
scale(s)
scale(s)
scale(x, y)
scale(x, y)
Строка 33: Строка 30:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
s – процентное значение для изменения масштаба объекта. Тип данных – float
s – процентное значение для изменения масштаба объекта. Тип данных – float
x – процентное значение для изменения масштаба объекта по оси X. Тип данных – float
x – процентное значение для изменения масштаба объекта по оси X. Тип данных – float
Строка 42: Строка 39:
==Возвращаемое значение==
==Возвращаемое значение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
void
void
</syntaxhighlight>
</syntaxhighlight>
Строка 53: Строка 50:




<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
rect(30, 20, 50, 50);
rect(30, 20, 50, 50);
scale(0.5);
scale(0.5);
Строка 64: Строка 61:




<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
rect(30, 20, 50, 50);
rect(30, 20, 50, 50);
scale(0.5, 1.3);
scale(0.5, 1.3);
Строка 75: Строка 72:




<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
// масштабирование в 3D требует метода size() с параметром P3D:  
// масштабирование в 3D требует метода size() с параметром P3D:  
size(100, 100, P3D);
size(100, 100, P3D);
Строка 90: Строка 87:


<references />
<references />
{{SEO
 
|Заголовок статьи=Processing: scale() / Онлайн справочник - wikihandbk.com
{{Навигационная таблица/Портал/Processing}}
|Ключевые слова=processing, scale(),scale() processing,scale() в processing
|Описание статьи=
|Изображение статьи для Open Graph=
|Адрес страницы для schemaNewsArticle=<nowiki>http://wikihandbk.com/wiki/Processing:Справочник языка Processing/scale()</nowiki>
|Изображение статьи для schemaNewsArticle=<nowiki></nowiki>
|Высота изображения статьи для schemaNewsArticle=
|Ширина изображения статьи для schemaNewsArticle=
|Дата публикации для schemaNewsArticle=2018-07-05
|Автор=Мякишев Е.А.
|Издатель=myagkij
|Логотип издателя для schemaNewsArticle=<nowiki>http://wikihandbk.com/ruwiki/images/6/61/Tech_geek_logo_1x.jpg</nowiki>
|Ширина логотипа издателя для schemaNewsArticle=60
|Высота логотипа издателя для schemaNewsArticle=45
}}
{{Навигационная таблица/Справочник языка Processing}}

Текущая версия от 19:44, 19 сентября 2023

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


scale() [1]

Обозначение

scale()

Описание

Увеличивает или уменьшает масштаб фигуры, приближая и удаляя друг от друга ее вершины. По умолчанию масштабирование объекта всегда происходит относительно начала координат. Значения для scale() задаются с помощью десятичной дроби. К примеру, вызов scale(2.0) увеличит масштаб фигуры на 200%. Эта трансформация применяется ко всему, что с фигурой происходит потом, а последующие вызовы scale() умножают эффект. К примеру, если вызвать scale(2.0), а затем scale(1.5), то это то же самое, что и scale(3.0).

Если вызвать scale() внутри draw(), в начале следующего цикла трансформация сбросится. Чтобы в scale() можно было использовать параметр z, в коде также необходим метод size() с параметром P3D – как показано в третьем примере ниже.

Кроме того, этим методом можно управлять при помощи pushMatrix() и popMatrix().

Синтаксис

scale(s)
scale(x, y)
scale(x, y, z)

Параметры

s  процентное значение для изменения масштаба объекта. Тип данных  float
x  процентное значение для изменения масштаба объекта по оси X. Тип данных  float
y  процентное значение для изменения масштаба объекта по оси Y. Тип данных  float
z  процентное значение для изменения масштаба объекта по оси Z. Тип данных  float

Возвращаемое значение

void

Пример

№1


rect(30, 20, 50, 50);
scale(0.5);
rect(30, 20, 50, 50);

№2


rect(30, 20, 50, 50);
scale(0.5, 1.3);
rect(30, 20, 50, 50);

№3


// масштабирование в 3D требует метода size() с параметром P3D: 
size(100, 100, P3D);
noFill();
translate(width/2+12, height/2);
box(20, 20, 20);
scale(2.5, 2.5, 2.5);
box(20, 20, 20);

См.также

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