如何使用Processing.JS制作3D表格?

时间:2016-04-07 16:14:05

标签: processing processing.js

我想运行一个for循环,它的颜色为褐色。这条线会越来越小,但不会太小。

最终图像将如下所示,但桌面颜色为棕色:

//Back wall
fill(102, 102, 102);
rect(50,50,300,300);
//Top Left Corner
line(50,50,0,0);
//Top Right Corner
line(350,50,400,0);
//Bottom Left Corner
line(350,350,400,400);
//Bottom Riight Corner
line(50,350,0,400);

//Table
//Top Left
fill(48, 17, 0);
rect(163,312,3,38);
//Top Right
fill(48, 17, 0);
rect(230,312,3,38);
//Mesa
fill(48, 17, 0);
rect(126,322,142,5);
//Right Side
line(126,322,168,312);
//Top Side
line(234,312,168,312);
//Right Side
line(269,322,232,312);
//Bottom Left Leg
rect(126,327,5,41);
line(126,368,126,322);
//Bottom Right Leg
rect(263,327,5,41);
line(269,368,268,322);

我试过这个循环:

for(var x = 200; x > 100; x--){

 stroke(61, 34, 0);
 line(x,200,x,200);

}

x值将减小,直到x = 100.但是,在确定background()之后,它没有显示变小的行!已经不在了。

P.S。给出的代码是分开的。

1 个答案:

答案 0 :(得分:1)

您只是更改正在绘制的线条的x坐标,因此线条会水平移动,而不是垂直移动。

如果您希望线条垂直移动(在表格中为颜色)和水平移动(在“越远”时使其变小),您将不得不同时更改x和{{ 1}}您传递给y函数的值。

但是你要比现在更难。你没有理由画一堆线来获得这种形状。只需使用 beginShape() 函数直接绘制多边形。像这样:

line()

请注意,这只是一个示例,您必须使用值来在正确的位置绘制它。但重点是你不必使用for循环来绘制线条来绘制多边形。

由于您正在尝试绘制3D场景,您还应注意,您可以简单地使用3D坐标和vertex()功能来绘制3D。不需要试图强迫自己的观点。