





 
 




 
 


I have attached my scene file so far. It already calculates the
positions of the planets. However, I want to create parametric tori
showing the orbits of each planet over a span of time.
I believe I have all the pieces already. But how do I convert the
calculations into the functions a parametric object requires? For
example, what do I use for u and v?
Thanks.
Mike
Post a reply to this message
Attachments:
Download 'planetarium.pov.txt' (13 KB)


 
 




 
 


Mike Horvath <mik### [at] gmailcom> wrote:
> I believe I have all the pieces already.
Having worked on this already, there may be more to it...
> But how do I convert the
> calculations into the functions a parametric object requires? For
> example, what do I use for u and v?
// Create a set of points on the surface of a Torus
#declare X = function (T, P, R, r) {cos(T) * ( R + r * cos(P) )}
#declare Y = function (T, P, R, r) {sin(T) * ( R + r * cos(P) )}
#declare Z = function (T, P, r, n) {r * sin(P)}
Phi (U) is the small radius, and Theta (V) is the large radius.
Just set your Theta range from 0 to .... wherever your planet is.
But a native parametric {} object is going to be ...
SLLLLLLLLLOOOOOOOOOOOOOOWWWWWWWWWwwwwwwwwwww.
If you're going to do that kind of thing, use a polynomial {}.
Post a reply to this message


 
 




 
 


On 9/13/2018 8:43 PM, Bald Eagle wrote:
> Mike Horvath <mik### [at] gmailcom> wrote:
>
>> I believe I have all the pieces already.
>
> Having worked on this already, there may be more to it...
>
>> But how do I convert the
>> calculations into the functions a parametric object requires? For
>> example, what do I use for u and v?
>
> // Create a set of points on the surface of a Torus
> #declare X = function (T, P, R, r) {cos(T) * ( R + r * cos(P) )}
> #declare Y = function (T, P, R, r) {sin(T) * ( R + r * cos(P) )}
> #declare Z = function (T, P, r, n) {r * sin(P)}
>
> Phi (U) is the small radius, and Theta (V) is the large radius.
>
> Just set your Theta range from 0 to .... wherever your planet is.
>
> But a native parametric {} object is going to be ...
> SLLLLLLLLLOOOOOOOOOOOOOOWWWWWWWWWwwwwwwwwwww.
>
> If you're going to do that kind of thing, use a polynomial {}.
>
>
How do I split such a function into parts? For instance
#declare X = function (T, P, R, r) {cos(T) * ( R + r * cos(P) )}
#declare Y = function (T, P, R, r) {sin(T) * ( R + r * cos(P) )}
#declare Z = function (T, P, r, n) {r * sin(P)}
Mike
Post a reply to this message


 
 




 
 


On 9/13/2018 8:43 PM, Bald Eagle wrote:
> But a native parametric {} object is going to be ...
> SLLLLLLLLLOOOOOOOOOOOOOOWWWWWWWWWwwwwwwwwwww.
>
Am I misremembering, or is there an include file that can turn
parametric objects into meshes?
Mike
Post a reply to this message


 
 




 
 


I get an error when rendering the attached scene that I don't understand.
'"meshmaker.inc" line 688: Parse Error: Array subscript out of range'
Does anyone have any idea what is the cause of this? Thanks!
Mike
Post a reply to this message
Attachments:
Download 'orrery_minimum.pov.txt' (11 KB)


 
 




 
 


On 9/13/2018 11:43 PM, Mike Horvath wrote:
> I get an error when rendering the attached scene that I don't understand.
>
> '"meshmaker.inc" line 688: Parse Error: Array subscript out of range'
>
> Does anyone have any idea what is the cause of this? Thanks!
>
>
> Mike
Never mind. I was confused about the Iter_U and Iter_V parameters. (The
docs are not very verbose.) It is working, but I think using a sphere
sweep would be easier and just as nice.
Mike
Post a reply to this message


 
 




 
 


Mike Horvath <mik### [at] gmailcom> wrote:
> How do I split such a function into parts? For instance
It's already in parts.
What you can do is limit the range of U and V over which those functions are
evaluated.
If you limit U or V to the range from 0 to 0, then you will get a circle.
Swap U and V, and you get "the other" circle
Limit the ranges of both to a fraction of (2*pi), and you get a curved patch
that only covers part of the torus' surface.
Keep one full 2*pi range, and limit the other, and you get a "hoop sweep" around
the torus, one way or the other.
The set of macros takes this concept and just does it 4 times (0, +TStep,
+PStep, +both) to generate 4 corners, and fills that in with 2 smooth triangles.
See clipka's favorite link:
https://nylander.wordpress.com/2008/08/25/crosssectionofthequinticcalabiyaumanifold/
There is no magic.
Look back through the forums, and you can see that we've been exploring this
basic concept  for years.
#version version;
#include "colors.inc"
light_source {
<5, 10, 20>
color White
fade_distance 20
fade_power 2
}
camera {
location <0, 2, 35>
look_at <0, 0, 10>
right x*image_width/image_height
up y
}
#declare U1 = 0; // small radius
#declare U2 = 2*pi; //
#declare V1 = 0; // large radius
#declare V2 = 2*pi; //
#declare r0 = 10;
#declare r1 = 4;
#declare SphereRadius = 0.1;
// Create a set of points on the surface of a Torus
#declare X = function (T, P, R, r) {cos(T) * ( R + r * cos(P) )}
#declare Y = function (T, P, R, r) {sin(T) * ( R + r * cos(P) )}
#declare Z = function (T, P, r, n) {r * sin(P)}
#declare TStep = 0.02;
#declare PStep = 0.05;
#for (Theta, U1, U2, TStep)
#for (Phi, V1, V2, PStep)
#local XYandZResultOfParametricFunctionsEvaluatedForThisImmediateUandV =
<X (Theta, Phi, r0, r1), Y (Theta, Phi, r0, r1), Z (Theta, Phi, r0, r1)>;
sphere {XYandZResultOfParametricFunctionsEvaluatedForThisImmediateUandV
SphereRadius pigment {White}}
#end
#end
Post a reply to this message


 
 




 
 


On 9/13/2018 7:59 PM, Mike Horvath wrote:
> I have attached my scene file so far. It already calculates the
> positions of the planets. However, I want to create parametric tori
> showing the orbits of each planet over a span of time.
>
> I believe I have all the pieces already. But how do I convert the
> calculations into the functions a parametric object requires? For
> example, what do I use for u and v?
>
> Thanks.
>
>
> Mike
The latest version of the scene can now be downloaded from the Object
Collection.
http://lib.povray.org/searchcollection/index2.php?objectName=SolarSystemOrrery&version=1.0&contributorTag=SharkD
Mike
Post a reply to this message


 
 




 
 


I have textures, but do not know how to orient them with respect to the
axial tilt, orbit and sun. Is anyone familiar with how to do this?
Mike
Post a reply to this message


 
 




 
 


On 15/09/2018 11:43, Mike Horvath wrote:
> I have textures, but do not know how to orient them with respect to the
> axial tilt, orbit and sun. Is anyone familiar with how to do this?
>
>
> Mike
For Z up Left handed scenes.
texture {
pigment {
image_map{
png "F:\Graphics\B3D Data\Maps\Planets\Earth\EarthMap2.png"
interpolate 2
map_type 1
}
rotate <20.000,0.000,0.000>
}
Then for orientation in an orbit. Rotate the sphere the planet texture
will follow.

Regards
Stephen
Post a reply to this message


 
 




 

