Euslispの幾何モデリングでは,基本モデル(body)の生成,bodyの合成関数,複 合モデル(bodyset)の生成と3つの段階がある.
これまでに以下のような基本モデルの生成,合成が可能な事を見てきている.
(setq c1 (make-cube 100 100 100)) (send c1 :locate #f(0 0 50)) (send c1 :rotate (deg2rad 30) :x) (send c1 :set-color :yellow) (objects (list c1)) (setq c2 (make-cylinder 50 100)) (send c2 :move-to (make-coords :pos #f(20 30 40) :rpy (float-vector 0 0 (deg2rad 90))) :world) (send c2 :set-color :green) (objects (list c1 c2)) (setq c3 (body+ c1 c2)) (setq c4 (body- c1 c2)) (setq c5 (body* c1 c2))
bodysetはirteusで導入された複合モデルであり,bodyで扱えない複数の物体や 複数の色を扱うためのものである.
(setq c1 (make-cube 100 100 100)) (send c1 :set-color :red) (setq c2 (make-cylinder 30 100)) (send c2 :set-color :green) (send c1 :assoc c2) ;;; これを忘れいように (setq b1 (instance bodyset :init (make-cascoords) :bodies (list c1 c2))) (objects (list b1))