Processing笔记(三) By XANA Published 2015-04-04 Contents 1. 创建3D图形1.0.1. 创建3D画布1.1. 盒模型1.1.1. 3D坐标系统转换1.2. 光线模型1.2.1. 照明半径 创建3D图形创建3D画布1size(x, y, P3D) 盒模型1box(size) //在左上角绘制边长为size的立方体 3D坐标系统转换1rotateY(map(mouseX, 0, width, -PI, PI)); //围绕y轴旋转,坐标/旋转范围 基于鼠标的简单 3D 旋转示例,很短,很酷 123456789101112131415void setup() { size(200, 200, P3D); noFill(); smooth();}void draw() { background(0); translate(width/2, height/2, -(width/2)); //在中心绘图 rotateY(map(mouseX, 0, width, -PI, PI)); //水平旋转 stroke(100); box(150); rotateX(map(mouseY, 0, height, -PI, PI)); //竖直旋转 stroke(150); box(75); //绘制立方体} 光线模型1pointLight(50, 100, 180, 80, 20, 40); //RGB颜色和光源位置 照明半径1sphere(40); //照明半径为40,默认以(0, 0)为中心 举个例子(markdown不会发图好蛋疼) 123456size(100, 100, P3D);background(0);noStroke();pointLight(50, 100, 180, 80, 20, 40); //设置光源translate(20, 50, 0); //设置照明区域中心sphere(40); //照明范围