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

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

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

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

Q&A

解決済

1回答

464閲覧

Processing

myunche

総合スコア1

Processing

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

1グッド

0クリップ

投稿2023/02/20 17:37

以下のコードは小さい点がランダムな動きを行い、点が重なって面に見えるようになっています。
そこで点の動きはそのままで、動いている図形を点から線に変えたいのですが、図形を変えられても動きが点の時の動きとは違く、上手く操作できずにいます。
アドバイスやヒントなどお願いしたいです、よろしくお願いいたします。

int a = 4;
float[]x=new float[a];
float[]y=new float[a];

void setup(){
size(500,500);
frameRate(100);
background(0);
for ( int i = 0; i < a; i ++ ) {

x [i] = width / 2.0;
y [i] = height / 2.0;

}
}

void draw(){
stroke(255);
noFill();

for ( int i = 0; i < a; i ++ ) {
point ( x[i], y[i]);

x[i] = x[i] + random(-5,5);
y[i] = y[i] + random(-5,5);
}
}

TN8001😄を押しています

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

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

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

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

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

myunche

2023/02/21 06:28

初めて質問を投稿したため不慣れで申し訳ないです…次回から実践させていただきます。
thkana

2023/02/21 11:50

今回から実践してもいいんですよ?
guest

回答1

0

ベストアンサー

点の動きはそのままで、動いている図形を点から線に変えたい

このニュアンスがよくわかりませんが、「点と点を線でつなぎたい」ってことでしょうか?
Brownian motion / Examples / Processing.org

そうだとして...
動く前の位置と動いた後の位置はわかっているのですから、(先回りして)動く前後の位置で線を描けばいいでしょう。

Processing

1int a = 4; 2float[] x = new float[a]; 3float[] y = new float[a]; 4 5void setup() { 6 size(500, 500); 7 frameRate(100); 8 background(0); 9 stroke(255); 10 noFill(); 11 12 for (int i = 0; i < a; i++) { 13 x[i] = width/2; 14 y[i] = height/2; 15 } 16} 17 18void draw() { 19 for (int i = 0; i < a; i++) { 20 float x2 = x[i] + random(-5, 5); 21 float y2 = y[i] + random(-5, 5); 22 23 //point(x[i], y[i]); 24 line(x[i], y[i], x2, y2); 25 26 x[i] = x2; 27 y[i] = y2; 28 } 29}

それとも「点の代わりにランダムな長さ・向きの線を描きたい」ってことかな??

Processing

1int a = 4; 2float[] x = new float[a]; 3float[] y = new float[a]; 4 5void setup() { 6 size(500, 500); 7 frameRate(10); 8 background(0); 9 stroke(255); 10 noFill(); 11 12 for (int i = 0; i < a; i++) { 13 x[i] = width/2; 14 y[i] = height/2; 15 } 16} 17 18void draw() { 19 for (int i = 0; i < a; i++) { 20 //point(x[i], y[i]); 21 22 PVector v = PVector.random2D().mult(random(5, 10)); 23 line(x[i], y[i], x[i] + v.x, y[i] + v.y); 24 line(x[i], y[i], x[i] - v.x, y[i] - v.y); 25 26 x[i] += random(-5, 5); 27 y[i] += random(-5, 5); 28 } 29}

random2D() / Reference / Processing.org
mult() / Reference / Processing.org

投稿2023/02/20 21:41

編集2023/02/20 22:00
TN8001

総合スコア9244

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

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

TN8001

2023/02/20 21:43 編集

「そうじゃないんだよぉ」って場合は、もう少し詳しくイメージをお伝えください。
myunche

2023/02/21 06:27

「点の代わりにランダムな長さ・向きの線を描きたい」です! pointをlineに変え数値を色々変えても長い線しか出てこなく、なかなか理解できていなかったためとても参考になります。ご丁寧に2件もコメントをくださってありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問