|
|
The following scene file was created to explore a fictional world I
created for a science fiction novel. It's a binary planet system
orbiting the star Delta Pavonis. Planet you're on is Hestia and the
sister planet is called Demeter. The two planets are tidally locked to
each other meaning that they always show the same face to the other
planet like the moon is tidally locked to the Earth. The Earth is not
tidally locked to the moon because a day is different than a lunar month.
The three bodies are Hestia (Green) which represents the point of view
from the position on the planet where the plot takes place, Demeter
(Blue) which goes through all its phases in one day but remains fixed in
place in the sky, and Delta Pavonis (white) which is the star we are
orbiting.
The background stars are placed randomly and are only there for me to
get an impression of how the stars would seem to travel across the night
sky.
There are 4375 hours per Hestian year, so if you animate your clock from
1 to 4375 you'll get a Hestian year's worth of simulation.
Copyright (c) 2009 David Buck
All Rights Reserved
Permission granted to use this scene to render this scene and adapt it
to other celestial systems like Earth/Moon.
// Persistence of Vision Ray Tracer Scene Description File
// File: DeltaPavonis.pov
// Vers: 3.6
// Desc: Science Fiction World Simulation
// Date: mm/dd/yy
// Auth: David Buck
//
#version 3.6;
#include "colors.inc"
global_settings {
assumed_gamma 1.0
}
#declare hours = clock;
#declare distanceScalar = 100.0;
#declare cameraUpAngle=-10;
#declare dayAngle = hours/33.60*360;
#declare yearAngle = hours/4375.05*360;
#declare latitude=90-67;
#declare longitude=15;
#declare tiltAngleFromEcliptical = 19.7;
#declare semimajorAxis = 93.49867969*distanceScalar;
#declare planetSeparationRadius = 0.02349726*distanceScalar;
#declare hestiaRadius = 0.004699*distanceScalar;
#declare demeterRadius = 0.004269*distanceScalar;
#declare starRadius = .737230*distanceScalar;
#declare starDistance = 1000.0*distanceScalar;
#declare numberOfStars = 300;
// ----------------------------------------
camera {
location <0.0, 0.0, 0.0>
direction 1.5*z
right x*image_width/image_height
rotate <cameraUpAngle, 0, 0>
translate <0, hestiaRadius * 1.00001, 0>
rotate<latitude, 0, 0>
rotate<0, longitude, 0>
translate <0, 0, -planetSeparationRadius>
rotate <0, dayAngle, 0>
rotate <tiltAngleFromEcliptical, 0, 0>
rotate<0,-yearAngle,0>
translate <0, 0, -semimajorAxis>
rotate<0,yearAngle,0>
}
#declare deltaPavonis = object {
sphere {<0,0,0>, starRadius}
texture {
pigment {color rgb <1,1,1>}
finish {ambient .8 diffuse .6}
}
}
light_source {
0*x
color rgb <1,1,1> // light's color
looks_like { deltaPavonis }
}
union {
// Demeter
object {
sphere {<0, 0, planetSeparationRadius> demeterRadius }
texture {
pigment {color rgb <0,0,1>}
finish {ambient .02 diffuse 1}
}
}
// Hestia
object {
sphere {<0, 0, -planetSeparationRadius> hestiaRadius }
texture {
pigment {color rgb <0,1,0>}
finish {ambient .02 diffuse 1}
}
}
rotate <0, dayAngle, 0>
rotate <tiltAngleFromEcliptical, 0, 0>
rotate<0,-yearAngle,0>
translate <0.0, 0.0, -semimajorAxis>
rotate<0,yearAngle,0>
}
#declare R1 = seed(1231);
#declare Index = 1;
#while(Index <= numberOfStars)
object {
sphere {<starDistance,0,0>, starRadius}
texture {
pigment {color rgb <1,1,1>}
finish {ambient 1 diffuse 0}
}
rotate<0, rand(R1) * 360.0, 0>
rotate<rand(R1) * 180.0 - 90.0, 0, 0>
}
#declare Index = Index + 1;
#end
Post a reply to this message
|
|