// Image of a heliogyro solar sail space vehicle // Scale is: 1 unit is equal to one meter // Written for POV-Ray v2.0/2.2 #include "colors.inc" #include "shapes.inc" #include "textures.inc" // This view is a close up. To render it full, set the // multiplier on the camera location to 50 camera { location <0,4,6>*50 look_at <0,0,0> rotate y*22.5 } #declare Vane_Thickness = 0.000002 #declare Vane_Inner_Length = 50 #declare Inner_Length = 50.9901951359 //Hypotenuse formed by inner vane. //Equals sqrt(Vane_Inner_Height^2 + //Vane_Inner_Length^2) #declare Vane_Inner_Height = 10.0 #declare Vane_Outer_Length = 7000.0 #declare Vane_Width = 10.0 #declare Vane_Inner_Angle = 11.309932474 //Angle formed by Inner_Length & //Vane_Inner_Length. //equals arctan of //Vane_Inner_Height/Vane_Inner_Length #declare Vane_Angle = 15 #declare Center_Radius = 25.0 #declare Fiber_Thickness = .2 //Not to scale, so it shows up #declare Fiber_Texture = texture{pigment { color Gray80 }} #declare Vane_Texture = texture{Silver_Texture} #declare Hub_Radius = 2 #declare Hub_Length = 5 #declare Spindle_Radius = Hub_Radius/2 #declare Support_Thickness = .4 //Not to scale, so it shows up #declare Level_Distance = 5 #declare Starry_Sky = pigment { spotted color_map { [0.0 color Black] [0.95 color Black] [1.0 color Gray50] } } #declare Hub = cylinder { y*-Hub_Length/2, y*Hub_Length/2, Hub_Radius texture{Silver_Texture} } #declare Support = union { cylinder { , , Support_Thickness } cylinder { , , Support_Thickness } texture{Silver_Texture} } #declare Fibers = union { cylinder { , , Fiber_Thickness } cylinder { , , Fiber_Thickness } cylinder { , , Fiber_Thickness } cylinder { , , Fiber_Thickness } cylinder { , , Fiber_Thickness } cylinder { , , Fiber_Thickness } cylinder { , , Fiber_Thickness } cylinder { , , Fiber_Thickness } /* fibers leading out to the inner edge of the blades */ /* one side */ cylinder { , , Fiber_Thickness } cylinder { , , Fiber_Thickness } /* the other side */ cylinder { , , Fiber_Thickness } cylinder { , , Fiber_Thickness } /* cross piece joining the fibers leading to the vane */ cylinder { , , Fiber_Thickness } cylinder { , , Fiber_Thickness } texture{Fiber_Texture} } #declare Strut = union { object {Fibers} object {Support} } #declare Vane = union { /* box { <0,-Vane_Thickness/2, -Vane_Width/2.0>, <-Inner_Length, Vane_Thickness, Vane_Width/2.0> rotate z*Vane_Inner_Angle translate x*(Vane_Inner_Length+Center_Radius) texture {Vane_Texture} } box { <0,-Vane_Thickness/2, -Vane_Width/2.0>, <-Inner_Length, Vane_Thickness, Vane_Width/2.0> rotate -z*Vane_Inner_Angle translate x*(Vane_Inner_Length+Center_Radius) texture{Vane_Texture} } */ box { , texture{Vane_Texture} } object{Strut} } #declare Level = union { object{Vane} object{Vane rotate } object{Vane rotate } object{Vane rotate } object{Vane rotate } object{Vane rotate } object{Vane rotate } object{Vane rotate } object{Hub} } union { object {Level translate y*(Vane_Inner_Height+Level_Distance/2)} object {Level translate y*(-Vane_Inner_Height-Level_Distance/2) rotate y*22.5} cylinder { y*(Hub_Length*2+Level_Distance/2), y*(-Hub_Length*2-Level_Distance/2), Spindle_Radius texture{Brass_Texture} } } sphere { <0,0,0>, 4000 pigment{Starry_Sky} } light_source { <20, 2000, 20> color White }