如何在Python处理中向矩阵转换堆栈添加自定义矩阵?

如何在Python处理中向矩阵转换堆栈添加自定义矩阵?,python,matrix,processing,Python,Matrix,Processing,我正在使用Python处理。我有一个自定义矩阵,我想将其添加到当前矩阵变换堆栈中,而不必首先费心将矩阵分解为rotateX()rotateY()等 如何指定自己的矩阵并应用它?回答此类问题的最佳方法是查看 听起来您正在寻找applyMatrix()函数: 将当前矩阵乘以通过 参数。这是非常缓慢的,因为它将尝试计算 变换的逆方向,因此尽可能避免。这个 OpenGL中的等效函数是glMultMatrix() 等效的Processing.py参考是。回答此类问题的最佳方法是查看 听起来您正在寻找ap

我正在使用Python处理。我有一个自定义矩阵,我想将其添加到当前矩阵变换堆栈中,而不必首先费心将矩阵分解为rotateX()rotateY()等


如何指定自己的矩阵并应用它?

回答此类问题的最佳方法是查看

听起来您正在寻找
applyMatrix()
函数:

将当前矩阵乘以通过 参数。这是非常缓慢的,因为它将尝试计算 变换的逆方向,因此尽可能避免。这个 OpenGL中的等效函数是glMultMatrix()


等效的Processing.py参考是。

回答此类问题的最佳方法是查看

听起来您正在寻找
applyMatrix()
函数:

将当前矩阵乘以通过 参数。这是非常缓慢的,因为它将尝试计算 变换的逆方向,因此尽可能避免。这个 OpenGL中的等效函数是glMultMatrix()


等效的Processing.py引用为。

有一种替代方法似乎未被引用。您可以全局定义自定义矩阵
PMatrix mat=new PMatrix2D(2,0,200,0,2,200)
(按2缩放,按200平移)。然后您可以使用
draw()
中的
setMatrix(mat)
应用它。与
applyMatrix
相比,我不知道使用这种方法的利弊,因为我找不到任何关于它的信息。在processing-javadocs中的一长串方法中,有一个替代方法似乎没有被引用。您可以全局定义自定义矩阵
PMatrix mat=new PMatrix2D(2,0,200,0,2,200)
(按2缩放,按200平移)。然后您可以使用
draw()
中的
setMatrix(mat)
应用它。与
applyMatrix
相比,我不知道使用这种方法的利弊,因为我找不到任何关于它的信息。在处理javadoc的一长串方法中,它被简要地提到。
size(100, 100, P3D);
noFill();
translate(50, 50, 0);
rotateY(PI/6); 
stroke(153);
box(35);
// Set rotation angles
float ct = cos(PI/9.0);
float st = sin(PI/9.0);          
// Matrix for rotation around the 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);  
stroke(255);
box(50);