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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
Нет описания правки
Строка 10: Строка 10:
==Обозначение==
==Обозначение==


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


<syntaxhighlight lang="c" enclose="div">
<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" enclose="div">
<syntaxhighlight lang="c">
n00 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float
n00 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float
n01 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float
n01 – число, чтобы задать матрицу 4х4 для умножения. Тип данных – float
Строка 49: Строка 49:
==Возвращаемое значение==
==Возвращаемое значение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
void
void
</syntaxhighlight>
</syntaxhighlight>
Строка 55: Строка 55:
==Пример==
==Пример==


<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">
size(100, 100, P3D);
size(100, 100, P3D);
noFill();
noFill();

Версия от 18:36, 14 мая 2023


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


Черновик


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);

См.также

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