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

📄 chain.pde

📁 This is processing for java examples.
💻 PDE
字号:
/** * Chain.  *  * One mass is attached to the mouse position and the other  * is attached the position of the other mass. The gravity * in the environment pulls down on both.  */Spring2D s1, s2;float gravity = 6.0;float mass = 2.0;void setup() {  size(200, 200);  smooth();  fill(0);  // Inputs: x, y, mass, gravity  s1 = new Spring2D(0.0, width/2, mass, gravity);  s2 = new Spring2D(0.0, width/2, mass, gravity);}void draw() {  background(204);  s1.update(mouseX, mouseY);  s1.display(mouseX, mouseY);  s2.update(s1.x, s1.y);  s2.display(s1.x, s1.y);}class Spring2D {  float vx, vy; // The x- and y-axis velocities  float x, y; // The x- and y-coordinates  float gravity;  float mass;  float radius = 20;  float stiffness = 0.2;  float damping = 0.7;    Spring2D(float xpos, float ypos, float m, float g) {    x = xpos;    y = ypos;    mass = m;    gravity = g;  }    void update(float targetX, float targetY) {    float forceX = (targetX - x) * stiffness;    float ax = forceX / mass;    vx = damping * (vx + ax);    x += vx;    float forceY = (targetY - y) * stiffness;    forceY += gravity;    float ay = forceY / mass;    vy = damping * (vy + ay);    y += vy;  }    void display(float nx, float ny) {    noStroke();    ellipse(x, y, radius*2, radius*2);    stroke(255);    line(x, y, nx, ny);  }}

⌨️ 快捷键说明

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