POV-Ray : Newsgroups : povray.pov4.discussion.general : Tree Fractals : Re: Tree Fractals Server Time
29 Feb 2024 03:33:50 EST (-0500)
  Re: Tree Fractals  
From: Nekar Xenos
Date: 3 Dec 2009 14:28:46
Message: <op.u4dm15xtufxv4h@xena>
On Sun, 22 Nov 2009 22:32:02 +0200, John VanSickle  
<evi### [at] hotmailcom> wrote:

> clipka wrote:
>> Gerhard Oosthuizen schrieb:
>>> It would be nice to have a fractal object for trees and lightning.
>>> Tree-like fractal textures would also be nice for veins and leaves.
>>  I guess you're talking about fractals of the recursive kind, as in:
>>      #declare MyTree {
>>       cylinder { <0,0,0>, <0,1,0> }
>>       object { MyTree scale 0.5 rotate  z*30 translate y*1 }
>>       object { MyTree scale 0.7 rotate -z*20 translate y*1 }
>>     }
>>  (which of course doesn't work in POV-Ray 3.6 or 3.7)
>>  Unfortunately, such recursive definitions are perfectly unsuited for  
>> raytracing, and would have to be "resolved" prior to rendering anyway  
>> (same goes for textures).
>
> Not necessarily, if the bounding scheme is right.

Woo-hoo! =D
>
> In the case above, tracing tests for the bound around the whole fractal  
> object; if the ray intersects the bound, then test for the cylinder and  
> each of the child objects.  Ray tracing recurses well (or else  
> reflection and refraction would not be something that ray tracing excels  
> at).
>
I thought most fractals are recursive. I'm sure Mandelbrot is recursive  
(though there might be a non-recursive method that I don't know about)

> Going into each level, the camera would have to be transformed so that  
> the sub-objects are scaled, rotated, and transformed correctly.
>
> Additional parameters would be helpful here:
>
> * A bound for the whole fractal, allowing the renderer to move on to  
> other objects in the scene as soon as possible;
> * A recursion_level setting, declaring a maximum depth for recursion;
> * A minimum_size setting, telling the renderer the smallest amount of  
> scaling allowed for any further recursion;
> * a leaf_object { }, which allows the user to specify an object that is  
> used in place of recursion when either the recursion_level or the  
> minimum_size is reached.
>
I like your ideas.

> The only real problem I can see with such an object is that while it's  
> probably very good for making trees and plants of a certain quality,  
> most of its uses are fairly abstract.  Most of the things that we want  
> to model aren't fractal in overall shape.
>
> So barring a compelling reason, other than trees, to have fractals in  
> the renderer, it seems that the usefulness of the feature does not  
> justify the effort needed to implement it.
>

I wouldn't say that's not enough reason not to implement it. Pov artist  
have found weird and wonderful uses of some seemingly useless features :)


-- 
-Nekar Xenos-
"The spoon is not real"


Post a reply to this message

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