2008-01-30 (水)
*[3DCG]POV-Ray
今日はPOV-Rayで遊ぶ.POV-Ray自体は使っていたけど,モデリングからPOV-Rayでやるのは久しぶりです.

最初は,真面目にインボリュート歯車にしようかと思ったけど,面倒くさくなって台形に.フォトンマッピングしてみたけど,フォトンの数が少なすぎるのか,変な模様が出来てます.これ以上はレンダリングに時間がかかるので,妥協.
プログラムを書くみたいに,気楽(?)にモデリングできるのが良いですね.特に形状が計算式で求まるようなオブジェクトのモデリングに力を発揮します.

#include "colors.inc"
camera {
location <0,5,-10>
look_at <0,0,0>
}
light_source {
<10,20,0>
color White
}
#macro Gear(R,G)
#local D = 360/int(R/G*2.5);
union{
difference {
cylinder { <0,0,0>,<0,.5,0>,R }
difference {
cylinder { <0,0.3,0>,<0,1,0>,(R-G*2) }
cylinder { <0,-1,0>,<0,1,0>,1.0 }
}
cylinder { <0,-1,0>,<0,1,0>,.5 }
#declare T = 0;
#while (T <= 360)
prism{linear_sweep linear_spline -1,1,4,
<-G,-G*2.1>,<-G/2.1,0>,<G/2.1,0>,<G,-G*2.1>
translate <0,0,-R+G>
rotate <0,T,0>
}
#declare T = T+D;
#end
}
}
#end
object{
Gear(4, .5)
texture{ pigment {color Blue} }
}
Gear(半径,歯の大きさ)で歯車を作れます.複数のギアを自動でうまく噛み合わせるようにするのも面白いかもしれない.