|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Hi Povrayer,
2018 I worked with real height-data of planets and tried some fly-over with help
from Povrays height-fields.
Here one of the Moon (Mare Imbrium) and two from Mars (Vallis Marineris and
Olympus Mons).
Videos:
https://www.youtube.com/watch?v=dw8pX6D5ky0
https://www.youtube.com/watch?v=0CAEoP-xg5U
https://www.youtube.com/watch?v=HOXpAtFe2mQ
Playlist:
https://www.youtube.com/playlist?list=PLyqRFFB9kitzKn_a_-PQa-DMO24SXNE-Z
The DEM and the visual maps I downlaoded from the former NASA-Site Map-A-Planet
(version 1).
The resolution isnt the best, due to the former download-limit of Map-A-Planet.
Also there is some flickering in the movies, partially by switched-off
anti-aliasing.
The elevation is exaggerated by a factor 1.5 to 2, I dont know the exact values.
But a nice try I think, I would love to get additional and more detailed maps to
play with.
Unfortunately NASA shuts down the old site and replaced it by a much more
complicated one.
By the way:
This is the sub-board to present movies, right? Or the other animation
sub-board?
Its my 2nd post here, thats why I ask.
Ciao,
Post a reply to this message
Attachments:
Download '2020-11-16-201954_5120x1440_scrot.png' (961 KB)
Preview of image '2020-11-16-201954_5120x1440_scrot.png'
|
|
| |
| |
|
|
From: Jörg "Yadgar" Bleimann
Subject: Re: Planetary fly-overs with height-fields
Date: 18 Nov 2020 08:03:18
Message: <5fb51b96$1@news.povray.org>
|
|
|
| |
| |
|
|
Hi(gh)!
> Hi Povrayer,
>
> 2018 I worked with real height-data of planets and tried some
fly-over with help
> from Povrays height-fields.
> Here one of the Moon (Mare Imbrium) and two from Mars (Vallis
Marineris and
> Olympus Mons).
>
> Videos:
> https://www.youtube.com/watch?v=dw8pX6D5ky0
> https://www.youtube.com/watch?v=0CAEoP-xg5U
> https://www.youtube.com/watch?v=HOXpAtFe2mQ
Nicely done... what vertical resolution did you use - 8 or 16 bit? The
Olympus Mons flyaround shows some "terraced" terrain usually seen with
8-bit grayscale heightfields...
> Playlist:
> https://www.youtube.com/playlist?list=PLyqRFFB9kitzKn_a_-PQa-DMO24SXNE-Z
>
> The DEM and the visual maps I downlaoded from the former NASA-Site
Map-A-Planet
> (version 1).
> The resolution isnt the best, due to the former download-limit of
Map-A-Planet.
> Also there is some flickering in the movies, partially by switched-off
> anti-aliasing.
Meanwhile, there should be higher-quality data downloadable... if only
NASA servers would not be so chaotically structured!
I myself plan to do planetary flyovers with spherical "heightfields", i.
e. mesh2 reliefs wrapped around a sphere, like this:
https://www.youtube.com/watch?v=PKxHFAlz2Ns&pbjreload=101
Your nickname indicates that you're from Cologne - or at least the
bordering Ripuarian-speaking regions... am I right?
See you in Khyberspace!
Yadgar
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Hi Yadgar,
the original pictures are all 8-bit greyscale, and to convert them into 16-bit
didnt help. I want to ask a co-worker if there are some Gimp-Filters to better
them, maybe that helps. At them moment there are only 265 steps in height, hope
that I can smooth them a littlebit.
To get better pics I have to invest many hours of look and search in the
internet, there was no time for this in the past month.
Your movie looks nice, more detailed than mine.
I plan to check out meshes to but didnt start with it.
Do you have a skript as a starting-point for me?
Yes, I am from cologne, you're right.
I have a small personal blog but my website is down at the moment.
Will inform the povray-world when its online again :)
Alaaf,
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Le 2020-11-22 à 06:02, M�tes a écrit :
> Hi Yadgar,
>
> the original pictures are all 8-bit greyscale, and to convert them into 16-bit
> didnt help. I want to ask a co-worker if there are some Gimp-Filters to better
> them, maybe that helps. At them moment there are only 265 steps in height, hope
> that I can smooth them a littlebit.
>
Converting an 8-bit image to 16-bits can't help. All it can do is append
8 zeros as low order bits.
You need some more steps to interpolate smoothly between the original steps.
Post a reply to this message
|
|
| |
| |
|
|
From: Jörg "Yadgar" Bleimann
Subject: Re: Planetary fly-overs with height-fields
Date: 3 Dec 2020 06:16:24
Message: <5fc8c908$1@news.povray.org>
|
|
|
| |
| |
|
|
Hi(gh)!
On 22.11.20 12:02, M�tes wrote:
> Hi Yadgar,
>
> the original pictures are all 8-bit greyscale, and to convert them into 16-bit
> didnt help. I want to ask a co-worker if there are some Gimp-Filters to better
> them, maybe that helps. At them moment there are only 265 steps in height, hope
> that I can smooth them a littlebit.
>
> To get better pics I have to invest many hours of look and search in the
> internet, there was no time for this in the past month.
>
> Your movie looks nice, more detailed than mine.
> I plan to check out meshes to but didnt start with it.
> Do you have a skript as a starting-point for me?
>
> Yes, I am from cologne, you're right.
> I have a small personal blog but my website is down at the moment.
> Will inform the povray-world when its online again :)
>
> Alaaf,
> Mätes
>
To get "spherical" heightfields which follow the planet's curvature it's
best to have a topographical bitmap in simple cylindrical projection
(side ratio 2:1, which is important!) and then start getting the color
values for each pixel using eval_pigment(), in a nested loop running
from 90 to -90 degrees (latitude) and -180 to 180 degrees (longitude).
Then you convert each color value to a height within the elevation range
of the planet - with Earth and greyscales this would be (assuming a
scale of 1 km per POV unit):
height = radius (i. e. 6377.5-11.022 for Earth - sealevel radius minus
deepest point of the ocean) + (gray value*255)*((11.022 [Mariana trench]
+ 8.8848 [Mt. Everest])/255)
(or height = radius (6377.5-0.422) + (gray value*255)*(0.422 [Dead Sea]
+ 8.8848 [Mt. Everest])/255), if your map doesn't include ocean depths)
This height value translates as follows to a 3D point for each mesh vertex:
vertpos = height*<radians(sin(-longitude))*radians(cos(latitude)),
radians(sin(latitude)), radians(cos(-longitude))*radians(cos(latitude))>
Note that the longitude value has to be multiplied with -1, as Earth
longitudes increase counter-clockwise from west to east!
I think you will be able to transfer this to your Martian project
without much effort...
...of course, after that you will have to set up the mesh2 faces from
the index values of the vertices!
The faces are constructed this way:
#declare a = 0;
#declare c = 0;
#while (a < ydim-1)
#declare b = 0;
#while (b < xdim-1)
#declare Faces[a*ydim+b] = <a*res+b, a*res+b+1, (a+1)*res+b>;
#declare Faces[a*ydim+b+1] = <a*res+b+1, (a+1)*res+b+1, (a+1)*res+b>;
#declare c = c+2;
#declare b = b+1;
#end
#declare a = a+1;
#end
I hope I could help you...
See you in Khyberspace!
Yadgar
Now playing: Madeleine (Bernhard Brink)
Post a reply to this message
|
|
| |
| |
|
|
From: Jörg "Yadgar" Bleimann
Subject: Re: Planetary fly-overs with height-fields
Date: 3 Dec 2020 08:00:00
Message: <5fc8e150$1@news.povray.org>
|
|
|
| |
| |
|
|
Hi(gh)!
On 22.11.20 17:44, Alain Martel wrote:
> Converting an 8-bit image to 16-bits can't help. All it can do is append
> 8 zeros as low order bits.
> You need some more steps to interpolate smoothly between the original
> steps.
Mätes, you might try the (very ancient, for MS-DOS!) tool "HF-Lab"
written back in the last century by John Beale... when you apply a
slight blur filter (command: nsmooth 7, just 7 iterations of nsmooth) to
your heightfield, it might benefit considerably!
See you in Khyberspace!
Yadgar
Now playing: Aranjuez (Blonker)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Hi Yadgar
=?UTF-8?Q?J=c3=b6rg_=22Yadgar=22_Bleimann?= <yaz### [at] gmxde> wrote:
>...
> vertpos = height*<radians(sin(-longitude))*radians(cos(latitude)),
> radians(sin(latitude)), radians(cos(-longitude))*radians(cos(latitude))>
The code above seems wrong. Your vector should probably be calculated like this:
<
cos(radians(latitude))*sin(radians(-longitude)),
sin(radians(latitude)),
cos(radians(latitude))*cos(radians(-longitude))
>
>...
> The faces are constructed this way:
>
> #declare a = 0;
> #declare c = 0;
> #while (a < ydim-1)
> #declare b = 0;
> #while (b < xdim-1)
> #declare Faces[a*ydim+b] = <a*res+b, a*res+b+1, (a+1)*res+b>;
> #declare Faces[a*ydim+b+1] = <a*res+b+1, (a+1)*res+b+1, (a+1)*res+b>;
> #declare c = c+2;
> #declare b = b+1;
> #end
> #declare a = a+1;
> #end
Have you tested if the code above works as you intended ?
--
Tor Olav
http://subcube.com
https://github.com/t-o-k
Post a reply to this message
|
|
| |
| |
|
|
From: Jörg "Yadgar" Bleimann
Subject: Re: Planetary fly-overs with height-fields
Date: 5 Dec 2020 08:55:48
Message: <5fcb9164@news.povray.org>
|
|
|
| |
| |
|
|
Hi(gh)!
On 04.12.20 11:27, Tor Olav Kristensen wrote:
> Hi Yadgar
>
> =?UTF-8?Q?J=c3=b6rg_=22Yadgar=22_Bleimann?= <yaz### [at] gmxde> wrote:
>> ...
>> vertpos = height*<radians(sin(-longitude))*radians(cos(latitude)),
>> radians(sin(latitude)), radians(cos(-longitude))*radians(cos(latitude))>
>
> The code above seems wrong. Your vector should probably be calculated like this:
>
> <
> cos(radians(latitude))*sin(radians(-longitude)),
> sin(radians(latitude)),
> cos(radians(latitude))*cos(radians(-longitude))
Yes, you're right - I just typed it from memory, I should have looked it
up in my scripts instead!
>> The faces are constructed this way:
>>
>> #declare a = 0;
>> #declare c = 0;
>> #while (a < ydim-1)
>> #declare b = 0;
>> #while (b < xdim-1)
>> #declare Faces[a*ydim+b] = <a*res+b, a*res+b+1, (a+1)*res+b>;
>> #declare Faces[a*ydim+b+1] = <a*res+b+1, (a+1)*res+b+1, (a+1)*res+b>;
>> #declare c = c+2;
>> #declare b = b+1;
>> #end
>> #declare a = a+1;
>> #end
>
> Have you tested if the code above works as you intended ?
With the script I extracted the code from, it works perfectly!
See you in Khyberspace!
Yadgar
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
=?UTF-8?Q?J=c3=b6rg_=22Yadgar=22_Bleimann?= <yaz### [at] gmxde> wrote:
> Hi(gh)!
>
> On 04.12.20 11:27, Tor Olav Kristensen wrote:
> > Hi Yadgar
> >
> > =?UTF-8?Q?J=c3=b6rg_=22Yadgar=22_Bleimann?= <yaz### [at] gmxde> wrote:
> >> ...
> >> The faces are constructed this way:
> >>
> >> #declare a = 0;
> >> #declare c = 0;
> >> #while (a < ydim-1)
> >> #declare b = 0;
> >> #while (b < xdim-1)
> >> #declare Faces[a*ydim+b] = <a*res+b, a*res+b+1, (a+1)*res+b>;
> >> #declare Faces[a*ydim+b+1] = <a*res+b+1, (a+1)*res+b+1, (a+1)*res+b>;
> >> #declare c = c+2;
> >> #declare b = b+1;
> >> #end
> >> #declare a = a+1;
> >> #end
> >
> > Have you tested if the code above works as you intended ?
>
> With the script I extracted the code from, it works perfectly!
But about all of the calculations you do in this line "#declare
Faces[a*ydim+b+1] = ..." are wasted (i.e. not used), except for in the last
iteration of the "#while (b < xdim-1)" loop. That is because they are
overwritten in the next iteration of the loop.
And if you use c to count the number of vectors defined so far in the Faces
array, then the count will be about twice as high as the actual number of
vectors put into that array.
--
Tor Olav
http://subcube.com
https://github.com/t-o-k
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|