ProcessingJoy ——互斥的彩色粒子JAVA

Posted panda1234lee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ProcessingJoy ——互斥的彩色粒子JAVA相关的知识,希望对你有一定的参考价值。

效果图

代码十分简单,所以就话不多说,直接看代码与注释

完整代码与注释

定义粒子的 Particle 类

class Particle{

  float mass = random(0.003, 0.03);
  PVector position;
  PVector velocity = new PVector(0, 0);
  color colors[] = {#52489c, #4062bb, #59c3c3, #ebebeb, #f45b69};
  int idx = 0;
  
  Particle(){
    position = new PVector(mouseX, mouseY);
    idx = (int)random(5);
  }

  void draw(){
    
    PVector acc = new PVector(0, 0);
    for(int i = 0; i < particles.size(); i++){
      Particle p = particles.get(i);
      if(p != this){
        /// @note 根据两个粒子之间的距离,计算互相作用力,并更新本粒子的加速度
        float distance = max(PVector.dist(this.position, p.position), 1);
        float force = (distance - 300) * this.mass / distance;
        acc.add( PVect

以上是关于ProcessingJoy ——互斥的彩色粒子JAVA的主要内容,如果未能解决你的问题,请参考以下文章

ProcessingJoy ——路径文字JAVA

互动创意编程点击产生彩色粒子

互动创意编程点击产生彩色粒子

ProcessingJoy —— 多种风格的字符马赛克JAVA

ProcessingJoy —— 圆弧成画JAVA

粒子系统 libGDX [关闭]