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

📄 esfera.pde

📁 This is processing for java examples.
💻 PDE
字号:
/** * Esfera * by David Pena.   *  * Distribucion aleatoria uniforme sobre la superficie de una esfera.  */import processing.opengl.*;int cuantos = 8000;pelo[] lista ;float[] z = new float[cuantos]; float[] phi = new float[cuantos]; float[] largos = new float[cuantos]; float radio = 200;float rx = 0;float ry =0;void setup() {  size(1024, 768, OPENGL);  radio = height/3.5;    lista = new pelo[cuantos];  for (int i=0; i<cuantos; i++){    lista[i] = new pelo();  }  noiseDetail(3);}void draw() {  background(0);  translate(width/2,height/2);  float rxp = ((mouseX-(width/2))*0.005);  float ryp = ((mouseY-(height/2))*0.005);  rx = (rx*0.9)+(rxp*0.1);  ry = (ry*0.9)+(ryp*0.1);  rotateY(rx);  rotateX(ry);  fill(0);  noStroke();  sphere(radio);  for (int i=0;i<cuantos;i++){    lista[i].dibujar();  }}class pelo{  float z = random(-radio,radio);  float phi = random(TWO_PI);  float largo = random(1.15,1.2);  float theta = asin(z/radio);    void dibujar(){    float off = (noise(millis() * 0.0005,sin(phi))-0.5) * 0.3;    float offb = (noise(millis() * 0.0007,sin(z) * 0.01)-0.5) * 0.3;    float thetaff = theta+off;    float phff = phi+offb;    float x = radio * cos(theta) * cos(phi);    float y = radio * cos(theta) * sin(phi);    float z = radio * sin(theta);    float msx= screenX(x,y,z);    float msy= screenY(x,y,z);    float xo = radio * cos(thetaff) * cos(phff);    float yo = radio * cos(thetaff) * sin(phff);    float zo = radio * sin(thetaff);    float xb = xo * largo;    float yb = yo * largo;    float zb = zo * largo;        beginShape(LINES);    stroke(0);    vertex(x,y,z);    stroke(200,150);    vertex(xb,yb,zb);    endShape();  }}

⌨️ 快捷键说明

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