processingで半径100の円cを書き円cに外接する四角形Rを書いた後100個の点を打ち円の中にあれば青色、円の外なら赤色の点となるプログラムを作っていて、点と円の中心の距離を求める際にdist関数を用いているのですが、エラーがでてしまいます。float d=dist(x[i], y[i], l, m);の入れる場所をsetupやdrawの中に入れてみたり、エラーメッセージに変数iが存在しないとでてくるのでfloat d=dist(x, y, l, m);にしてiを消してみたりと思いつく限り色々やってみたのですがうまくいかないので何が悪いのか教えてください。
int l=100,m=100; float [] x=new float[100]; float [] y=new float[100]; float d=dist(x[i], y[i], l, m); void setup() { size(200, 200); rect(0, 0, 200, 200); ellipse(100, 100, 200, 200); } void draw() { for (int i=0; i<100; i++) { x[i]=random(0, 200); y[i]=random(0, 200); } if (d<100) { stroke(0, 0, 255, 100); } else { stroke(255, 0, 0, 100); } point(x[i], y[i]); }
分からないところがいまいち伝わらないので箇条書きで書いて頂いてよろしいですか?
それとコードはcodeで囲って下さい。
すいません、まだこのサイトで質問するのに慣れてないのでcodeで囲むというのがよくわかりません。
なのでコードはint l=100,m=100;から下のすべてです。
あとわからない部分についてですが
・float d=dist(x[i],y[i],l,m)でエラーが出てしまう理由と改善点
どうかよろしくお願いします。
「わからない」ならやらなくていいのでしょうか...
質問の編集に入り、プログラム部分を選択して記入欄上の方の<code>をクリックすれば出来るはずです。
手動で、プログラム部分の前後に
```Processing
int l=100,m=100;
<略>
point(x[i], y[i]);
}
```
としてもいいですけれど。(`と'は違う記号なので注意)
回答2件
あなたの回答
tips
プレビュー