/* Source file created for POV 2.2 of the Canadian Networks of * Centres of Excellence logo, which is on all the machines in * out lab. * * Andreas Dilger * Copyright (C) 1995 Andreas Dilger * May 10, 1995 * Modeller: vi and calc */ #include "shapes.inc" #include "colors.inc" #include "textures.inc" #declare TubeSize = 0.3 // diameter of tube #declare ALength = 1.75 // length of long radial sections #declare BLength = 1.0 // length of shorter perimeter sections #declare CutSize = 0.45 // diameter of cut around tubes #declare TiltA = 4 // degrees of rotation for section A #declare TiltB = 6 // degrees of rotation for section B // Some constants (would be nice to have POV 3.0 to do this) #declare COS36 = 0.809017 #declare SIN36 = 0.58778524 #declare TAN18 = 0.32491969 #declare COS18 = 0.9510565 #declare COT36 = COS36/SIN36 #declare TANTiltA = 0.069926811 camera { location <.010, -2.5, -16.0> direction <0.0, 0.0, 2.0> up <0.0, 1.0, 0.0> right <4/3, 0.0, 0.0> look_at <0.0, -0.25, 0.0> } plane { -z, -0.4 texture { pigment { color DarkPurple } normal { bumps 0.4 scale 0.15 } finish { reflection 0.2 ambient 0.5 diffuse 0.5 phong 0.4 } } } plane { z, -30 pigment { Blue_Sky3 quick_color SkyBlue scale 30 } } #declare SegA = intersection { object { Cylinder_X scale TubeSize rotate TiltA*z } plane { y, 0 rotate 72*z translate -ALength*x } plane { -y, 0 rotate 63*z } } #declare SegB = intersection { object { Cylinder_X scale TubeSize rotate -TiltB*z } plane { -y, 0 rotate -63*z } plane { -y, 0 rotate 54*z translate BLength*x } } #declare OneSide = union { object { SegA } object { SegB rotate -54*z } translate } #declare LeftSide = difference { object { OneSide } intersection { // Cut out section of other leaf object { Cylinder_X scale CutSize rotate TiltA*z } plane { -x, 0 translate -ALength*x } translate scale <1,-1,1> rotate 72*z pigment { color Black } } } #declare RightSide = object { OneSide scale <1,-1,1> } #declare OneLeaf = union { object { LeftSide } object { RightSide } rotate 90*z } union { difference { union { // Bottom left leaf object { OneLeaf rotate 144*z } object { // Top left leaf OneLeaf rotate 72*z } object { // Centre leaf OneLeaf } object { // Top right leaf OneLeaf rotate -72*z } object { // Bottom right leaf OneLeaf rotate -144*z } } intersection { // Cut out for the stem object { Cylinder_Y scale CutSize } plane { y, 0 rotate (18 - TiltA/2)*z translate -(COS36*BLength - TANTiltA*(ALength - COS36*BLength))/SIN36*y } pigment { color Black } } } intersection { // Stem object { Cylinder_Y scale TubeSize } plane { y, 0 rotate (18 - TiltA/2)*z translate -(COS36*BLength - TANTiltA*(ALength - COS36*BLength))/SIN36*y } sphere { <0,0,0>, ALength + BLength + TubeSize} // Clipping of end of stem } bounded_by { sphere { <0,0,0>, ALength + BLength + TubeSize} } texture { pigment{ color BrightGold } finish { ambient 0.3 diffuse 0.4 reflection 0.6 brilliance 8 specular 0.8 roughness 0.05 } } } //light_source { <20.0, 12.99, -30.0> colour White } light_source { <20, 13, -30> color Gray60 area_light <4, 0, 0> <0, 8, 0>, 5, 5 adaptive 1 jitter }