1.併合
複数の図形を併合させるプログラム

merge{
 object{
  box{<x,y,z>,<x,y,z>}
 }

 object{
  cylinder{<x,y,z>,<x,y,z>,r}
 }

}

mergeは2つ以上の物体の外側のみを結合し、内側に位置する物体は削除されます。左上の
写真にある2つの物体はそれぞれ全く同じ図形で構成されていますが、mergeでくくった
場合は右側にあるように中身の円柱を内側にあると認識して削除しています。

2.交差
交差した部分を抽出するプログラム

intersection{
 object{
  cylinder{<x,y,z>,<x,y,z>,r}
 }

 object{
  cylinder{<x,y,z>,<x,y,z>,r}
 }

}

intersectionは、2つ以上の図形の重なり合った部分のみを抽出します。左上の画像では
赤と青の円柱が重なり合っています。この場合は真ん中の紫の部分だけが抽出され、赤と
青の円柱は消えます。使い道は限られていますがより複雑な図形を作れるようになります。

3.差
交差した部分を取り除くプログラム

intersection{
 object{
  cylinder{<x,y,z>,<x,y,z>,r}
 }

 object{
  cylinder{<x,y,z>,<x,y,z>,r}
 }

}

differenceは、入れ子の中で最初に生成された図形(上の画像では青色)のみが実体を
持ち、2つめ以降の図形(赤色)は実体を持たず、消しゴムのような役割を持ちます。
重なった部分のみが消されていくので、実体のある図形と消しゴムの役割を持った
図形の2つが接触していない場合は効果を持ちません。