#declare Pawn = lathe { bezier_spline 16, <0, 9>, <3, 9>, <2.5, 5>, <1, 5>, <1, 5>, <1, 2>, <2, -1>, <3, -1>, <3, -1>, <3.5, -1>, <3.5, -2>, <3, -2>, <3, -2>, <1, -2>, <1, -2>, <0, -2> translate <0,2,0> } #declare Rook = difference { lathe { bezier_spline 32, <0,6.506667>,<0.533333,6.506667>,<1.226667,6.506667>,<1.546667,6.64>, <1.546667,6.64>,<2,6.72>,<1.493333,8.4>,<1.813333,8.96>, <1.813333,8.96>,<1.973333,9.093333>,<2.213333,9.12>,<2.5,9>, <2.5,9>,<2.88,7.786667>,<2.986667,6.933333>,<3,5.5>, <3,5.5>,<2.666667,5.173333>,<1.466667,5.386667>,<1.25,5>, <1.25,5>,<1.25,2>,<2,-1>,<3,-1>, <3,-1>,<3.5,-1>,<3.5,-2>,<3,-2>, <3,-2>,<1,-2>,<1,-2>,<0,-2> } box { <-.5, 7.5, -4>, <.5, 10, 4> } box { <-4, 7.5, -.5>, <4, 10, .5> } translate <0,2,0> } #declare Knight = difference { object { merge { object { lathe { bezier_spline 12, <3, -2>, <1, -2>, <1, -2>, <0, -2>, <3, -2>, <4, -2>, <4, -1>, <3, -1>, <3, -1>, <2, -1>, <1.5, 1>, <1.5, 3> translate <0,2,0> } } sphere { <0, 6,0>, 3 } sphere { <0, 11,0>, 3 } cylinder { <0, 6,0>, <0, 11,0>, 3 } } } cylinder { <21, 14,-4>, <21, 14, 4>, 20 } cylinder { <-21, 14,-4>, <-21, 14, 4>, 20 } cylinder { <-4, 15,-3.7>, <4, 15, -3.7>, 3.4 } cylinder { <-4, 14,-1>, <4, 14, -1>, 1 } cylinder { <-4, 15.5, 4>, <4, 15.5, 4>, 4 } cylinder { <-4, 10,-0.6>, <4, 10, -0.6>, .5 } box { <-4, 10.5, 2>, <4, 9.5, -2> rotate <-15,0,0> translate <0, -0.2, 0> } box { <-4, 10.5, 2>, <4, 9.5, -2> rotate <-45,0,0> translate <0, 1.5, 5> } cylinder { <-4, 9,-3>, <4, 9, -3>, 1 } cylinder { <0, 14,-4>, <0, 14, 4>, .5 } } #declare Bishop = lathe { bezier_spline 20, <0,12>,<3,12>,<0.7,11>,<0.7,9>, <0.7,9>,<3,9>,<2.5,5>,<1,5>, <1,5>,<1,2>,<2,-1>,<3,-1>, <3,-1>,<3.5,-1>,<3.5,-2>,<3,-2>, <3,-2>,<1,-2>,<1,-2>,<0,-2> translate <0,2,0> } #declare Queen = lathe { bezier_spline 24, <0, 14>, <2, 14>, <2.5, 12>, <0.5, 12>, <0.5, 12>, <5, 12>, <1.25,10>, <1.25, 6>, <1.25, 6>, <1.5, 6>, <3.5, 4>, <1.25, 4>, <1.25, 4>, <1.25, 2>, <2, -1>, <3, -1>, <3, -1>, <3.5, -1>, <3.5, -2>, <3, -2>, <3, -2>, <1, -2>, <1, -2>, <0, -2> translate <0,2,0> } #declare King = merge { object { lathe { bezier_spline 24, <0.5, 12>, <0.6, 12>, <0, 12>, <0.5, 12>, <0.5, 12>, <5, 12>, <1.25,10>, <1.25, 6>, <1.25, 6>, <1.5, 6>, <3.5, 4>, <1.25, 4>, <1.25, 4>, <1.25, 2>, <2, -1>, <3, -1>, <3, -1>, <3.5, -1>, <3.5, -2>, <3, -2>, <3, -2>, <1, -2>, <1, -2>, <0, -2> translate <0,2,0> } } cylinder { <0,12,0>, <0,16.5,0>, 0.5 } cylinder { <-1,15.5,0>, <1,15.5,0>, 0.5 } }