87 lines
2.1 KiB
Plaintext
87 lines
2.1 KiB
Plaintext
void cylinder(float bottom, float top, float h, int sides) {
|
|
pushMatrix();
|
|
float angleX = HALF_PI;
|
|
float angleY = 0;
|
|
rotateX(angleX);
|
|
rotateY(angleY);
|
|
translate(0, h / 2, 0);
|
|
|
|
float angle;
|
|
float[] x = new float[sides + 1];
|
|
float[] z = new float[sides + 1];
|
|
|
|
float[] x2 = new float[sides + 1];
|
|
float[] z2 = new float[sides + 1];
|
|
|
|
for (int i = 0; i < x.length; i++) {
|
|
angle = TWO_PI / (sides) * i;
|
|
x[i] = sin(angle) * bottom;
|
|
z[i] = cos(angle) * bottom;
|
|
}
|
|
|
|
for (int i = 0; i < x.length; i++) {
|
|
angle = TWO_PI / (sides) * i;
|
|
x2[i] = sin(angle) * top;
|
|
z2[i] = cos(angle) * top;
|
|
}
|
|
|
|
beginShape(TRIANGLE_FAN);
|
|
|
|
vertex(0, -h / 2, 0);
|
|
|
|
for (int i = 0; i < x.length; i++) {
|
|
vertex(x[i], -h / 2, z[i]);
|
|
}
|
|
|
|
endShape();
|
|
|
|
beginShape(QUAD_STRIP);
|
|
|
|
for (int i = 0; i < x.length; i++) {
|
|
vertex(x[i], -h / 2, z[i]);
|
|
vertex(x2[i], h / 2, z2[i]);
|
|
}
|
|
|
|
endShape();
|
|
|
|
beginShape(TRIANGLE_FAN);
|
|
|
|
vertex(0, h / 2, 0);
|
|
|
|
for (int i = 0; i < x.length; i++) {
|
|
vertex(x2[i], h / 2, z2[i]);
|
|
}
|
|
|
|
endShape();
|
|
|
|
popMatrix();
|
|
}
|
|
|
|
color getRandomTreeColor() {
|
|
int rand = int(random(0, 101));
|
|
|
|
if (rand < 10) return color(255, 69, 0);
|
|
if (rand < 20) return autumn1;
|
|
if (rand < 30) return autumn2;
|
|
if (rand < 40) return autumn3;
|
|
if (rand < 50) return autumn4;
|
|
if (rand < 60) return autumn5;
|
|
if (rand < 70) return autumn6;
|
|
if (rand < 80) return autumn7;
|
|
|
|
return darkgreen;
|
|
}
|
|
|
|
color getRandomFlowerColor() {
|
|
//float yellowBrightness = 150;
|
|
//float rand1 = yellowBrightness + randomGaussian() * 25;
|
|
//float rand2 = yellowBrightness + randomGaussian() * 25;
|
|
//float rand3 = yellowBrightness + randomGaussian() * 25;
|
|
|
|
//rand1 = constrain(rand1, 0, 255);
|
|
//rand2 = constrain(rand2, 0, 255);
|
|
//rand3 = constrain(rand3, 0, 255);
|
|
|
|
return color(random(0, 255), random(0, 255), random(0, 255));
|
|
}
|