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的主要内容,如果未能解决你的问题,请参考以下文章