POV-Ray : Newsgroups : povray.programming : New idea to complex objects Server Time
29 Jul 2024 10:28:54 EDT (-0400)
  New idea to complex objects (Message 1 to 8 of 8)  
From: Mathias Broxvall
Subject: New idea to complex objects
Date: 11 Feb 1998 05:26:54
Message: <1d4a9i6.91m9vc13jew2cN@dialup100-1-13.swipnet.se>
Hi all!

Yesterday while rendering my scene with 4000 blobs I got
an idea to a *usefull* object in povray and some of the
algorithms for it. What if I greate a particle object
relying on something related to the Noise function already
existing. What I think is this:

1]  The noise function associates a semirandom continuous
    value between 0 and 1 for every point in a 3D space. Let
    all values over a given threshold (0.8 maybe) be "inside"
    an object and all other points outside.

2]  Since the Noise function is linear between a given set of
    lattice points I can find the intersection of a ray with
    the objects by solving a linear intersection for every
    3D cube between the lattice points which my ray passes. 

3]  The gradient in such a point is also computable.

4]  Turbulence *might* (I not sure) be added with some "sampling"
    points for the ray in every cube.

5]  What if the user can specify the values in the lattice used
    by the "Noise" function? (Maybe even with turbulence in it!)

Please take a look at the Noise function the sourcefile TEXTURE.c
if you don't understand what I talk about.

I would use such an object to build an asteroid belt approximatly
20 x 20 x length latticepoints large (accomodating approximatly 
10 to 20 asteroids in the width and height directions) and thus having
a maximum of 29 (20 * sqrt(2)) linear equations to solve for a ray
orthogonal to the asteroidbelt. With option [5] if could even specify
a density function such that I have many asteroids in the middle
and a few asteroids near the edges.

/ Mathias Broxvall

PS. I know that I talk more than I implement, but I have implemented
  *some* changes to povray.
.DS

PPS. To "Rolf F. Katzenberger", I could not answer your question
  about a YACC grammar for the parser since your email address
  bounces for me.
.DDS


Post a reply to this message

From: Ronald L  Parker
Subject: Re: New idea to complex objects
Date: 11 Feb 1998 08:48:06
Message: <34e2ab4c.2870096@10.0.2.33>
On Wed, 11 Feb 1998 11:26:54 +0100, mbr### [at] swipnetse (Mathias Broxvall)
wrote:

>Hi all!
>
>Yesterday while rendering my scene with 4000 blobs I got
>an idea to a *usefull* object in povray and some of the
>algorithms for it. What if I greate a particle object
>relying on something related to the Noise function already
>existing. What I think is this:
>

Have you checked out what you can do with the isosurface patch using
the noise function?  It's possible to make a spongy-looking thing
without even trying too hard.  To make a pile of particles doesn't
seem like it'd be too much harder.  You might experiment with this and
see if it can be made to do what you want before you try to create a
whole new object.


Post a reply to this message

From: Mathias Broxvall
Subject: Re: New idea to complex objects
Date: 12 Feb 1998 18:26:58
Message: <1d4c7gn.1m56g1kphc5q8N@dialup181-2-52.swipnet.se>
Ronald L. Parker <ron### [at] farmworkscom> wrote:

> On Wed, 11 Feb 1998 11:26:54 +0100, mbr### [at] swipnetse (Mathias Broxvall)
> wrote:
> 
> >Hi all!
> >
> >Yesterday while rendering my scene with 4000 blobs I got
> >an idea to a *usefull* object in povray and some of the
> >algorithms for it. What if I greate a particle object
> >relying on something related to the Noise function already
> >existing. What I think is this:
> >
> 
> Have you checked out what you can do with the isosurface patch using
> the noise function?  It's possible to make a spongy-looking thing
> without even trying too hard.  To make a pile of particles doesn't
> seem like it'd be too much harder.  You might experiment with this and
> see if it can be made to do what you want before you try to create a
> whole new object.

Sorry, I haven't found a macintosh port of the isosurface patch.
I've started porting it myself but isn't finished. Anyway, correct
me if I'm wrong, can it realy handle 4000 - 10000 asteroids (tracing
time) in a fast way?

/ MBrx


Post a reply to this message

From: Ronald L  Parker
Subject: Re: New idea to complex objects
Date: 13 Feb 1998 09:22:33
Message: <34e7557c.4914747@10.0.2.33>
On Fri, 13 Feb 1998 00:26:58 +0100, mbr### [at] swipnetse (Mathias Broxvall)
wrote:

>Sorry, I haven't found a macintosh port of the isosurface patch.
>I've started porting it myself but isn't finished. Anyway, correct
>me if I'm wrong, can it realy handle 4000 - 10000 asteroids (tracing
>time) in a fast way?

Perhaps not as fast as a method that can assume local linearity, but
it is fast.  The number of asteroids isn't really as relevant as the
volume is.  Here are the details from the isosurface documentation.
Note that, unless you tell it otherwise, it only finds the first
intersection of a given ray with an isosurface object.

The equipotential-surface finding in POVeq patch is based on a
recursive subdivision method as following. 

   1.POV-Ray calculates the potential values at the two points (d1 and
d2, where d1<d2: the distance from the initial point of the ray). 
   2.If there is a possibility (possibility is calculated with a
testing function T(f(d1),f(d2), MAX_GRADIENT)) of existence of the
equipotential-surface between 'd1' and 'd2', POV-Ray calculates
potential value at another point 'd3' on the ray between the two point
'd1' and 'd2'. 
   3.If there is a possibility between 'd1' and 'd3', POV-Ray
calculates another point 'd4' between 'd1' and 'd3'. 
   4.If there is no possibility between 'd1' and 'd3', POV-Ray looks
for another point 'd4' between 'd3' and 'd2'. 
   5.These calculation (1-4) will be done recursively until
(dn-dn')<"ACCURACY".


Post a reply to this message

From: Mathias Broxvall
Subject: Re: New idea to complex objects
Date: 13 Feb 1998 15:45:11
Message: <1d4eq62.8oauvgzqdfm4N@dialup178-2-29.swipnet.se>
> >Sorry, I haven't found a macintosh port of the isosurface patch.
> >I've started porting it myself but isn't finished. Anyway, correct
> >me if I'm wrong, can it realy handle 4000 - 10000 asteroids (tracing
> >time) in a fast way?
> 
> Perhaps not as fast as a method that can assume local linearity, but
> it is fast.  The number of asteroids isn't really as relevant as the
> volume is.  Here are the details from the isosurface documentation.
> Note that, unless you tell it otherwise, it only finds the first
> intersection of a given ray with an isosurface object.
> ....

*Thanks* I see now that it's pointless to implement a patch
myself. It should be possible to do some realy great things with
such a powerfull addition to the pov language.

/ Mathias


Post a reply to this message

From: Michael Andrews
Subject: Re: 'Just bang the rocks together guys' :-)
Date: 11 Feb 1998 14:49:35
Message: <34E200CE.4FC2F948@reading.ac.uk>
Ronald L. Parker wrote:

> Have you checked out what you can do with the isosurface patch using
> the noise function?  It's possible to make a spongy-looking thing
> without even trying too hard.  To make a pile of particles doesn't
> seem like it'd be too much harder.  You might experiment with this and
> see if it can be made to do what you want before you try to create a
> whole new object.

Well, here's a scene I just Hitched together. (Asteroids ... 'Just bang
the rocks together guys!' ... Sheesh! Sorry about that. Obscure, probably
misquoted, literary reference a la Douglas Adams. It's been a long day.
Honestly <sob, sob> I'm not usually this bad.)

Anyhow, here's the image and code.

        Byeeee,
            Mike Andrews.


Post a reply to this message


Attachments:
Download 'asteroid.jpg' (16 KB) Download 'asteroid.pov.txt' (1 KB)

Preview of image 'asteroid.jpg'
asteroid.jpg

From: Tristan Wibberley
Subject: Re: 'Just bang the rocks together guys' :-)
Date: 12 Feb 1970 05:53:24
Message: <01bd379b$c326cb40$181657a8@W_tristan.gb.tandem.com>
That's excellent!

-- 
Tristan Wibberley

(Remove the '.NO_LUNCHEON_MEAT' from my
email address to reply.)


Post a reply to this message

From: Jamis Buck
Subject: Re: povman (shader patch for povray 2.X)
Date: 21 Feb 1998 11:27:24
Message: <34EF006C.CADBC827@cs.byu.edu>
Sorry to re-hash this, but I keep getting an error ("no such article
number in this group") which I try to read this thread.

Can anyone just review the contents of it?  Was anyone able to get slc
compiled and working?  I managed to get it compiled under DOS, but it
keeps getting a parse error when it tries to parse the keyword "float".

Anyway.  Thanks for the help!

- Jamis Buck
  buc### [at] csbyuedu
  http://students.cs.byu.edu/~buck


Post a reply to this message

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