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

📄 spring.pde

📁 This is processing for java examples.
💻 PDE
字号:
/** * Spring.  *  * Click, drag, and release the horizontal bar to start the spring.  */ // Spring drawing constants for top barint s_height = 16;     // Heightint left = 50;         // Left positionint right = 150;       // Right positionint max = 100;         // Maximum Y valueint min = 20;          // Minimum Y valueboolean over = false;  // If mouse overboolean move = false;  // If mouse down and over// Spring simulation constantsfloat M = 0.8;   // Massfloat K = 0.2;   // Spring constantfloat D = 0.92;  // Dampingfloat R = 60;    // Rest position// Spring simulation variablesfloat ps = 60.0; // Positionfloat vs = 0.0;  // Velocityfloat as = 0;    // Accelerationfloat f = 0;     // Forcevoid setup() {  size(200, 200);  rectMode(CORNERS);  noStroke();}void draw() {  background(102);  updateSpring();  drawSpring();}void drawSpring() {  // Draw base  fill(0.2);  float b_width = 0.5 * ps + -8;  rect(width/2 - b_width, ps + s_height, width/2 + b_width, 150);  // Set color and draw top bar  if(over || move) {     fill(255);  } else {     fill(204);  }  rect(left, ps, right, ps + s_height);}void updateSpring(){  // Update the spring position  if(!move) {    f = -K * (ps - R);    // f=-ky    as = f / M;           // Set the acceleration, f=ma == a=f/m    vs = D * (vs + as);   // Set the velocity    ps = ps + vs;         // Updated position  }  if(abs(vs) < 0.1) {    vs = 0.0;  }  // Test if mouse is over the top bar  if(mouseX > left && mouseX < right && mouseY > ps && mouseY < ps + s_height) {    over = true;  } else {    over = false;  }    // Set and constrain the position of top bar  if(move) {    ps = mouseY - s_height/2;    if (ps < min) { ps = min; }     if (ps > max) { ps = max; }  }}void mousePressed() {  if(over) {    move = true;  }}void mouseReleased(){  move = false;}

⌨️ 快捷键说明

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