![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <shgslso0akn9pcm58dlljbqg9sbgg5c03u@4ax.com>, Peter Popov
<pet### [at] usa net> wrote:
> In MegaPOV, you can use the slope pattern and give it a suitable color
> map so as to only point out the peaks. Then you can use eval_pigment
> to check against it and the place objects or whatever you like on the
> 'bumps'. Hope I made this clear enough.
The eval_pigment function won't work with the slope pattern, because
slope requires intersection information which isn't available(POV
doesn't know you want to check it at that point on the surface of the
object).
However, you could do an overhead view of the height field, and use
eval_pigment on the resulting image_map...or emulate the slope pattern
using the trace function.
--
Christopher James Huff - Personal e-mail: chr### [at] mac com
TAG(Technical Assistance Group) e-mail: chr### [at] tag povray org
Personal Web page: http://homepage.mac.com/chrishuff/
TAG Web page: http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Sat, 01 Jul 2000 19:43:28 -0500, Chris Huff <chr### [at] mac com>
wrote:
>The eval_pigment function won't work with the slope pattern, because
>slope requires intersection information which isn't available(POV
>doesn't know you want to check it at that point on the surface of the
>object).
That's a limitation I didn't think about. Thanks for putting me back
on track.
Peter Popov ICQ : 15002700
Personal e-mail : pet### [at] usa net
TAG e-mail : pet### [at] tag povray org
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Wouldn't a gradient y pattern be even better to determine the highest part
of the Hf? Just give it a colour-map from black to white and check for the
brightest part (with eval_pattern)?
Marc-Hendrik
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Margus Ramst wrote:
>A basic method in MegaPOV would be to get a grid of height values
>(using trace) and start comparing: if a point is higher than all 8
>points around it (or 5 points at the edges, or 3 points in the corner)
>it is the top of a bump.
If the base of your HF is an image you can use ImagInc by Remco de Korte
to get a grid of values: http://www.xs4all.nl/~remcodek/pov.html . It
turns an image into an INC file so you can use the RGB-data.
Ingo
--
Photography: http://members.home.nl/ingoogni/
Pov-Ray : http://members.home.nl/seed7/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Sun, 2 Jul 2000 11:36:53 +0200, "Marc-Hendrik Bremer"
<Mar### [at] t-online de> wrote:
>Wouldn't a gradient y pattern be even better to determine the highest part
>of the Hf? Just give it a colour-map from black to white and check for the
>brightest part (with eval_pattern)?
This would only determine the global maximum and not all the local
maxima.
Peter Popov ICQ : 15002700
Personal e-mail : pet### [at] usa net
TAG e-mail : pet### [at] tag povray org
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
I thought there was a function called hf_at that lets you make the highest
part of the HF what you want. eg: hf_at 10 I'm not quite sure.
Mick Hazelgrove wrote:
> Is there a way of finding the highest parts of a hf. I don't just want
> everything above a certain height but the top of every bump. Hope this is
> clear.
>
> Hope someone can help.
>
> Mick
--
Samuel Benge
E-Mail: STB### [at] aol com
Visit my isosurface tutorial at http://members.aol.com/stbenge
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"SamuelT" <STB### [at] aol com> wrote in message news:395F875B.D2218AA9@aol.com...
| I thought there was a function called hf_at that lets you make the highest
| part of the HF what you want. eg: hf_at 10 I'm not quite sure.
Nope, that's a poor man's 'trace()'. 'hf_height_at' returns just the y coord
of the hf cubical (only the starting, untransformed hf) from 0*x, 0*z to x, z.
Bob
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Christoph Hormann wrote:
>
> HF-Lab contains a function for something quite similar, namely filling up local
> minima, source code (in C) can be found at:
>
I am aware of the function ("fillbasin" or something?), but IIRC it requires
several passes and takes a while to compute even in HF-Lab. Probably not
practical in POV script.
However, you could let HF-Lab itself to do the hard work for you: have the fill
function go over your HF a few times, then use the resultant HF (having fewer
local maxima) with the method I suggested.
In fact, even this might be unnecessary: I think HF-lab can find the first and
second derivatives of HF data, so it should be possible to create a filter
script to find and "mark" the local maxima. Perhaps I'll look into it in a day
or two - or perhaps it is best left to someone who actually knows something
about maths ;)
--
Margus Ramst
Personal e-mail: mar### [at] peak edu ee
TAG (Team Assistance Group) e-mail: mar### [at] tag povray org
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Bob Hughes wrote:
>
> Nope, that's a poor man's 'trace()'. 'hf_height_at' returns just the y coord
> of the hf cubical (only the starting, untransformed hf) from 0*x, 0*z to x, z.
>
Hf_height_at should be sufficient in this case, although I must say I have never
used it myself.
--
Margus Ramst
Personal e-mail: mar### [at] peak edu ee
TAG (Team Assistance Group) e-mail: mar### [at] tag povray org
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Margus Ramst wrote:
>
[...]
> In fact, even this might be unnecessary: I think HF-lab can find the first and
> second derivatives of HF data, so it should be possible to create a filter
> script to find and "mark" the local maxima. Perhaps I'll look into it in a day
> or two - or perhaps it is best left to someone who actually knows something
> about maths ;)
>
I am right now working on a program that generates such masks in a flexible
manner (see http://www.schunter.etc.tu-bs.de/~chris/atg_02.jpg for a first
screenshot). I am busy with other things and it is a quite large program, so it
won't get finished in the next days, but don't give up hope :-)
Christoph
--
Christoph Hormann <chr### [at] gmx de>
Homepage: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |