/******************************************************************** POV-Ray 3.6 Include File File: realskies.inc Last updated: 02/11/2006 MM/DD/YY Version: 1.0 All chess pieces created by Mike Kost (contact@povray.tashcorp.net) http://povray.tashcorp.net This work is licensed under the Creative Commons Attribution 2.5 License. To view a copy of this license, visit http://creativecommons.org/licenses/by/2.5/ or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA. You are allowed: * to copy, distribute, display, and perform the work * to make derivative works * to make commercial use of the work But you must: * note the creator for all constructs (objects, pigments, textures, etc) for all derivative include files Things Included: O_Stem O_Pawn O_Rook O_Bishop O_Queen O_King O_Knight Note From The Author: If you're using it, I'd appreciate an e-mail letting me know you found this include file useful, but it is not a requirement. - Mike Kost (contact@povray.tashcorp.net) *********************************************************************/ #ifndef (Chess_Set_Version) #declare Chess_Set_Version = 1.0; #declare Chess_Set_Temp = version; #version 3.6; #include "functions.inc" // Height = 0.9 #declare O_Stem = difference { box { 0.4, -0.5 } torus { 0.8, 0.7 } // plane { -y, -0.4 } // plane { y, -0.45 } translate <0, 0.5, 0> } #declare O_Pawn = merge { object { O_Stem } sphere { 0, 0.17 translate <0, 1.01, 0> } } #declare O_Rook = difference { object { O_Stem scale <1.1, 1.2, 1.1> } cylinder { 0.95*y, 1.1*y, 0.17 } #local i = 0; #while (i < 4) box { <-0.04, 1.0, -1>, <0.04, 1.1, 1> rotate 45*y*i } #local i = i + 1; #end } #declare O_Bishop = merge { object { O_Stem scale <1.05, 1.3, 1.05> } difference { sphere { 0, 0.17 scale <1, 1.5, 1> translate <0, 1.3, 0> } box { <-1, -0.15, -0.025>, <1, 0.15, 0.025> rotate x*12 rotate y*30 translate <0, 1.45, 0.075> } } } #declare O_Queen = merge { object { O_Stem scale <1.2, 1.5, 1.2> } #local i = 0; #while (i < 7) sphere { 0, 0.07 translate <0.17, 1.55*0.9, 0> rotate y*360/7*i } #local i = i + 1; #end } #declare O_King = merge { object { O_Stem scale <1.2, 1.5, 1.2> } box { <0.03, 1, 0.05>, <-0.03, 1.5*0.9+0.4, -0.05> } box { <-0.03001, 1.5*0.9+0.20, -0.15> < 0.03001, 1.5*0.9+0.30, 0.15> } } #declare O_Knight = object { isosurface { function { -f_torus(x*((1+(y+0.5))) + 0.3*sin((y+0.5)*2.5*pi)-0.3*(y+0.5), y*y, z*((1+y+0.5)), 0.8, 0.7) } contained_by { box {<-0.5,-0.5,-0.5>, <0.5,0.0,0.5> } } accuracy 0.001 max_gradient 3 translate <0, 0.5, 0> scale <2, 3, 2> } } #version Chess_Set_Temp; #end