📄 bricktower.pde
字号:
/** * Brick Tower * by Ira Greenberg. * * 3D castle tower constructed out of individual bricks. * Uses the PVector and Cube classes. */float bricksPerLayer = 16.0;float brickLayers = 18.0;Cube brick;float brickWidth = 60, brickHeight = 25, brickDepth = 25;float radius = 175.0;float angle = 0;void setup(){ size(640, 360, P3D); brick = new Cube(brickWidth, brickHeight, brickDepth);}void draw(){ background(0); float tempX = 0, tempY = 0, tempZ = 0; fill(182, 62, 29); noStroke(); // Add basic light setup lights(); translate(width/2, height*1.2, -380); // Tip tower to see inside rotateX(radians(-45)); // Slowly rotate tower rotateY(frameCount * PI/600); for (int i = 0; i < brickLayers; i++){ // Increment rows tempY-=brickHeight; // Alternate brick seams angle = 360.0 / bricksPerLayer * i/2; for (int j = 0; j < bricksPerLayer; j++){ tempZ = cos(radians(angle))*radius; tempX = sin(radians(angle))*radius; pushMatrix(); translate(tempX, tempY, tempZ); rotateY(radians(angle)); // Add crenelation if (i==brickLayers-1){ if (j%2 == 0){ brick.create(); } } // Create main tower else { brick.create(); } popMatrix(); angle += 360.0/bricksPerLayer; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -