POV-Ray : Newsgroups : povray.binaries.images : My trip to the red planet Server Time
10 Aug 2024 01:27:35 EDT (-0400)
  My trip to the red planet (Message 1 to 6 of 6)  
From: ZeSly
Subject: My trip to the red planet
Date: 20 Oct 2004 16:37:47
Message: <4176cc9b@news.povray.org>
Hello povers,

Here is a fly by of Valles Marineris on Mars. I think the relief is a bit to
high. Maybe there is something I did not understand exactly with
isosurfaces. Here is the function I use :

  #declare pl_radius = 3396;
  #declare min_alt = -8.208;
  #declare max_alt = 21.249;
  #declare alt_fct = max_alt - min_alt;

function { f_sphere(x,y,z,pl_radius+max_alt) -
alt_fct*f_relief(x,y,z).gray }

The f_relief function is an image_map as the ones we use with a height_filed

Thanks for any help.

-- 
ZeSly
http://perso.wanadoo.fr/zesly/


Post a reply to this message


Attachments:
Download 'mars_nav.jpg' (205 KB)

Preview of image 'mars_nav.jpg'
mars_nav.jpg


 

From: Eli
Subject: Re: My trip to the red planet
Date: 20 Oct 2004 16:46:38
Message: <4176ceae@news.povray.org>
There is a bit too much (red) atmosphere?


Post a reply to this message

From: Slime
Subject: Re: My trip to the red planet
Date: 20 Oct 2004 17:42:55
Message: <4176dbdf$1@news.povray.org>
> Here is a fly by of Valles Marineris on Mars. I think the relief is a bit
to
> high.

It looks about right to me. The min_alt to max_alt distance is about 30 or
so, and the radius of the sphere is about 3400, so the depth should be about
3/340 or about 1/110 the radius of the sphere, which is about what it looks
like it is.

There *is* one thing slightly wrong: you're subtracting your image depths
from the sphere, which means the sphere's radius at a given point is
pl_radius+max_alt + the height of the image at that point. (Remember that
subtracting something from a function makes it more likely to be below zero,
which *increases* the surface height.) So I think what you wanted was

function { f_sphere(x,y,z,pl_radius+min_alt) -
alt_fct*f_relief(x,y,z).gray }

(I simply replaced max_alt with min_alt.)

To test this, you can always make a normal (non-isosurface) sphere of radius
pl_radius and check that it cuts the terrain properly.

 - Slime
 [ http://www.slimeland.com/ ]


Post a reply to this message

From: Mike Williams
Subject: Re: My trip to the red planet
Date: 21 Oct 2004 01:38:22
Message: <qDRZPBAPr0dBFwzY@econym.demon.co.uk>
Wasn't it ZeSly who wrote:
>Hello povers,
>
>Here is a fly by of Valles Marineris on Mars. I think the relief is a bit to
>high. Maybe there is something I did not understand exactly with
>isosurfaces. Here is the function I use :
>
>  #declare pl_radius = 3396;
>  #declare min_alt = -8.208;
>  #declare max_alt = 21.249;
>  #declare alt_fct = max_alt - min_alt;
>
>function { f_sphere(x,y,z,pl_radius+max_alt) -
>alt_fct*f_relief(x,y,z).gray }
>
>The f_relief function is an image_map as the ones we use with a height_filed
>
>Thanks for any help.
>

Actually the relief seems to work out to be correct, though there is a
slight error in your ground level. You happen to be lucky that the
function values returned by f_sphere happen to be linear with altitude.
This is not generally the case.

If you use trace() on the isosurface you can determine that a point
corresponding to a black pixel on the relief map is at a height of
3417.224, and one corresponding to a white pixel is at 3446.705.

That gives the correct difference between high and low points, but it's
all way above the nominal planet radius. That's because subtracting the
relief function adds height, and adding max_alt also adds height. What
you should do is

function { f_sphere(x,y,z,pl_radius+min_alt) -
alt_fct*f_relief(x,y,z).gray }



-- 
Mike Williams
Gentleman of Leisure


Post a reply to this message

From: ZeSly
Subject: Re: My trip to the red planet
Date: 21 Oct 2004 07:09:21
Message: <417798e1$1@news.povray.org>

news:qDR### [at] econymdemoncouk...
> relief function adds height, and adding max_alt also adds height. What
> you should do is
>
> function { f_sphere(x,y,z,pl_radius+min_alt) -
> alt_fct*f_relief(x,y,z).gray }

I had a doubt about that. My first try was with this function. Thanks to you
and to Slime to give the correct function.

-- 
ZeSly
http://perso.wanadoo.fr/zesly/


Post a reply to this message

From: Marneus Calgar
Subject: Re: My trip to the red planet
Date: 28 Oct 2004 07:28:00
Message: <mn.e3277d4aa551de3b.14125@please.com>
I love it !!!

-- 

Dark Skull Software
http://www.darkskull.net

A+


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.