如何绘制立方体,长方体和金字塔

时间:2011-02-15 06:44:12

标签: processing.js

我使用以下代码绘制一个多维数据集。

// Re-creates the default perspective
size(100, 100, P3D);
noFill();
smooth();
float fov = PI/3.0;
fill(25, 210, 12);
float cameraZ = (height/2.0) / tan(fov/2.0);
perspective(fov, float(width)/float(height), 
            cameraZ/10.0, cameraZ*10.0);
translate(50, 50, 0);
rotateX(-PI/6);
rotateY(PI/3.5);
box(45);

对透视方法的调用导致多维数据集以虚线显示,如何修改代码以获得实线。

在processing.js之上是否有任何库提供了一个简单的包装器来构建这些3D形状。

1 个答案:

答案 0 :(得分:1)

在功能说明中,您需要更好地格式化该代码:

void setup() {
  // Re-creates the default perspective
  size(100, 100, P3D);
  noFill();
  smooth();
  // use this if your animation is input-based,
  // so the browser doesn't hog the cpu.
  noLoop(); 
}

void draw() {
  float fov = PI/3.0;
  fill(25, 210, 12);
  float cameraZ = (height/2.0) / tan(fov/2.0);
  perspective(fov, float(width)/float(height), 
              cameraZ/10.0, cameraZ*10.0);
  translate(50, 50, 0);
  rotateX(-PI/6);
  rotateY(PI/3.5);
  box(45);
}

但是从建设性的角度来看:这个代码适用于我在Chrome 10和Firefox 4中使用processing.js 1.1.0。没有虚线,只有漂亮的实心边缘。