上級者向けテクニック

多数のオブジェクトを規則的に配置するには?(できるだけ手間をかけずに...)

ループ(#for#while)と数式(変数や計算)を使えばよい.

教科書 Ch.9 に #while の説明がある. 一方,このウェブページでは,より使い易い #for の方を紹介.

例:直線状に並ぶトゲトゲ

union {
	object { Plane_XZ }
	#for (I, 0, 10, 1)	// 変数I の値を 0 から 10 まで 1 ずつ増やしながら繰り返す
		object { Cone_Y translate 1.5*(I - 5)*x }	// x方向に間隔1.5 で配置
	#end
	pigment { color White }
}
これは,object { Cone_Y ... } を 11個も記述したものと同じ結果になる.

例:四角形状に広がるトゲトゲ(二重の for ループ)

union {
	object { Plane_XZ }
	#for (X, -7.5, 7.5, 1.5)
		#for (Z, -7.5, 7.5, 1.5)
			object { Cone_Y translate <X, 0.0, Z> }
		#end
	#end
	pigment { color White }
}