我试着绘制一幅3D图,我所得到的就是用2D绘制,正如你在下面的代码中所看到的,我试图用3D绘制线条,有深度,但我无法找到一种方法,不用使用框或已经没有移动的3D图形。到目前为止,我的代码如下:
import peasy.*;
static final int Lin =100;
//Loop Vintage
float t;
int x,y,z,a,b,c;
//Camera 3D
PeasyCam cam;
void setup ()
{
background(20);
size(800,600, P3D);
//Distance of Camera
cam = new PeasyCam(this, 1000);
}
void draw()
{
background(0);
stroke(255);
strokeWeight(1);
//Loop Vintage
Floop();
}
void Floop()
{ pushMatrix();
translate(CENTER,CENTER,CENTER);
rotate(0);
for(x=0;x<Lin; x++)
line(x1(t+x),y1(t+x),x2(t+x),y2(t+x));
popMatrix();
t++;
}
//Loop Vintage
float x1(float t)
{
return sin(t/10) * 100 + sin(t/5) * 20;
}
float y1(float t)
{
return cos(t/10) * 100;
}
float x2(float t)
{
return sin(t/10) * 200 + sin(t) * 2;
}
float y2(float t)
{
return cos(t/20) * 200 + sin(t/12) * 20;
}正如您所看到的,您需要peasyCam来看到任何改进。这个代码画了一个“单张双曲面”类似的图形,不是那么完美,而是我找到的最接近的几何形式。我试着用3D绘制它(或者重新绘制它的线条),如果你有什么想法可以帮助我的话,会很感激的,谢谢。
发布于 2018-06-08 16:39:29
我想我知道你的问题是什么,你想要它画一个夸张,但希望它在3D完成。
尝试将line切换为triangle (它将需要2个额外的参数)或sphere (这将需要半径)。
希望这样就行了。
https://stackoverflow.com/questions/50360713
复制相似问题