Processing:Справочник языка Processing/applyMatrix(): различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
Строка 10: | Строка 10: | ||
==Обозначение== | ==Обозначение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
applyMatrix() | applyMatrix() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 20: | Строка 20: | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
applyMatrix(source) | applyMatrix(source) | ||
applyMatrix(n00, n01, n02, n10, n11, n12) | applyMatrix(n00, n01, n02, n10, n11, n12) | ||
Строка 28: | Строка 28: | ||
==Параметры== | ==Параметры== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
n00 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float | n00 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float | ||
n01 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float | n01 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float | ||
Строка 49: | Строка 49: | ||
==Возвращаемое значение== | ==Возвращаемое значение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
void | void | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 55: | Строка 55: | ||
==Пример== | ==Пример== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
size(100, 100, P3D); | size(100, 100, P3D); | ||
noFill(); | noFill(); |
Версия от 18:36, 14 мая 2023
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Черновик |
applyMatrix() [1]
Обозначение
applyMatrix()
Описание
Умножает текущую матрицу на ту, что указана в параметрах. Этот метод работает очень медленно, т.к. пытается рассчитать инверсию трансформации, так что, если возможно, лучше его избегать. Эквивалент этого метода в OpenGL – это glMultMatrix().
Синтаксис
applyMatrix(source)
applyMatrix(n00, n01, n02, n10, n11, n12)
applyMatrix(n00, n01, n02, n03, n10, n11, n12, n13, n20, n21, n22, n23, n30, n31, n32, n33)
Параметры
n00 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float
n01 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float
n02 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float
n10 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float
n11 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float
n12 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float
n03 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float
n13 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float
n20 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float
n21 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float
n22 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float
n23 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float
n30 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float
n31 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float
n32 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float
n33 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float
Возвращаемое значение
void
Пример
size(100, 100, P3D);
noFill();
translate(50, 50, 0);
rotateY(PI/6);
stroke(153);
box(35);
// задаем углы вращения:
float ct = cos(PI/9.0);
float st = sin(PI/9.0);
// матрица для вращения вокруг оси Y:
applyMatrix( ct, 0.0, st, 0.0,
0.0, 1.0, 0.0, 0.0,
-st, 0.0, ct, 0.0,
0.0, 0.0, 0.0, 1.0);
stroke(255);
box(50);