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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
Нет описания правки
Строка 4: Строка 4:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


{{Черновик}}
 


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


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


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
translate(x, y)
translate(x, y)
translate(x, y, z)
translate(x, y, z)
Строка 29: Строка 29:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
x – перемещение объекта влево-вправо. Тип данных – float
x – перемещение объекта влево-вправо. Тип данных – float
y – перемещение объекта вверх-вниз. Тип данных – float
y – перемещение объекта вверх-вниз. Тип данных – float
Строка 37: Строка 37:
==Возвращаемое значение==
==Возвращаемое значение==


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




<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">
translate(30, 20);
translate(30, 20);
rect(0, 0, 55, 55);
rect(0, 0, 55, 55);
Строка 58: Строка 58:




<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);
Строка 72: Строка 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">
rect(0, 0, 55, 55);  // рисуем прямоугольник с  
rect(0, 0, 55, 55);  // рисуем прямоугольник с  
                     // с исходными координатами 0,0
                     // с исходными координатами 0,0
Строка 102: Строка 102:
|Высота логотипа издателя для schemaNewsArticle=45
|Высота логотипа издателя для schemaNewsArticle=45
}}
}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Портал/Processing}}

Версия от 12:12, 20 мая 2023


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



translate() [1]

Обозначение

translate()

Описание

Перемещает объект в дисплейном окне. С помощью параметра x задается перемещение влево-вправо, с помощью параметра y – вниз-вверх, а с помощью параметра z – вблизь-вдаль от экрана. Чтобы использовать в translate() параметр z, в коде также нужен метод size() с параметром P3D – как показано в примере ниже.

Эта трансформация применяется ко всему, что с объектом происходит потом, а последующие вызовы translate() суммируют эффект. К примеру, вызов translate(50, 0), а затем translate(20, 0) – это то же самое, что и translate(70, 0). Если translate() будет вызвана внутри draw(), с началом следующего цикла трансформация сбросится. В дальнейшем этим методом можно управлять при помощи методов pushMatrix() и popMatrix().

Синтаксис

translate(x, y)
translate(x, y, z)

Параметры

x  перемещение объекта влево-вправо. Тип данных  float
y  перемещение объекта вверх-вниз. Тип данных  float
z  перемещение объекта вдаль-вблизь. Тип данных  float

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

void

Пример

№1


translate(30, 20);
rect(0, 0, 55, 55);

№2


// перемещение объектов в 3D требует метода size() с параметром P3D:
size(100, 100, P3D);
// перемещаем объект на 30 пикселей вбок, на 20 вниз
// и на 50 назад (т.е. «вдаль» от экрана):
translate(30, 20, -50);
rect(0, 0, 55, 55);

№3


rect(0, 0, 55, 55);  // рисуем прямоугольник с 
                     // с исходными координатами 0,0
translate(30, 20);
rect(0, 0, 55, 55);  // рисуем новый прямоугольник на 0,0
translate(14, 14);
rect(0, 0, 55, 55);  // рисуем новый прямоугольник на 0,0

См.также

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