POV-Ray : Newsgroups : povray.general : Heightfields to isosurfaces? Server Time
5 Nov 2024 09:24:57 EST (-0500)
  Heightfields to isosurfaces? (Message 1 to 10 of 17)  
Goto Latest 10 Messages Next 7 Messages >>>
From: Jörg 'Yadgar' Bleimann
Subject: Heightfields to isosurfaces?
Date: 8 Dec 2008 19:27:56
Message: <493dbb8c$1@news.povray.org>
High!

Since my childhood days in the 1970s I'm fascinated with maps, 
especially physical and topographic maps, and I early started designing 
fictitious continents and whole planets by drawing such maps. So when it 
comes to creating terrain with PoV-Ray, I also favor such a 
"cartographic" approach using contour line maps to be converted to 
heightfields rather than intuitive mesh modeling or fully procedural 
isosurfaces (which give only little control over topography).

Interpolating missing height levels manually from scanned contour lines 
is cumbersome, but nowadays there is at least one program to do this 
work - BlackArt (http://www.terrainmap.com/downloads/blackart.zip).
What bothers me more is that when viewed at close range, all 
heightfields inevitably look "blocky", so I ask myself whether it is 
possible to convert the height value matrix of a heightfield by 
"cross-approximating" each row and column into a discrete 3D function 
like it is used with isosurfaces...

Does anyone here know about such POV macros/external programs to do this 
job?

See you in Khyberspace!

Yadgar


Post a reply to this message

From: SharkD
Subject: Re: Heightfields to isosurfaces?
Date: 8 Dec 2008 20:05:01
Message: <web.493dc3cc7670da7f65c9778a0@news.povray.org>
=?ISO-8859-15?Q?J=F6rg_=27Yadgar=27_Bleimann?= <yaz### [at] gmxde> wrote:
> High!
>
> Since my childhood days in the 1970s I'm fascinated with maps,
> especially physical and topographic maps, and I early started designing
> fictitious continents and whole planets by drawing such maps. So when it
> comes to creating terrain with PoV-Ray, I also favor such a
> "cartographic" approach using contour line maps to be converted to
> heightfields rather than intuitive mesh modeling or fully procedural
> isosurfaces (which give only little control over topography).
>
> Interpolating missing height levels manually from scanned contour lines
> is cumbersome, but nowadays there is at least one program to do this
> work - BlackArt (http://www.terrainmap.com/downloads/blackart.zip).
> What bothers me more is that when viewed at close range, all
> heightfields inevitably look "blocky", so I ask myself whether it is
> possible to convert the height value matrix of a heightfield by
> "cross-approximating" each row and column into a discrete 3D function
> like it is used with isosurfaces...
>
> Does anyone here know about such POV macros/external programs to do this
> job?
>
> See you in Khyberspace!
>
> Yadgar

Have you tried using the "smooth" statement in heightfields?

-Mike


Post a reply to this message

From: Thomas de Groot
Subject: Re: Heightfields to isosurfaces?
Date: 9 Dec 2008 03:25:32
Message: <493e2b7c@news.povray.org>
"SharkD" <nomail@nomail> schreef in bericht 
news:web.493dc3cc7670da7f65c9778a0@news.povray.org...
> =?ISO-8859-15?Q?J=F6rg_=27Yadgar=27_Bleimann?= <yaz### [at] gmxde> wrote:
>
> Have you tried using the "smooth" statement in heightfields?
>

That is not enough. In the end, blocks remain visible when viewing from very 
near. I know of no external solution to this. When really necessary, I try 
to make the height_field map as large as I can.

Thomas


Post a reply to this message

From: scott
Subject: Re: Heightfields to isosurfaces?
Date: 9 Dec 2008 04:39:02
Message: <493e3cb6$1@news.povray.org>
> heightfields inevitably look "blocky", so I ask myself whether it is 
> possible to convert the height value matrix of a heightfield by 
> "cross-approximating" each row and column into a discrete 3D function like 
> it is used with isosurfaces...

You can do that, but if you have more than a few data points on each 
row/column your isosurface function is going to become horrendous and very 
slow to render.

Did you consider using the "bicubic_patch" object in POV?  Maybe you could 
find (or write) some code to convert each heightfield cell into a bicubic 
patch, this would then still look very smooth even if you got very close.


Post a reply to this message

From: Mike Williams
Subject: Re: Heightfields to isosurfaces?
Date: 9 Dec 2008 06:29:51
Message: <OeRVRUI8YlPJFw2A@econym.demon.co.uk>

>
>Does anyone here know about such POV macros/external programs to do 
>this job?

I suspect that isosurface spline functions might possibly do the job.

The basic strategy would be for a grid to be laid over the heightfield, 
and for the edges of each square to be sampled to produce four splines. 
Each square patch could then be rendered like the third entry on this 
page:
   http://www.econym.demon.co.uk/isotut/more.htm
except that that only takes the data from two of the edges.

What would be really nice would be to describe the contours as splines 
and write an isosurface that interpolates between the spline functions, 
but I imagine that would be rather difficult, and wouldn't be anywhere 
near as sophisticated as the algorithm used by BlackArt.


-- 
Mike Williams
Gentleman of Leisure


Post a reply to this message

From: Jörg 'Yadgar' Bleimann
Subject: Re: Heightfields to isosurfaces?
Date: 9 Dec 2008 06:58:15
Message: <493e5d57$1@news.povray.org>
High!

SharkD schrieb:

> Have you tried using the "smooth" statement in heightfields?

I did, but I would like to go for REAL smooth surfaces, not just 
"cosmetic" normal tricks!

See you in Khyberspace!

Yadgar


Post a reply to this message

From: Jaime Vives Piqueres
Subject: Re: Heightfields to isosurfaces?
Date: 9 Dec 2008 06:58:37
Message: <493e5d6d$1@news.povray.org>

> Does anyone here know about such POV macros/external programs to do this 
> job?

Here are my experiments on that matter:

http://www.ignorancia.org/en/index.php?page=Heightfield_based_Isosurfaces

Indeed, it is an interesting method, but very slow with radiosity (not to 
talk about media... ;).

Regards,

--
Jaime


Post a reply to this message

From: Christian Froeschlin
Subject: Re: Heightfields to isosurfaces?
Date: 9 Dec 2008 07:08:30
Message: <493e5fbe@news.povray.org>
> What bothers me more is that when viewed at close range, all 
> heightfields inevitably look "blocky", so I ask myself whether it is 
> possible to convert the height value matrix of a heightfield by 
> "cross-approximating" each row and column into a discrete 3D function 
> like it is used with isosurfaces...

what you can also try is to superimpose random detail from
f_ridged or similar onto a handcrafted lower resolution HF.
Suppose you have some 2048x2048 HF data, but enough free
memory so you could render a much higher resolution.

You can then

1. Define a pigment P based on the HF image_map
2. Define a pigment function FP based on P.gray
3. Define a random detail funtion FR (e.g., f_ridged)
4. Define a terrain function such as 0.9*FP + 0.1*FR
5. Create HF from function image at desired resolution

Of course it's still blocky, but maybe less so.


Post a reply to this message

From: Thomas de Groot
Subject: Re: Heightfields to isosurfaces?
Date: 9 Dec 2008 08:34:41
Message: <493e73f1@news.povray.org>
"scott" <sco### [at] scottcom> schreef in bericht 
news:493e3cb6$1@news.povray.org...
>
> Did you consider using the "bicubic_patch" object in POV?  Maybe you could 
> find (or write) some code to convert each heightfield cell into a bicubic 
> patch, this would then still look very smooth even if you got very close.
>
>
A program like GeoControl does something like that I think as it has the 
possibility to export the heightfield as an .obj file. The other side of the 
medal however, is that this file is HUGE, a few hundreds of MB for a high 
resolution heightfield. This is very difficult to manage subsequently and I 
am unsure about its render possibilities in terms of memory. I never could 
go beyond the export process... :-(

Thomas


Post a reply to this message

From: Alain
Subject: Re: Heightfields to isosurfaces?
Date: 9 Dec 2008 16:12:48
Message: <493edf50$1@news.povray.org>
Jörg 'Yadgar' Bleimann nous illumina en ce 2008-12-09 06:58 -->
> High!
> 
> SharkD schrieb:
> 
>> Have you tried using the "smooth" statement in heightfields?
> 
> I did, but I would like to go for REAL smooth surfaces, not just 
> "cosmetic" normal tricks!
> 
> See you in Khyberspace!
> 
> Yadgar
You can use a hight_field for the far parts, and cover it with some 
bicubic_patch for the close by area.

-- 
Alain
-------------------------------------------------
I find that the harder I work, the more luck I seem to have.
Thomas Jefferson


Post a reply to this message

Goto Latest 10 Messages Next 7 Messages >>>

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