2010-06-12から1日間の記事一覧

SICP §2.2.4(図形言語 その7 [ペインタのまとめ])

さ、やっと『ペインタ』のおでましだ。ペインタはフレームを引数として受け取り、そのフレームに合うように描画しようとする手続だ。 ここで、やっとgauche-glとの融合がなされる・・・長かった。。 SICPで記述されているペインタの例は「線画のペインタ」だ…

SICP §2.2.4(図形言語 その6 [フレームの概念のまとめとフレーム座標写像について])

今度は『フレーム』の概念の説明。SICPによると、ペインタの実装方法と組み合わせ方法を考える前に『フレーム』を考えなきゃならんのだって。・・・知らんがな(´・ω・`)。 フレームを構成するのに必要な要素は、次の3つ。 ・原点ベクタ:平面の絶対原点から…

SICP §2.2.4(図形言語 その5 [高階関数としてのペインタの扱い])

次の「高階関数」のサブセクションでは、「ペインタが手続だからできること」を解説してる風。 ;四種類の「ペインタを生成する手続き」を引数で受け取って、 ;左上、左下、右上、右下に描画行うペインタの生成手続きを返却する。 ;(その手続は、引数として…

SICP §2.2.4(図形言語 その4 [ペインタの生成・変換])

前エントリの wave4 は、まず wave2 を定義してから、beside と絡めて生成しているが、wave2 を生成しなくても生成できたりする。 (define (flipped-paires painter) (let ((painter2 (beside painter (flip-vert painter)))) (below painter2 painter2))) (…