#include "colors.inc" #include "shapes.inc" // -------- 部品 ------------------------------------------------------- // 第一関節(長さ L,半径 R) #macro FingerP1(L, R) merge { object { Disk_Y scale translate L*0.5*y } object { Sphere scale R*1.0 } // 根元 } #end // 第二関節(長さ L,半径 R) #macro FingerP2(L, R) merge { object { Disk_Y scale translate L*0.5*y } object { Sphere scale R*1.0 } // 根元 } #end // 指先(長さ L,半径 R) #macro FingerP3(L, R) merge { intersection { object { Sphere scale } object { Cube scale translate L*y } } object { Sphere scale R*1.0 } // 根元 } #end // 指(全長 LENGTH,半径 RADIUS,曲げ角度 ANGLE) #macro Finger(LENGTH, RADIUS, ANGLE) merge { merge { object { FingerP3(LENGTH*0.3, RADIUS) // 第三関節 rotate -ANGLE*x // 第三関節だけの変換 translate LENGTH*0.3*y } object { FingerP2(LENGTH*0.3, RADIUS) } // 第二関節 rotate -ANGLE*x // 第二・第三関節の変換 translate LENGTH*0.4*y } object { FingerP1(LENGTH*0.4, RADIUS) } // 第一関節 rotate -ANGLE*x // 全体の変換 } pigment { color Flesh } #end // -------- 配置 ------------------------------------------------------- // 指 object { Finger(2.0, 0.2, 65.0) translate -1.0*x } // 小指 object { Finger(2.3, 0.2, 30.0) translate -0.5*x } // 薬指 object { Finger(2.5, 0.2, 10.0) translate 0.0*x } // 中指 object { Finger(2.3, 0.2, 5.0) translate 0.5*x } // 人差指 // 座標軸 object { Cylinder_X scale 0.02 pigment{color Red} } // x軸 object { Cylinder_Y scale 0.02 pigment{color Green} } // y軸 object { Cylinder_Z scale 0.02 pigment{color Blue} } // z軸 // -------- 撮影 ------------------------------------------------------- // 背景 background {color LightBlue} // 照明 light_source { < 100, 200, -250> // 照明の位置 color White*2.0 parallel point_at <0, 0, 0> } // カメラ camera{ location <3.0, 3.0, -6.0> // カメラの位置 look_at <0.0, 1.0, 0.0> // カメラの注目する位置 angle 45 // カメラの視野角 // up <0.0, 0.0, 1.0> // right <2.00, 0.0, 0.0> }