関数型プログラミング言語Haskell Part13
■ このスレッドは過去ログ倉庫に格納されています
0400デフォルトの名無しさん
2010/12/12(日) 14:27:00> 「時間を空間」にの「空間」の意味が曖昧でよくわからない。
空間は、結果的にはソースコード上の横方向の広がりだ。
縦方向の広がりが時間と考えてくれていい。
たとえば2つの図形A、Bがあり、これらを表示するアプリを作るんだが、
デフォルトではAの座標はBの座標系で表現されている。
しかし、ユーザーのメニューでの選択などで逆の場合も起こる。
つまりBをAの座標系で表現した方が扱いやすくなる。
時間軸に沿うなら、初めはAをBにする座標変換行列を計算して保存しておき、
メニューを選択した時点でBをAにする座標変換行列を計算して置き換えると考える。
そうではなく、AとBの関係性をソースコード上で一望できるように
空間的(ソースコード上の横方向の広がりに換えて)に考えるなら、
初めからAからBへの座標変換行列とBからAへの座標変換行列の
両方を計算してタプルやリストなどに格納しておくような記述をする。
図形(座標系)が複数合っても同じ。
互いの変換行列を最初に計算して、関係性をグラフで表しておく。
後で必要になった時にグラフのノードを辿って行列をかけ算していく。
これでイメージが少しでも伝わらなかったら、たぶん私の考え方が
どこか間違ってると思うので、しばらく頭を冷やす。
■ このスレッドは過去ログ倉庫に格納されています