not good but great

プログラミング、アート、映画・本の感想について書きます。

加速しながらマウスポインタに近づくパーティクル10000個

demo

Accelerating towards the mouse. from naoyashiga on Vimeo.

マウスでクリックした点にパーティクルが集まってきます。最初は点が中心から様々な方向に飛んでいっています。
・参考
http://natureofcode.com/book/chapter-1-vectors/

code

void Particle::update(){
    ofVec2f direction;
    ofVec2f acceleration;
    //velocity Max
    float vMax = 10;
    
    //compute direction
    direction = destination - position;
    
    //normalize the vector
    direction.normalize();
    
    if (destination.x != 0 || destination.y != 0) {
        //scale
        direction.scale(0.5);
        acceleration = direction;
        
        velocity += acceleration;
        velocity.limit(vMax);
        position += velocity;
    }else{
        position += velocity;
    }
}

ポイントはパーティクルとマウスポインタとの距離の半分の大きさを持った速度ベクトルを毎回足していることです。マウスポインタに近づけば、速度ベクトルは小さくなっています。マウスポインタに収束せずにぐるぐる回っているところがわかりませんでした・・・。

https://github.com/naoyashiga/oF_Playground/tree/master/myChasing/src