next up previous
Next: 20.2 親子関係の定義assoc,dissoc Up: 20 座標系モデル Previous: 20 座標系モデル

20.1 locate, rotate

posやrotを変更する手続きとしては,移動(locate)や回転手続き(rotate)があ る.
eus$ (send c1 :locate #f(1 2 3))
#<coordinates #X339d9c  1.0 2.0 3.0 / 0.0 0.0 0.0>
eus$ (send c1 :pos)
#f(1.0 2.0 3.0)
eus$ (send c1 :rotate (deg2rad 45) :x)
#<coordinates #X339d9c  1.0 2.0 3.0 / 0.0 0.0 0.785>
eus$ (describe c1)
plist=nil
rot=#2f((1.0 0.0 0.0)
        (0.0 0.707107 -0.707107)
        (0.0 0.707107 0.707107))
pos=#f(1.0 2.0 3.0)
nil
同様に,

eus$ (setq c2 (instance cascaded-coords :init))
#<cascaded-coords #X3394cc  0.0 0.0 0.0 / 0.0 0.0 0.0>
eus$ (setq c3 (instance cascaded-coords :init))
#<cascaded-coords #X339118  0.0 0.0 0.0 / 0.0 0.0 0.0>
eus$ (send c3 :locate #f(100 0 0))
#<cascaded-coords #X339118  100.0 0.0 0.0 / 0.0 0.0 0.0>
eus$ (describe c2)
plist=nil
rot=#2f((1.0 0.0 0.0)
        (0.0 1.0 0.0)
        (0.0 0.0 1.0))
pos=#f(0.0 0.0 0.0)
parent=nil
descendants=nil
worldcoords=#<coordinates #X3393ac
         0.0 0.0 0.0 / 0.0 0.0 0.0>
manager=#<cascaded-coords #X3394cc
         0.0 0.0 0.0 / 0.0 0.0 0.0>
changed=nil
nil
eus$ (describe c3)
plist=nil
rot=#2f((1.0 0.0 0.0)
        (0.0 1.0 0.0)
        (0.0 0.0 1.0))
pos=#f(100.0 0.0 0.0)
parent=nil
descendants=nil
worldcoords=#<coordinates #X33907c
        100.0 0.0 0.0 / 0.0 0.0 0.0>
manager=#<cascaded-coords #X339118
        100.0 0.0 0.0 / 0.0 0.0 0.0>
changed=nil
nil
という具合に,親子関係をもつ座標系も定義でき,:locateや:rotateメソッド が使える.

generated through LaTeX2HTML. M.Inaba 平成18年5月7日