第0章
一、参照案例以及拓展
利用柏林噪声生成地形
二、效果截图
三、代码以及说明
int cols,rows;
int density =30;
int w=1800;
int h=1500;
float[][] terrain;
float jump=0;
void setup()
{
size(600,600,P3D);
cols=w/density;
rows=h/density;
terrain=new float[cols][rows];
}
void draw()
{
jump-=0.1;
float yoff=jump;
for(int y=0;y<rows;y++)
{
float xoff=0;
for(int x=0;x<cols;x++)
{
terrain[x][y]=map(noise(xoff,yoff),0,1,-80,80);
xoff+=0.22;
}
yoff+=0.22;
}
background(0);
stroke(205,92,92);
noFill();
translate(width/2,height/2+50);
rotateX(PI/3);
translate(-w/2,-h/2);
for(int y=0;y<rows-1;y++)
{
beginShape(TRIANGLE_STRIP);
for(int x=0;x<cols;x++)
{
vertex(xdensity,ydensity,terrain[x][y]);
vertex(x*density,(y+1)*density,terrain[x][y+1]);
}
endShape();
}
}
构建网络地形
调节地形起伏程度
调节速度快慢
改变颜色
第1章
一、参照案例以及拓展
向量及加速度
二、效果截图
三、代码以及说明
Mover[] movers = new Mover[15];
void setup() {
size(500,500);
smooth();
background(255);
for (int i = 0; i < mov