お世話になります。processingで白い円を描き、それをベクトルで動かしている時に、その白い円の軌跡を黒くフェードさせる方法を学びました。
processing
1PVector force; // 力 2PVector acceleration; // 加速度 3PVector location; // 位置 4PVector velocity; // 速度 5float mass; // 質量 6float friction; // 摩擦力 7 8void setup() { 9 size(800, 600); 10 frameRate(60); 11 // 位置、速度を初期化する 12 location = new PVector(0.0, 0.0); 13 velocity = new PVector(0.0, 0.0); 14 force = new PVector(12.0, 8.0); // (12.0, 8.0)の力を加える 15 mass = 1.0; // 質量は1.0に設定する 16 friction = 0.02; // 摩擦力を0.01に設定する 17 acceleration = force.div(mass); // 質量と速度から加速度を算出する 18} 19 20void draw() { 21 22 //背景をフェードさせる 23 fill(0, 31); 24 rect(0, 0, width, height); 25 26 fill(255); 27 noStroke(); 28 29 velocity.add(acceleration); // 加速度から速度を算出する 30 velocity.mult(1.0 - friction); // 摩擦力から速度を変化させる 31 location.add(velocity); // 速度から位置を算出する 32 acceleration.set(0, 0); // 加速度を0にリセット(等速運動)する 33 ellipse(location.x, location.y, 20, 20); // 円を描画する 34}
この中の
processing
1 //背景をフェードさせる 2 fill(0, 31); 3 rect(0, 0, width, height)
このコードがあることで、なぜ白い円の軌跡が生まれ、かつ徐々に消えるのか全くわかりませんでした。。。
読みづらく、長くなってしましすいません。もしわかる方がおりましたら、是非お力を貸していただきたいです。
よろしくお願いいたしますm(_ _)m
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。