Processing:Справочник языка Processing/applyMatrix()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

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


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

См.также

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