㊗︎初投稿
はじめまして!Reishinと申します.
記念すべき1投稿目、POV-rayでできることや作品例を紹介していきたいと思います!
実は私のプロフィール画像のカエルもPOV-rayで制作したものです🐸
POV-rayってなんぞ??
レイトレーシング技術を用いた「3次元コンピュータグラフィクス」を制作できるツールです.
ちなみに・・・
レイトレーシング(ray-tracing, 光線追跡法)とは
ざっくり言うと、物体に対して光の当たり具合をシミュレーションしてくれる技術のことです.
この技術があるかないかで、画像のリアル度が大幅に変わります.
どうやって作るんじゃ??
図形同士を組み合わせたり引いたりする!!!
Cube(立方体), Sphere(球), Cylinder(三角錐)など使いたい立体図形の、座標位置や大きさ、角度などをコードで調整して作り上げていきます.(((地道
図形同士を引くというのは、例えば
立方体から球を引いて、立方体に球形の穴を作ったりなど.
実際どういうのが作れるの?? 〜作品紹介〜
こんなのが作れます.
カエルくん
この子は、Sphere(球体)のみを組み合わせて作成しました.
え?この葉っぱの茎部分はどうしたのかって?
鋭い指摘ですね・・・
実は茎部分はよ〜〜〜く見るとSphereが連なっているのです!
ちょこっとだけコードを見せます.
// stem
union{
#declare Kara4 = -1.4;
#declare Made4 = 2.3;
#declare T4 = Kara4;
#while (T4 < Made4)
#declare X4 = T4;
#declare Y4 = (1/4) * X4 * X4 - 0.15;
object {
Sphere
pigment { color DarkGreen }
scale 0.03
translate <X4, Y4, -0.145>
rotate <0, 0, -120>
}
#declare T4 = T4 + 0.01;
#end
何をしているかと言うと、
-1.4 <= x座標 < 2.3 の範囲を0.01ずつ変化させるごとに
y = 1/4 * x^2 - 0.15 に当てはめてy座標を算出し
求まったxy座標の位置にSphereを設置しています.
そう、茎の部分は実は2次関数になっているんです.
// mouth
#declare Kara = -0.7;
#declare Made = 0.7;
#declare T = Kara;
#while (T < Made)
#declare X = T;
#declare Y = (1/3) * X * X + -0.15;
object {
Sphere
pigment { color Black }
scale 0.01
translate <X, Y, -0.47>
}
#declare T = T + 0.01;
#end
口の部分も同じ要領です.
こちらは y = 1/3 * x^2 - 0.15 ですね.
汽車
Sphereはもちろんのことcubeやcylinderも使っています.
また、図形同士を組み合わせるだけでなく、引いています(窓や荷台部分).
difference {
object {
Cube
texture { T_Wood4 }
scale <0.8, 0.35, 0.6>
translate <-1.9, 0.2, 0>
}
object {
Cube
texture { T_Wood10 }
scale <0.65, 0.25, 0.5>
translate <-1.9, 0.4, 0>
}
}
この部分は、2車両目の部分で、CubeからCubeを引いて穴を開けています.
最後に
約1年前に作成して以来、POV-rayは触ってなかったため、時間を作ってまた何か制作したいな〜〜〜と考えています.
コード自体は書きやすいのですが、座標の調整が大変で地道な作業にはなります.
その分、完成した時の達成感は尋常じゃないです!
ぜひ、この機会にPOV-rayを始めてみてはどうでしょうか?
ここまでお付き合いくださり、ありがとうございました!