POV-Ray : Newsgroups : povray.general : 3dnoise docs : Re: 3dnoise docs Server Time
10 Aug 2024 15:20:28 EDT (-0400)
  Re: 3dnoise docs  
From: Greg M  Johnson
Date: 9 Dec 1999 13:15:16
Message: <384FF0FD.2595CE04@my-dejanews.com>
Thanks greatly.
Q1:  Here's a math question.  For what values of the function  will I get "nothing"
to show up? negative??  >>threshold??

For example, if I want the noise3d function to be terminated above y=0, there are a
bunch of ways to do this with CSG. All of these would be a harsh cut.   I am
betting there is a way to make a very smooth termination of the function by playing
with the threshold values.

I guess that something like,
isosurface{
               fucntion {noise3d( x, y+9.5, z)}
               threshold 10
               }
might do it, but I'm not sure.

I have actually received advice on the topic before, but I never got a firm handle
on the actual **MATH** behind the function.

Q2:  So what are the operational thingies that work with the isosurface?
    & is and or intersection,
    . . . . . . . . . . .
    . . . . . . . . . . .


______________
Greg M. Johnson  (Opinions not necessarily those of a povray user).
http://members.xoom.com/gregjohn/animation.html


Ron Parker wrote:

> On Thu, 09 Dec 1999 08:50:23 -0500, Greg M. Johnson wrote:
> >Yes, I'm wondering about the parameters that can go into the equation.  I've
> >made things that look OK with just linear modifications to x,y,z.  Is there
> >a source doc or source paragraph somewhere?  I was told that they just plain
> >forgot to include this in one of the latest releases of superpatch.
>
> "They" would be me.  There are a lot of neat tricks you can do with isosurfaces
> that aren't documented with the superpatch.
>
> noise3d takes three parameters, x, y, and z.  What you choose to give it for
> those parameters is entirely up to you, and limited only by your imagination.
> If you want a cyclic noise, for example, you can feed it a cyclic function as
> a parameter, such as
>
>  #declare x_cyclic_noise = fucntion {noise3d( 20*sin(x/20), y, z)}
>
> There is no way to bound an isosurface with anything but a box or a sphere,
> due to the way the code is written.  I may try to fix this one day soon,
> depending on many factors I won't discuss right now.  You can, however,
> create a function that intersects two isosurfaces without using CSG. Try
> this and see if it's what you're looking for, but I suspect it'll look
> like what you got with intersect:
>
>  #declare noisynoise = function {noise3d( x,y,z) & noise3d(20*x,20*y,20*z)}
>
> --
> These are my opinions.  I do NOT speak for the POV-Team.
> The superpatch: http://www2.fwi.com/~parkerr/superpatch/
> My other stuff: http://www2.fwi.com/~parkerr/traces.html


Post a reply to this message

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