読者です 読者をやめる 読者になる 読者になる

牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

2.2.4 Example: A Picture Language でグラフィック扱うから下準備してみた

SICP

2.2.4 Example: A Picture Language(例:絵柄言語?)やるのに絵柄表示のやり方を調べて下準備をしてみた。

gauche-gl

とりあえずMacportsgauche-glをインスコ
ターミナルから『sudo port install gauche-gl』でオケイ(だったはず)

sampleを動かしてしてみる

サンプルのgears.scmを探してターミナルから実行(うちの環境では/opt/local/share/doc/gauche-gl/examples/gears.scm)

ターミナルで『gosh 』と入力してから、gears.scmファイルをドラッグ&ドロップするとパスが表示される、簡単便利(・∀・)。んで、実行

gosh /opt/local/share/doc/gauche-gl/examples/gears.scm

ぐるぐる回る歯車が表示される。凄いなぁこれ。静止画でなくて動画なのね。



gears.scmのソースを見てみるがよくわからん(´・ω・`)
他のサイトを見て回ってみた。


共通してるっぽいところ

(use gl)
(use gl.glut)


(define (main args)
    (glut- ...
:
)

(define (display)
    (gl-...
:
)

(define (init)
    (gl-clear-color ...
:
)

このあたりを押さえとけばいいのかな?とりあえず。

線を描いてみる
(use gl)
(use gl.glut)

(define (main args)
  (glut-init args)
  (glut-init-display-mode GLUT_RGBA)
  (glut-create-window "SICP")
  (glut-display-func display)
  (init)
  (glut-main-loop))

(define (display)
  (gl-clear-color 1.0 1.0 1.0 1.0)
  (gl-clear GL_COLOR_BUFFER_BIT)
  (gl-color 0.0 0.0 0.0)
  (gl-begin GL_LINES)
  (gl-vertex -0.7 -0.7)
  (gl-vertex 0.7 0.7)
  (gl-vertex 0.9 0.0)
  (gl-vertex 0.0 0.9)
  (gl-end)
  (gl-flush)
  )

(define (init)
  (gl-clear-color 0.0 0.0 1.0 1.0)
  )


うまくいった(・∀・)

なんとなく少しばかりイラストっぽくしてみた
(use gl)
(use gl.glut)

(define (main args)
  (glut-init args)
  (glut-init-display-mode GLUT_RGBA)
  (glut-create-window "SICP")
  (glut-display-func display)
  (init)
  (glut-main-loop))

(define (display)
  (gl-clear-color 1.0 1.0 1.0 1.0)
  (gl-clear GL_COLOR_BUFFER_BIT)
  (gl-color 0.0 0.0 0.0)
  (gl-begin GL_LINES)
  (gl-vertex -1.0 -1.0)
  (gl-vertex -0.5 1.0)
  (gl-vertex -0.5 1.0)
  (gl-vertex -0.4 0.7)
  (gl-vertex -0.4 0.7)
  (gl-vertex 0.5 0.7)
  (gl-vertex 0.5 0.7)
  (gl-vertex 0.6 1.0)
  (gl-vertex 0.6 1.0)
  (gl-vertex 1.0 -1.0)
  (gl-vertex -0.2 0.3)
  (gl-vertex -0.2 0.3)
  (gl-vertex -0.3 0.3)
  (gl-vertex -0.3 0.3)
  (gl-vertex -0.3 0.1)
  (gl-vertex -0.3 0.1)
  (gl-vertex 0.5 0.3)
  (gl-vertex 0.4 0.3)
  (gl-vertex 0.4 0.3)
  (gl-vertex 0.4 0.1)
  (gl-vertex 0.4 0.1)
  (gl-vertex 0.5 0.1)
  (gl-vertex -0.2 0.3)
  (gl-vertex -0.3 0.3)
  (gl-vertex -0.3 0.3)
  (gl-vertex -0.3 0.1)
  (gl-vertex -0.3 0.1)
  (gl-vertex -0.2 0.1)
  (gl-vertex -0.1 -0.2)
  (gl-vertex -0.1 -0.1)
  (gl-vertex -0.1 -0.1)
  (gl-vertex 0.4 -0.1)
  (gl-end)
  (gl-flush)
  )

(define (init)
  (gl-clear-color 0.0 0.0 1.0 1.0)
  )


できた
題名『プチでビル』


特に意味ないです...