POV-Ray : Newsgroups : povray.general : Fractals with functions Server Time
5 Aug 2024 14:11:26 EDT (-0400)
  Fractals with functions (Message 11 to 14 of 14)  
<<< Previous 10 Messages Goto Initial 10 Messages
From: Simon Adameit
Subject: Re: Fractals with functions
Date: 1 Oct 2002 16:36:28
Message: <3d9a074c@news.povray.org>
>
> I think you could do it using the select() feature to just stop
> computation past a certain point...it would still "recurse", but the
> additional levels wouldn't have to do anything. It would be horribly
> complex, slow, and ugly, and would be limited to a low number of
> recursions, but I think it is "possible".
>

I dont understand why it would still "recurse" after one select() did not
pick the next select() but for example 0.


Post a reply to this message

From: Christopher James Huff
Subject: Re: Fractals with functions
Date: 1 Oct 2002 17:18:18
Message: <chrishuff-E3D311.17153301102002@netplex.aussie.org>
In article <3d9a074c@news.povray.org>, "Simon Adameit" <gom### [at] gmxde> 
wrote:

> I dont understand why it would still "recurse" after one select() did not
> pick the next select() but for example 0.

Eh, right. That code is still there, just most of the work is done at 
parse time, and not all of it will execute. And there is a lot more code 
than the equivalent recursive function, it could probably go above the 
limit pretty easily.

-- 
Christopher James Huff <cja### [at] earthlinknet>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tagpovrayorg
http://tag.povray.org/


Post a reply to this message

From: Pyry
Subject: Re: Fractals with functions
Date: 2 Oct 2002 11:55:14
Message: <web.3d9b16156657449f398d8dbb0@news.povray.org>
Simon Adameit wrote:
>
>Its slow but it can be done:
>
>camera{
> location -z
> look_at 0
>}
>
>#declare MaxIter = 5;
>
>#macro _Zr(n,I)
> #if(n<I)
>  (_Zr(n+1,I)*_Zr(n+1,I)-_Zi(n+1,I)*_Zi(n+1,I)+Re)
> #else
>  (Zr*Zr-Zi*Zi+Re)
> #end
>#end
>
>#macro _Zi(n,I)
> #if(n<I)
>  (2*_Zr(n+1,I)*_Zi(n+1,I)+Im)
> #else
>  (2*Zr*Zi+Im)
> #end
>#end
>
>#macro MakeFun(n)
> select(n<MaxIter & _Zr(0,n)*_Zr(0,n)+_Zi(0,n)*_Zi(0,n)<4, 0, n,
>  #if(n<MaxIter)
>   MakeFun(n+1)
>  #else
>   0
>  #end
> )
>#end
>
>#declare MandIter=
>function(Re, Im, Zr, Zi, n){
> MakeFun(0)
>}
>
>#declare Mandel = function { MandIter(x, y, x, y, 0)/MaxIter }
>
>plane{z,0
> pigment{ function { Mandel(x,y,z) }
>    color_map { [0 rgb z*.5][1 rgb <.5,.75,1>][1 rgb 0] }
>    scale 0.3
>  }
>  finish { ambient 1 }
>}
>

Thank you for this code. =)
It's a bit too slow but it's nice to see it can be done.
I think I'll use other fractal programs and import the pictures to POV when
I need them.

If you want challenge make a code that can recurse any fractal. Like 2^z+c
etc.


Post a reply to this message

From:
Subject: Re: Fractals with functions
Date: 4 Oct 2002 17:03:11
Message: <3d9e029c.794194140@news.povray.org>
On Tue, 1 Oct 2002 21:43:52 +0200, "Simon Adameit" <gom### [at] gmxde>
wrote:
>
>"Warp" wrote:
>>
>>   The number of recursions done depends on the given coordinates and thus
>> is not fixed.
>>
>
>Its slow but it can be done:

Sure eats a lot of memory fast, 5 iteratations take 5 MB, 10 makes
function too complex.

/Erkki


Post a reply to this message

<<< Previous 10 Messages Goto Initial 10 Messages

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