⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vertices.pde

📁 This is processing for java examples.
💻 PDE
字号:
/** * Vertices  * by Simon Greenwold. *  * Draw a cylinder centered on the y-axis, going down  * from y=0 to y=height. The radius at the top can be  * different from the radius at the bottom, and the  * number of sides drawn is variable. */void setup() {  size(640, 360, P3D);}void draw() {  background(0);  lights();  translate(width / 2, height / 2);  rotateY(map(mouseX, 0, width, 0, PI));  rotateZ(map(mouseY, 0, height, 0, -PI));  noStroke();  fill(255, 255, 255);  translate(0, -40, 0);  drawCylinder(10, 180, 200, 16); // Draw a mix between a cylinder and a cone  //drawCylinder(70, 70, 120, 64); // Draw a cylinder  //drawCylinder(0, 180, 200, 4); // Draw a pyramid}void drawCylinder(float topRadius, float bottomRadius, float tall, int sides) {  float angle = 0;  float angleIncrement = TWO_PI / sides;  beginShape(QUAD_STRIP);  for (int i = 0; i < sides + 1; ++i) {    vertex(topRadius*cos(angle), 0, topRadius*sin(angle));    vertex(bottomRadius*cos(angle), tall, bottomRadius*sin(angle));    angle += angleIncrement;  }  endShape();    // If it is not a cone, draw the circular top cap  if (topRadius != 0) {    angle = 0;    beginShape(TRIANGLE_FAN);        // Center point    vertex(0, 0, 0);    for (int i = 0; i < sides + 1; i++) {      vertex(topRadius * cos(angle), 0, topRadius * sin(angle));      angle += angleIncrement;    }    endShape();  }  // If it is not a cone, draw the circular bottom cap  if (bottomRadius != 0) {    angle = 0;    beginShape(TRIANGLE_FAN);    // Center point    vertex(0, tall, 0);    for (int i = 0; i < sides + 1; i++) {      vertex(bottomRadius * cos(angle), tall, bottomRadius * sin(angle));      angle += angleIncrement;    }    endShape();  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -