#include "T_metall_schwarz.pov" #declare fingerspitze = union { intersection { box { <-1, 0, -1> <1, 4, 1> } sphere { <0, 0, 0>, 1 scale <1, 4, 1> } } sphere { <0, 0, 0>, 1.2 } } #declare handflaeche = #if (0) union { cone { <-3, 0, 0>, 1, <-3.6, 13, 0>, 1 } cone { <-1, 0, 0>, 1, <-1.2, 14, 0>, 1 } cone { <+1, 0, 0>, 1, <+1.2, 15, 0>, 1 } cone { <+3, 0, 0>, 1, <+3.6, 14, 0>, 1 } cone { <-3.6, 13, 0>, 1 <+1.2, 15, 0>, 1 } cone { <+1.2, 15, 0>, 1 <+3.6, 14, 0>, 1 } cone { <-3, 0, 0>, 1, <+5, 0, 0>, 1 } sphere { <-3, 0, 0>, 1 } } #else blob { cylinder { <-3, 0, 0>, <-3.6, 13, 0>, 2, 2 } cylinder { <-1, 0, 0>, <-1.2, 14, 0>, 2, 2 } cylinder { <+1, 0, 0>, <+1.2, 15, 0>, 2, 2 } cylinder { <+3, 0, 0>, <+3.6, 14, 0>, 2, 2 } cylinder { <-3.6, 13, 0>, <+1.2, 15, 0>, 2, 2 } cylinder { <+1.2, 15, 0>, <+3.6, 14, 0>, 2, 2 } cylinder { <-3, 0, 0>, <+5, 0, 0>, 2, 2 } sphere { <-3, 0, 0>, 2, 2 } } #end #declare RD0x = 45; // 0 ..90 #declare RD0y = 180; // 90 .. 180 #declare RD1 = 30; #declare RD2 = 30; #declare daumen = union { union { object { fingerspitze rotate <-RD2, 0, 0> translate <0, 5, 0> } cone { <0, 0, 0>, 1, <0, 5, 0>, 1 } sphere { <0, 0, 0>, 1.2 } rotate <-RD1, 0, 0> translate <0, 6, 0> } cone { <0, 0, 0>, 1, <0, 6, 0>, 1 } sphere { <0, 0, 0>, 1.2 } rotate rotate <0, RD0y, 0> } #declare RZ0x = 0; // 0 ..90 #declare RZ0z = 0; // 0 .. 30 #declare RZ1 = 0; #declare RZ2 = 0; #declare zeigefinger = union { union { object { fingerspitze rotate <-RZ2, 0, 0> translate <0, 4, 0> } cone { <0, 0, 0>, 1, <0, 4, 0>, 1 } sphere { <0, 0, 0>, 1.2 } rotate <-RZ1, 0, 0> translate <0, 6, 0> } cone { <0, 0, 0>, 1, <0, 6, 0>, 1 } sphere { <0, 0, 0>, 1.2 } rotate <-RZ0x, 0, 0> rotate <0, 0, -RZ0z> } #declare RM0x = 0; // 0 ..90 #declare RM0z = 0; // -15 .. 15 #declare RM1 = 0; #declare RM2 = 0; #declare mittelfinger = union { union { object { fingerspitze rotate <-RM2, 0, 0> translate <0, 4, 0> } cone { <0, 0, 0>, 1, <0, 4, 0>, 1 } sphere { <0, 0, 0>, 1.2 } rotate <-RM1, 0, 0> translate <0, 7, 0> } cone { <0, 0, 0>, 1, <0, 7, 0>, 1 } sphere { <0, 0, 0>, 1.2 } rotate <-RM0x, 0, 0> rotate <0, 0, RM0z> } #declare RR0x = 0; // 0 ..90 #declare RR0z = 0; // -15 .. 15 #declare RR1 = 0; #declare RR2 = 0; #declare ringfinger = union { union { object { fingerspitze rotate <-RR2, 0, 0> translate <0, 4, 0> } cone { <0, 0, 0>, 1, <0, 4, 0>, 1 } sphere { <0, 0, 0>, 1.2 } rotate <-RR1, 0, 0> translate <0, 6, 0> } cone { <0, 0, 0>, 1, <0, 6, 0>, 1 } sphere { <0, 0, 0>, 1.2 } rotate <-RR0x, 0, 0> rotate <0, 0, RR0z> } #declare RK0x = 0; // 0 ..90 #declare RK0z = 0; // -15 .. 15 #declare RK1 = 0; #declare RK2 = 0; #declare kleinerfinger = union { union { object { fingerspitze rotate <-RK2, 0, 0> translate <0, 4, 0> } cone { <0, 0, 0>, 1, <0, 4, 0>, 1 } sphere { <0, 0, 0>, 1.2 } rotate <-RK1, 0, 0> translate <0, 5, 0> } cone { <0, 0, 0>, 1, <0, 5, 0>, 1 } sphere { <0, 0, 0>, 1.2 } rotate <-RK0x, 0, 0> rotate <0, 0, RK0z> } #declare hand = union { object { handflaeche } object { daumen translate <5, 0, 0> } object { zeigefinger translate <3.6, 14, 0> } object { mittelfinger translate <1.2, 15, 0> } object { ringfinger translate <-1.2, 14, 0> } object { kleinerfinger translate <-3.6, 13, 0> } texture { T_metall_schwarz } scale 0.01 // centimeters to meters }