質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

Q&A

1回答

5267閲覧

processingでのフェードアウトについて

mana_mana419

総合スコア27

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

0グッド

0クリップ

投稿2020/02/07 00:16

お世話になります。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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

こないだのBLENDの話が結局わかってない、ということかしら?

blendMode()はデフォルトBLEND。
白(255)になっているところに、factor=31で黒(0)を上書きしたら、そのピクセルは
(255*(255-31)+0*31)/255=224
次のdraw()でまたfactor=31で黒を上書き
(224*(255-31)+0*31)/255=196
次のdraw()でまたfactor=31で黒を上書き
(196*(255-31)+0*31)/255=172
というわけでdraw()で黒を上書きする毎にだんだん「フェードアウト」していく、それだけの話です。

投稿2020/02/07 13:56

thkana

総合スコア7703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問