![](/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) |
"Chris Huff" <chr### [at] mac com> wrote :
>
> I whipped up this isosurface tree in about 20 minutes...but I cheated.
> :-)
Sure did! Cheaters never prosper....
> I don't think you are going to get a realistic looking, complex plant
> out of an ordinary function...
Don't say things like that!
I don't really think I will get it no matter if it is possible or not.
Below is how far I got today. And as I said, all I am trying for is a simple
"Y".
Post a reply to this message
Attachments:
Download 'Isotree0012.jpg' (7 KB)
Preview of image 'Isotree0012.jpg'
![Isotree0012.jpg](/povray.binaries.images/attachment/%3C39f62a60%40news.povray.org%3E/Isotree0012.jpg?preview=1)
|
![](/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 <39f62a60@news.povray.org>, "Bill DeWitt"
<the### [at] earthlink net> wrote:
> Below is how far I got today. And as I said, all I am trying for is a
> simple "Y".
Just a "Y"? That's easy...
function {if(-y, R1(x,y,z), R1(-abs(x)+y,y,z))-1}
Getting the branches to branch is what would make the function so
complex, and getting random variations in branch numbers, size, length,
etc. will be even more difficult. And the result probably won't render
in a reasonable speed.
--
Christopher James Huff
Personal: chr### [at] mac com, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tag povray org, 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) |
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) |
Bill DeWitt wrote:
>
> > And the result probably won't render
> > in a reasonable speed.
>
> Well see that is what I was hoping you wouldn't say. There are
> various -great- tree macros to be had, but I was assuming that an isosurface
> would be quicker.
Concerning efficiency, both a macro tree and a (hypothetical) isosurface have
advantages, the macro tree would probably render faster as a single object
(assuming both are equally complicated), but when placing a lot of trees in one
scene, the isosurface has strong advantages because of fewer memory use.
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) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Christoph Hormann wrote:
> Concerning efficiency, both a macro tree and a (hypothetical) isosurface have
> advantages, the macro tree would probably render faster as a single object
> (assuming both are equally complicated), but when placing a lot of trees in one
> scene, the isosurface has strong advantages because of fewer memory use.
LSystmes were designed for this purpose but have a bit of a learning
curve involved. Too bad there are no really good LSystem modelling
programs available.
--
Ken Tyler - 1400+ POV-Ray, Graphics, 3D Rendering, and Raytracing Links:
http://home.pacbell.net/tylereng/index.html http://www.povray.org/links/
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) |
Ken wrote:
>
> LSystmes were designed for this purpose but have a bit of a learning
> curve involved. Too bad there are no really good LSystem modelling
> programs available.
>
L-Systems have the same disadvantages as tree macros (IIRC most tree macros are
essentially specialized l-systems with some improvements).
BTW, a l-system modelling program would be quite difficult, because l-systems
are coded in fact and therefore can't be modelled, you could only try to
generate the l-system definition from some modelled shape, but that would not be
of much use IMO.
Attached are two coniferous trees i made with l-systems some years ago.
Christoph
--
Christoph Hormann <chr### [at] gmx de>
Homepage: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
Attachments:
Download 'lsys_01.jpg' (38 KB)
Preview of image 'lsys_01.jpg'
![lsys_01.jpg](/povray.binaries.images/attachment/%3C39F981BA.7159989D%40schunter.etc.tu-bs.de%3E/lsys_01.jpg?preview=1)
|
![](/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:
>L-Systems have the same disadvantages as tree macros (IIRC most tree
>macros are essentially specialized l-systems with some improvements).
Is it mathematically possible to somehow turn a L-system in to a function,
usable for an Isosurface?
What if you create a splines from an L-system, where the splines go from
the startpoint to every endpoint including all intermediate knots on the
path. Use this collection of splines for sweeps of blobs.
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) |
In article <8FDAB812Aseed7@204.213.191.228>, ing### [at] home nl (ingo)
wrote:
> Is it mathematically possible to somehow turn a L-system in to a
> function, usable for an Isosurface?
Yes, in the same way as for any other object...an L-system simply tells
how to put the pieces together. Your question is a bit like asking if
there is a way to mathematically turn a macro that generates a complex
object file into an isosurface function.
> What if you create a splines from an L-system, where the splines go from
> the startpoint to every endpoint including all intermediate knots on the
> path. Use this collection of splines for sweeps of blobs.
The spline step seems unnecessary, it should be easy to just make blob
components. It shouldn't be extremely difficult to make an include file
that can parse L-systems, at least not for someone who knows how to use
them. I have played around with them a little, but have no idea how the
more complex ones work.
--
Christopher James Huff
Personal: chr### [at] mac com, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tag povray org, 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) |
In article <39F981BA.7159989D@schunter.etc.tu-bs.de>,
chr### [at] gmx de wrote:
> L-Systems have the same disadvantages as tree macros (IIRC most tree
> macros are essentially specialized l-systems with some improvements).
An L-system patch would process much faster than a macro...the problem
is, what would it be represented as? A union of cones and spheres? A
mesh? A blob or isosurface? A macro can easily be customized to do
whatever you need, but a patch would be too specialized...and there
doesn't seem to be much demand for an L-system macro/include file when
there are macros and include files designed to generate plants and
L-system programs that can output POV-Script.
If you could somehow retrieve data from an L-system patch, like my
particle system patch allows, it would be more useful, but you would
still pay for parsing speed with flexibility.
--
Christopher James Huff
Personal: chr### [at] mac com, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tag povray org, 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) |
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |