Processing

PythonでProcessing Transform applyMatrix()

現在の行列にパラメータで指定された行列を掛ける。この関数は変換の逆数を計算しようとし、非常に時間がかかりるため、可能な限り避けるべき。OpenGLのglMultMatrix()関数に相当する。

size(100, 100, P3D)
noFill()
translate(50, 50, 0)
ct = cos(PI/9.0)
st = sin(PI/9.0)
# X axis
applyMatrix(1.0, 0.0, 0.0, 0.0,
            0.0,  ct, -st, 0.0,
            0.0,  st,  ct, 0.0,
            0.0, 0.0, 0.0, 1.0)
# Y axis
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)
# Z axis
applyMatrix( ct, -st, 0.0, 0.0,
             st,  ct, 0.0, 0.0,
            0.0, 0.0, 1.0, 0.0,
            0.0, 0.0, 0.0, 1.0)
box(50)