// Cones.pov // // Created by Mark Vernon (mvernon@metronet.com) // Copyright 1995 // Persistence of Vision Raytracer 2.2 // Last Modified: April 20, 1995 #include "colors.inc" #include "shapes.inc" #include "textures.inc" #include "stones.inc" #declare Ice_Cream_Cone = color rgb <.996154, .740734, .405356> #declare Rainbow = color_map { [0.0 1.0 color Red color Blue] } camera { location <1, 2.1, -2.25> look_at <1, 2, 0>} light_source {< 2, 2.3, -3> color White} light_source {< 1, 8, -2> color White} // Makin' snow sphere { <0, 2.75, 3>, 1 texture { pigment { gradient <1, 0, 0> color_map {Rainbow} } normal { bumps .3 scale .1 } finish { reflection .4 } } } cone { // Paper Cone <0, 2.45, 3>,1 <0, .25, 3>,0 texture { pigment { color White } } finish { reflection 0.0 } } sphere { <0,2.4,3>, 1.04 // Top Rib around the lip scale <1, .13, 1> translate <0, 2.15, 0> pigment { color White } normal { bumps .2 scale 0.01} finish { phong 0.3 } } cone { // Blue Stipe <0, 2, 3>,.803 <0, 1.97, 3>,.783 texture { pigment {color SkyBlue } } finish { reflection 0.0 } } // Table Top object { plane { <0 1 0> 0 } translate <0, -1, 0> texture { White_Marble } } // Holder box { <-1,1.47,2> < 3,1.49,4> texture { Silver1 } } /*************************************************************** * Ice Cream Cone * ***************************************************************/ #declare IceCreamCone = union { sphere { // Ice Cream, we want Ice Cream <0, 2.5, 3>, 1 texture { Stone4 scale 5 normal { bumps .4 scale .05 } finish {phong 0 reflection 0.1} } } cone { // Top Section of Cone <0, 2.2, 3>,1 <0, 1.4, 3>,.88 pigment { color Ice_Cream_Cone } normal { bumps .2 scale 0.01} finish { phong 0.4 } } sphere { <0,2.2,3>, 1.02 // Top Rib around the lip scale <1, .25, 1> translate <0, 1.7, 0> pigment { color Ice_Cream_Cone } normal { bumps .2 scale 0.01} finish { phong 0.3 } } sphere { <0,2.2,3>, .91 // Bottom Rib around the Top scale <1, .2, 1> translate <0, 1, 0> pigment { color Ice_Cream_Cone } normal { bumps .2 scale 0.01} finish { phong 0.3 } } cone { // Transition from Top to Bottom <0, 1.4, 3>,.82 <0, 1.2, 3>,.73 pigment { color Ice_Cream_Cone } normal { bumps .2 scale 0.01} finish { phong 0.4 } } cone { // Bottom part of Cone <0, 1.5, 3>,.75 <0, 0, 3>,.6 pigment { color Ice_Cream_Cone } normal { bumps .2 scale 0.01} finish { phong 0.4 } } sphere { <0,1.35,3>, .72 // Topmost Rib around the Bottom scale <1, .25, 1> translate <0, .7, 0> pigment { color Ice_Cream_Cone } normal { bumps .2 scale 0.01} finish { phong 0.3 } } sphere { <0,1.35,3>, .68 // Middle Rib around the Bottom scale <1, .25, 1> translate <0, .3, 0> pigment { color Ice_Cream_Cone } normal { bumps .2 scale 0.01} finish { phong 0.3 } } sphere { <0,1.35,3>, .64 // Bottom Rib around the Bottom scale <1, .25, 1> translate <0, -.1, 0> pigment { color Ice_Cream_Cone } normal { bumps .2 scale 0.01} finish { phong 0.3 } } object { // Vertical Rib (Center) Disk_Y scale < 0.035, 0.55, 0.035> translate < 0, 0.57, 2.4 > rotate <-5.5,0,0> pigment { color Ice_Cream_Cone } normal { bumps .2 scale 0.01} finish { phong 0.3 } } object { // Vertical Rib (left of Center) Disk_Y scale < 0.035, 0.55, 0.035> translate < 0, 0.57, 2.445 > rotate <-5.5,-5,0.5> pigment { color Ice_Cream_Cone } normal { bumps .2 scale 0.01} finish { phong 0.3 } } object { // Vertical Rib (Right of Center) Disk_Y scale < 0.035, 0.55, 0.035> translate < 0, 0.57, 2.44 > rotate <-5.5,5,-.7> pigment { color Ice_Cream_Cone } normal { bumps .2 scale 0.01} finish { phong 0.3 } } object { // Vertical Rib (2nd left of Center) Disk_Y scale < 0.035, 0.55, 0.035> translate < 0.065, 0.57, 2.58 > rotate <-5.5,-10, 3.5> pigment { color Ice_Cream_Cone } normal { bumps .2 scale 0.01} finish { phong 0.3 } } object { // Vertical Rib (2nd right of Center) Disk_Y scale < 0.035, 0.55, 0.035> translate < -0.065, 0.57, 2.57 > rotate <-5.5, 10, -3.5> pigment { color Ice_Cream_Cone } normal { bumps .2 scale 0.01} finish { phong 0.3 } } object { // Vertical Rib (3rd left of Center) Disk_Y scale < 0.035, 0.55, 0.035> translate < 0.205, 0.57, 2.78 > rotate <-5.5, -15, 5.5> pigment { color Ice_Cream_Cone } normal { bumps .2 scale 0.01} finish { phong 0.3 } } object { // Vertical Rib (3rd right of Center) Disk_Y scale < 0.035, 0.55, 0.035> translate < -0.205, 0.57, 2.78 > rotate <-5.5, 15, -5.5> pigment { color Ice_Cream_Cone } normal { bumps .2 scale 0.01} finish { phong 0.3 } } } object { IceCreamCone translate <2.2, .25, 0> }