如何将此处理代码转换为 P5.js

How can I convert this Processing code to P5.js

在处理过程中我这样做了:

  void turnFacesZ(int dir) {
    for (Face f : faces) {
      f.turnZ(dir*HALF_PI); 
    }
  }

我试过这个:

function turnFacesZ(dir) {
    for (var f; f < faces.length(); f++) {
      f.turnZ(dir*HALF_PI); 
    }
  }

还有这个:

function turnFacesX(dir) {
    faces.forEach(function(turnX(dir*HALF_PI)));
  }

尽管其中 none 有效。

此外,

var matrix = new PMatrix3D();

什么等同于 javascript 中的 PMatrix3D 库?

第一次尝试:

function turnFacesZ(dir) {
   for (var f; f < faces.length(); f++) {
     f.turnZ(dir*HALF_PI); 
   }
 }

您错过了初始化循环的控制变量 (var f=0)。必须是:

function turnFacesZ(dir) {
    for (var f=0; f < faces.length(); f++) {
         f.turnZ(dir*HALF_PI); 
    }
}

第二次尝试

function turnFacesX(dir) {
   faces.forEach(function(turnX(dir*HALF_PI)));
 }

你错过了回调函数中的 "current value" 参数并且回调函数没有主体:

function turnFacesX(dir) {
    faces.forEach( function(f) {
        f.turnX(dir*HALF_PI);
    } );
}

如果你想在 javascript 中进行矩阵计算,那么你可以使用像 glMatrix 这样的库。