Processing:Справочник языка Processing/modelX(): различия между версиями
Myagkij (обсуждение | вклад) Нет описания правки |
Myagkij (обсуждение | вклад) Нет описания правки |
||
(не показаны 2 промежуточные версии 1 участника) | |||
Строка 1: | Строка 1: | ||
{{Processing панель перехода}} | {{Processing панель перехода}} | ||
{{Перевод от Сubewriter}} | {{Перевод от Сubewriter}} | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
= modelX() <ref>[https://processing.org/reference/modelX_.html processing.org - modelX()]</ref>= | = modelX() <ref>[https://processing.org/reference/modelX_.html processing.org - modelX()]</ref>= | ||
Строка 10: | Строка 7: | ||
==Обозначение== | ==Обозначение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
modelX() | modelX() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 22: | Строка 19: | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
modelX(x, y, z) | modelX(x, y, z) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 28: | Строка 25: | ||
==Параметры== | ==Параметры== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
x – координата X для отслеживания значения X. Тип данных – float | x – координата X для отслеживания значения X. Тип данных – float | ||
y – координата Y для отслеживания значения X. Тип данных – float | y – координата Y для отслеживания значения X. Тип данных – float | ||
Строка 36: | Строка 33: | ||
==Возвращаемое значение== | ==Возвращаемое значение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
Тип данных – float | Тип данных – float | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 42: | Строка 39: | ||
==Пример== | ==Пример== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
void setup() { | void setup() { | ||
size(500, 500, P3D); | size(500, 500, P3D); | ||
Строка 88: | Строка 85: | ||
<references /> | <references /> | ||
{{Навигационная таблица/Портал/Processing}} | |||
{{Навигационная таблица/ |
Текущая версия от 19:20, 19 сентября 2023
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
modelX() [1]
Обозначение
modelX()
Описание
Возвращает значение X на основе заданных XYZ-координат, учитывая все примененные трансформации (масштабирование, вращение, перемещение и т.д.). Это значение X в дальнейшем можно использовать, чтобы поместить другой объект на исходную позицию предыдущего – то есть, когда на него еще не было наложено никаких трансформаций.
К примеру, методы modelX(), modelY() и modelZ() сохраняют данные о месторасположении куба в пространстве после того, как к нему были применены несколько команд перемещения и вращения. После вызова popMatrix() эти трансформации работать уже не будут, однако координаты XYZ для значения X, возвращенные методом modelX(), можно будет использовать, чтобы поместить в то же место новый куб.
Синтаксис
modelX(x, y, z)
Параметры
x – координата X для отслеживания значения X. Тип данных – float
y – координата Y для отслеживания значения X. Тип данных – float
z – координата Z для отслеживания значения X. Тип данных – float
Возвращаемое значение
Тип данных – float
Пример
void setup() {
size(500, 500, P3D);
noFill();
}
void draw() {
background(0);
pushMatrix();
// начинаем в середине экрана:
translate(width/2, height/2, -200);
// несколько случайных вращений – чтобы было поинтересней:
rotateY(1.0); //yrot);
rotateZ(2.0); //zrot);
// немного вращаем по оси X с каждым кадром:
rotateX(frameCount / 100.0);
// смещаем от центра:
translate(0, 150, 0);
// рисуем куб с белым контуром на (0, 0, 0):
stroke(255);
box(50);
// куб был нарисован на (0, 0, 0), сохраняем данные этого места:
float x = modelX(0, 0, 0);
float y = modelY(0, 0, 0);
float z = modelZ(0, 0, 0);
// стираем все трансформации:
popMatrix();
// рисуем еще один куб на тех же координатах (x, y, z),
// что и предыдущий:
pushMatrix();
translate(x, y, z);
stroke(255, 0, 0);
box(50);
popMatrix();
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |