アルゴリズムに沿ってソースを書き換える

巷には、多くのプログラミングの解説書があります。

それにはサンプルコードが載ってるんだけど、その通りやったところでうまくいかないことはザラ。

っていうのは、今Rust nannouでジェネラティブアートやってるわけだけど、Rustで書かれたコードの本なんて、ほぼないから(見たことない)主にProcessingのコードが載ってる本を参考にしてるわけです。

Processingとnannouでは、言語が違うから、もちろんその通り入れたところで動くはずはない。(Processingは、JAVA、Python、JavaScriptかな?)
なので、もちろんRustに書き直すわけだけど、それだけでもうまくはいかない。

なぜなら、Processingとnannouでは、座標の考え方が違うから。
Processingは左上が(0,0)で、右下に行くほど数値が増えるっていう座標系
nannouは、中高で習ったような座標系。中心が(0,0)で右上に行けば増加、左下に行けば減少。

こんな感じ。

座標の増減とか、描画座標の設定とかも全く変わっちゃう。
細かいことを言えばもっとたくさんあるけどザックリね

サンプルコード通りにやってもうまくいかない。

ここで大切なのは、アルゴリズムを考えること。
何をしているのか、手順や考え方をとらえて、ソースコードを書き直さなきゃいけないのよね。

Rust nannouは情報がまだまだ、少ないから、手さぐりになるので、こういう作業が欠かせない。
ただソースコードを書き写すだけじゃなくて、どうやってやってるのかな?仕組みは?手順は?考え方は?
ここをポイントに考えれれば、ジェネラティブアートのこういうコードだけじゃなくて、いろんな、ソースコードを見たり考えたりする時の役に立つのかな?なんてねー

コメント

タイトルとURLをコピーしました