前提・実現したいこと
Processingで円の中心座標から円の中心座標へ向けて線分を引くプログラムを書いています。
配列axとayは16個の円の中心の座標値を表す配列。配列axとayの値は、円を描いたり、円をつなぐ線を描くのに使う。
円を描くソースコードは書くことができ、実行結果もしっかり出たのですが、正直これすらあっているのかもわからない状態です。円の中心をつなぐソースコードの方がまったく反映されず初心者の私にはすっかりお手上げ状態なので助けていただきたく今回質問させていただこうと思いました。
配列NWの添字と配列の値を使ってどの円同士がつながっているのかを表します。配列の値が1の場合はつながっていて、0の場合はつながっていないと判断させます。 例としては、NW[0][1]は1となるので、円0と円1はつながっていることを意味します。なので、axとayの値を使って円0と円1の中心座標をつなぐ線を引くものとします。 やりたいこととしては、入れ子構造のfor文を使って配列NWを走査し、値が1となる添字の組み合わせをif文で見つけることです。見つかった場合は、その添字の組み合わせに対応する円をつなぐ線を引きます。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
int[] ax = new int[]{100,200,300,400,100,200,300,400,100,200,300,400,100,200,300,400};
int[] ay = new int[]{100,100,100,100,200,200,200,200,300,300,300,300,400,400,400,400};
int[][]NW = new int[][
{
{0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0},
{1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0},
{0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0},
{0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0},
{1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0},
{0,1,0,0,1,0,1,0,0,1,0,0,0,0,0,0},
{0,0,1,0,0,1,0,1,0,0,1,0,0,0,0,0},
{0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0},
{0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0},
{0,0,0,0,0,1,0,0,1,0,1,0,0,1,0,0},
{0,0,0,0,0,0,1,0,0,1,0,1,0,0,1,0},
{0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1},
{0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0},
{0,0,0,0,0,0,0,0,0,1,0,0,1,0,1,0},
{0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,1},
{0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0}
};
void setup(){
int i,j;
size(500,500);
background(255);
strokeWeight(10);
/ここから、円をつなぐ線を引くプログラムを記述します。/
strokeWeight(2);
/ここから、円を描くプログラムを記述します。/
/円の大きさは50ピクセル/
}
試したこと
円の中心をつなぐソースコードの場所に、new int[i][j]やint[][]NW = new int[i][j]など試しに書いてみましたが、エラーが出てしまい実行に至ることができませんでした。
補足情報(FW/ツールのバージョンなど)
最新のProcessingを使用しております。