Я пытаюсь сделать 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, если у вас есть идеи, которые могут мне помочь, буду признателен,
Спасибо