Logo by LAR2 - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Check out the originating "3d Mandelbulb" thread here
 
*
Welcome, Guest. Please login or register. October 01, 2018, 05:54:32 PM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: [1] 2   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: intro: gandreas  (Read 2347 times)
0 Members and 1 Guest are viewing this topic.
gandreas
Explorer
****
Posts: 53



WWW
« on: November 07, 2006, 11:17:59 PM »

Greetings -

I'm gandreas, the evil brains behind quadrium2 and quadrium | flame, fractal software for OS X.

You can see some of the images I've created with them at my deviantART gallery.

quadrium2 is based on a "data flow model" where you wire simpler nodes together to form complex images, and quadrium | flame is based on IFS and strange attractors (and yes, you can mix the two).  Both use genetic algorithms to help create a wide variety of fractal/procedural art, texture, etc... including the ability to generate QuickTime movies and high resolution prints.

It's nice to finally get to use some of my college/grad school math and color-science background in a creative way.
Logged
matera
Guest
« Reply #1 on: November 08, 2006, 01:34:19 AM »

Woohoo - another evil brain! wink Hop in and kick some fractal butt. Darn nice stuff you've got. Just goes to show a person can be Windows-free and fractal-fancy.
Logged
lycium
Fractal Supremo
*****
Posts: 1158



WWW
« Reply #2 on: November 08, 2006, 06:25:19 AM »

heya gandreas!

cool to see another experimentalist-coder around; your program looks pretty interesting and seems to contain a few "tricks of the trade" i prized for not being in apophysis ;) particularly interesting is your lucid pairing of graph-based construction of the iteration function and genetic algorithms to explore the resulting large space of possibilities. when i first read about this i imagined that it would be very slow to evaluate (chains of virtual functions are hell for pentium4s in particular, not that it matters for macs ;), but i see your computer science education has served you well... i'm guessing you do an infix to postfix conversion of the evaluation tree and turn the resulting operations into some kind of nicely-executable format (be it actual machine code or a compact binary representation), correct?

anyhow, your work is quite inspiring (in particular what i've seen of the ide) and i look forward to seeing more :) btw, i'd also be very interested to hear your experiences in the business aspect of making fractal applications, since i have absolutely no idea what the market is like!
Logged

heneganj
Guest
« Reply #3 on: November 08, 2006, 09:47:53 AM »

Welcome to the forums Gandreas!
Logged
Nahee_Enterprises
World Renowned
Fractal Senior
******
Posts: 2250


use email to contact


nahee_enterprises Nahee.Enterprises NaheeEnterprise
WWW
« Reply #4 on: November 08, 2006, 01:11:00 PM »

    Greetings -    I'm gandreas, the evil brains behind quadrium2 and quadrium | flame, fractal software for OS X.
    You can see some of the images I've created with them at my deviantART gallery.
    quadrium2 is based on a "data flow model" where you wire simpler nodes together to form complex images,
    and quadrium | flame is based on IFS and strange attractors (and yes, you can mix the two).   Both use genetic
    algorithms to help create a wide variety of fractal/procedural art, texture, etc... including the ability to generate
    QuickTime movies and high resolution prints.
    It's nice to finally get to use some of my college/grad school math and color-science background in a creative way.

Greetings, and Welcome to this particular Forum !!!    cheesy

I was on your site a couple of weeks ago, after seeing a posting about your software, which came through another fractal group.   Always nice to see the MAC environment getting an additional application for creating fractals.
 
« Last Edit: October 14, 2013, 01:47:03 AM by Nahee_Enterprises » Logged

gandreas
Explorer
****
Posts: 53



WWW
« Reply #5 on: November 08, 2006, 06:02:04 PM »

heya gandreas!

cool to see another experimentalist-coder around; your program looks pretty interesting and seems to contain a few "tricks of the trade" i prized for not being in apophysis wink particularly interesting is your lucid pairing of graph-based construction of the iteration function and genetic algorithms to explore the resulting large space of possibilities. when i first read about this i imagined that it would be very slow to evaluate (chains of virtual functions are hell for pentium4s in particular, not that it matters for macs wink, but i see your computer science education has served you well... i'm guessing you do an infix to postfix conversion of the evaluation tree and turn the resulting operations into some kind of nicely-executable format (be it actual machine code or a compact binary representation), correct?

quadrium's dataflow model is a natural extension/simplification from Karl Sim's lisp-based model (where instead of a pure tree that you'd get using s-exprs I use a graph that allows things to be shared more logically - you don't have recalculate things that would otherwise be the same), though obviously the whole "how do you mutate/breed a digraph" becomes more complicated than a pure tree would be.

The speed in quadrium comes from several factors then - I convert that digraph into a very primitive virtual machine (which only has variables and routine pointers) - this handles the whole "connection of nodes".  Each node's evaluation routine is then optimized to use vector instructions (if possible, not all operations make sense to vectorize, though all the fractal evaluations are), and I also use multiple threads of execution to take advantage of multiple processors/cores (since each pixel of the output is independent of every other one).

quadrium | flame, on the other hand, uses an entirely different set of tricks, though nothing quite as clever or extensive (the worse part about IFS based algorithms is that they appear that they could be vectorizable easily, they in fact, aren't, since each point can get a different random transformation, and even if you ignore that (which makes things look not as good, so you have to turn up the number of iterations to compensate), you loose vectorization when you update your histogram).  About the only really clever thing in there is that the topologies are converted to a series of bytecodes (one per topology) and I use gcc's "computed jump" capabilities to remove procedure call costs.

All in all, I'm pretty happy with the way it all works.  So I guess you could say, yes, I got to use a whole lot of my CS background in there...

Logged
alan2here
Guest
« Reply #6 on: December 04, 2006, 03:47:32 PM »

Welcome
Logged
David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #7 on: December 09, 2006, 07:09:15 PM »

Welcome !!

quadrium | flame, on the other hand, uses an entirely different set of tricks, though nothing quite as clever or extensive (the worse part about IFS based algorithms is that they appear that they could be vectorizable easily, they in fact, aren't, since each point can get a different random transformation, and even if you ignore that (which makes things look not as good, so you have to turn up the number of iterations to compensate), you loose vectorization when you update your histogram).  About the only really clever thing in there is that the topologies are converted to a series of bytecodes (one per topology) and I use gcc's "computed jump" capabilities to remove procedure call costs.


Maybe you could vectorise if you use the deterministic algorithm instead of the chaos game ?
Logged

The meaning and purpose of life is to give life purpose and meaning.

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
lycium
Fractal Supremo
*****
Posts: 1158



WWW
« Reply #8 on: December 09, 2006, 07:35:17 PM »

quadrium | flame, on the other hand, uses an entirely different set of tricks, though nothing quite as clever or extensive (the worse part about IFS based algorithms is that they appear that they could be vectorizable easily, they in fact, aren't, since each point can get a different random transformation, and even if you ignore that (which makes things look not as good, so you have to turn up the number of iterations to compensate), you loose vectorization when you update your histogram).  About the only really clever thing in there is that the topologies are converted to a series of bytecodes (one per topology) and I use gcc's "computed jump" capabilities to remove procedure call costs.

Maybe you could vectorise if you use the deterministic algorithm instead of the chaos game ?

it's possible to use quasi monte carlo methods, like for example the radical inverse series, to play the chaos game but:

1. they're subject to aliasing
2. it's not really much different from using a random number generator per thread, and fractals are sufficiently chaotic to nullify the benefit of well-distributed sampling

evaluating all possibilities is an exponential process, and even with only binary decisions quickly becomes intractable - this is the crux of why monte carlo methods are chosen for high-dimensional integration problems (it doesn't suffer from "the curse of dimensionality").
Logged

David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #9 on: December 10, 2006, 01:16:30 PM »

Maybe you could vectorise if you use the deterministic algorithm instead of the chaos game ?

Actually I've just thought of a way the deterministic algorithm could be improved if coding in assembler (or if the compiler is good enough.

In my RIFS beta formula for Ultrafractal I calculate the overall scale down each branch of the tree as the fractal is rendered but it's just struck me that the distance to go down each branch is actually a fixed value and could be pre-calculated i.e. you could traverse the tree once to get the depths to go to, then again to render - that may not sound more optimum but in assembler it's going to need a lot fewer stores to memory and be more cache-coherent, in fact the initial traversal to calculate the depth shouldn't need any and would be extremely cache-coherent.
Logged

The meaning and purpose of life is to give life purpose and meaning.

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #10 on: December 13, 2006, 01:34:19 AM »

Hi all,

I have been working on a beta IFS formula for Ultrafractal for a while now and thought members here with UF (or ChaosPro) may like to try it out - any feedback gratefully received.

The main formula allows you to generate fractals using either the chaos game or the deterministic method or the inverse (escape-time) method. Because of the way they had to be implimented in UF you won't see the fractal until it's finished being generated when using the chaos game or deterministic methods.
One advantage of the inverse method is that you can do deep zooms into the fractals which is pretty much impossible using the other methods.

There is a main formula file (ufm), a colouring (ucl) and some quick example parameters (upr).

Jason has put the zip of the files here:
http://www.fractalforums.com/for_users/mmfrifsbeta/mmfrifsbeta.zip

If for some strange reason you can't use a zip file, then they're here uncompressed:
http://www.fractalforums.com/for_users/mmfrifsbeta/mmfrifsbeta.ucl
http://www.fractalforums.com/for_users/mmfrifsbeta/mmfrifsbeta.ufm
http://www.fractalforums.com/for_users/mmfrifsbeta/mmfrifsbeta.upr

The main thing I'm still not happy with is the way the colouring works when the "RIFS" codes are used in earnest - as with the example "Sierpinski Fern".
Also I'm still meaning to do a direct colouring formula to go with the main formula as well as the current indirect one.


Note that those of you interested in the actual code who don't have UF can still look at it - the UFM file is just a disguised text file.

bye
Dave

« Last Edit: December 13, 2006, 01:38:10 AM by David Makin » Logged

The meaning and purpose of life is to give life purpose and meaning.

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
Nahee_Enterprises
World Renowned
Fractal Senior
******
Posts: 2250


use email to contact


nahee_enterprises Nahee.Enterprises NaheeEnterprise
WWW
« Reply #11 on: December 13, 2006, 10:06:59 AM »

    Hi all,        I have been working on a beta IFS formula for Ultrafractal for a while now and thought members
    here with UF (or ChaosPro) may like to try it out - any feedback gratefully received.
    The main formula allows you to generate fractals using either the chaos game or the deterministic method or
    the inverse (escape-time) method.   Because of the way they had to be implimented in UF you won't see the
    fractal until it's finished being generated when using the chaos game or deterministic methods.
    One advantage of the inverse method is that you can do deep zooms into the fractals which is pretty much
    impossible using the other methods.
    There is a main formula file (ufm), a colouring (ucl) and some quick example parameters (upr).
    Jason has put the zip of the files here:
            http://www.fractalforums.com/for_users/mmfrifsbeta/mmfrifsbeta.zip
    If for some strange reason you can't use a zip file, then they're here uncompressed:
            http://www.fractalforums.com/for_users/mmfrifsbeta/mmfrifsbeta.ucl
            http://www.fractalforums.com/for_users/mmfrifsbeta/mmfrifsbeta.ufm
            http://www.fractalforums.com/for_users/mmfrifsbeta/mmfrifsbeta.upr
    The main thing I'm still not happy with is the way the colouring works when the "RIFS" codes are used in earnest
    - as with the example "Sierpinski Fern".
    Also I'm still meaning to do a direct colouring formula to go with the main formula as well as the current indirect one.
    Note that those of you interested in the actual code who don't have UF can still look at it - the UFM file is just a disguised text file.

Has the "beta" formula been posted in the "UFBeta" list on Google Groups??   I do not recall seeing it there before.   Was just curious as to how well this has been tested out by others, or will this be the testing phase??

Also, if some interesting images get created, will future modifications to the formula make the saved UPRs not render the same??  Should we be keeping track of the different versions of this formula to go with specific UPRs??
 
« Last Edit: October 14, 2013, 01:54:30 AM by Nahee_Enterprises » Logged

David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #12 on: December 13, 2006, 04:00:23 PM »

Has then "beta" fromula been posted in the "UFBeta" list on Google Groups??  I do not recall seeing it there before.  Was just curious as to how well this has been tested out by others, or will this be the testing phase??

Also, if some interesting images get created, will future modifications to the formula make the saved UPRs not render the same??  Should we be keeping track of the different versions of this formula to go with specific UPRs??


It was previously posted on the UFbeta group (on the old WiKi site) but I'm still after more feedback and also thought there's probably others here interested in taking a look at it.

Also as far as images are concerned - I will be creating "new" formulas from this one (i.e. in itself it won't get changed) so images won't get "broken".
I'm just not happy enough with the formula to put it in the UF database - there are many things in it that could be done better and many that need expanding on - also it really needs more documentation for release as an official "finished" UF formula.
Also specifically I'm going to split it into two different versions - one using the chaos game and deterministic methods and one using the inverse method - that's mainly because when you use non-linear transforms/modifiers the behaviours of these algorithms is quite different but also because the chaos game and deterministic methods require the "render=false" setting in the formula whereas the inverse method doesn't (unfortunately Frederik didn't impliment that so that an end-user can switch the setting without editing the formula).
Logged

The meaning and purpose of life is to give life purpose and meaning.

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
Nahee_Enterprises
World Renowned
Fractal Senior
******
Posts: 2250


use email to contact


nahee_enterprises Nahee.Enterprises NaheeEnterprise
WWW
« Reply #13 on: December 13, 2006, 10:55:30 PM »

    It was previously posted on the UFbeta group (on the old WiKi site) but I'm still after more feedback and also
    thought there's probably others here interested in taking a look at it.
    Also as far as images are concerned - I will be creating "new" formulas from this one (i.e. in itself it won't get
    changed) so images won't get "broken".
    I'm just not happy enough with the formula to put it in the UF database - there are many things in it that could
    be done better and many that need expanding on - also it really needs more documentation for release as an
    official "finished" UF formula.
    Also specifically I'm going to split it into two different versions - one using the chaos game and deterministic
    methods and one using the inverse method - that's mainly because when you use non-linear transforms/modifiers
    the behaviours of these algorithms is quite different but also because the chaos game and deterministic methods
    require the "render=false" setting in the formula whereas the inverse method doesn't (unfortunately Frederik
    didn't impliment that so that an end-user can switch the setting without editing the formula).

Thanks, I appreciate the feedback, not only on the stability of this formula, but the history and where you are going with it.   With all of the numerous formulas, it helps to know these things, especially before one uses it to create an image they wish to recreate at a future date/time.
 
« Last Edit: October 14, 2013, 01:56:47 AM by Nahee_Enterprises » Logged

gandreas
Explorer
****
Posts: 53



WWW
« Reply #14 on: December 14, 2006, 04:55:43 PM »

The main formula allows you to generate fractals using either the chaos game or the deterministic method or the inverse (escape-time) method. Because of the way they had to be implimented in UF you won't see the fractal until it's finished being generated when using the chaos game or deterministic methods.
One advantage of the inverse method is that you can do deep zooms into the fractals which is pretty much impossible using the other methods.

I suppose this topic should probably be drifted over to the research or programming boards, but...

So I've been thinking about different ways to handle this.  There are two different deterministic algorithms that are possible - the first is simply a breadth first tree traversal.  Works great for some images (your various triangles, dragons and ferns), but others that require N iterations in the chaos game before you start getting meaningful result end up needing too much to be traversed (for example, when using strange attractors - quadrium flame has a technique of "layering" that lets you safely mix strange attractors with other affine or non-affine transform and yet not collapse the attractor).  With some extra work, though, you can also include a weighting of the transform (by tracking the weight with the coordinate, and then using sub-pixel plotting when done), and you could also carry extra information to handle the state of various coloring algorithms.

There is another deterministic algorithm (a slightly more generalized version of one described in Barnley's "Fractal Everywhere") that basically starts with a solid image, and then produces the next generation by taking that last generations image, applies the M transforms producing M new images and combines them to form the image for this generation.  Generating the image N generations deep can then be done in linear time (with regards to N - or more accurately, N x resolution) instead of M^N, but you've got to figure out what the "image" is - you can start with a unit square, but unless all the transformations are contracting, the image will grow and you really need all the results to get the next generation (and this gets ugly as you go to 3D since you then need voxels instead of pixels).

Inverse (escape time) plotting offers lots of potential (Mandelbrot wrote about using IFS for "fractal attractors" as an inverse of an escape time plotting) but suffers one major problem - the transformations need to be invertable (and many of the richer ones aren't, or if they are, have multiple inverses and so you end up back at the whole stochastic vs M^N explosion).  Of course, if this isn't an issue, the ability to generate zooming is extremely powerful...

In general, while chaos game IFS has it's limitations (the large number of iterations for detail, especially if you dare to zoom in), it's got more flexibility (it's unclear if some of the "trap" techniques that quadrium flame uses would translate to other algorithms).  Not to say that any of these other techniques aren't worthwhile, rather that they have the potential to produce new images that chaos game IFS can't.
Logged
Pages: [1] 2   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
intro juliette Meet & Greet bodhi-creations 7 1248 Last post March 11, 2007, 12:33:24 PM
by ramblerette
intro: Hello everyone Meet & Greet iteron 3 1204 Last post February 22, 2007, 12:12:36 PM
by heneganj
Intro Meet & Greet ppiper 4 618 Last post January 01, 2010, 07:40:13 AM
by Nahee_Enterprises
sup intro Meet & Greet CaveDog 4 292 Last post August 02, 2012, 11:58:07 AM
by visual.bermarte
intro Meet & Greet pmcavena 1 170 Last post February 23, 2016, 02:32:29 AM
by 3dickulus

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.964 seconds with 27 queries. (Pretty URLs adds 0.096s, 2q)