[elliott.bignell@...1255...: Re: [Clipart] Use of ClipArt in HeadCase]
----- Forwarded message from Elliott Bignell <elliott.bignell@...1255...> -----
Date: Sat, 29 Apr 2006 10:54:25 +0200 From: Elliott Bignell <elliott.bignell@...1255...> To: clipart@...626... Subject: Re: [Clipart] Use of ClipArt in HeadCase
Couple of mails that should have gone to the group and I sent to Bryce instead. (Duh.) :
1) FYI this is an example of evolved shapes from the HeadCase gallery: http://www.loanedgenius.com/evolution.gif
///////////////////////////////
2) Yes, I couldn't just drop it in fully-formed right now. Firstly, conversion to SVG is a new area for me and I suspect the learning curve is fairly steep. The components in question render to a Windows DC. Secondly, they are COM components and will need some adaptation if they are to run cross-platform. I've set the mutation rates to levels that are really macromutations, which would offend an evolutionary purist, but that's a trivial thing to alter.
Also, I deliberately used COM components with a common interface which can be loaded from a list in the registry, in order for third parties to be able to create their own components. I think that feature would be well worth retaining. The evolutionary aspect works on the same principle as Richard Dawkins' "biomorphs" - the component itself generates a set of 25 "descendants" which are displayed in a gallery exactly like all the other ClipArt. When a descendant is selected, the component is notified of the choice of a numbered descendant and adopts its properties then renders itself AND a new set of descendants. Not rocket science, really. What remains to be done is to convert the primitives such as flower and eye to a composite pattern that can be aggregated into whole faces and plants, or whatever. Then it will be really powerful.
I'll start working out what is needed in a public release for people to be able to work with the components.
Best wishes... Elliott
----- Original Message -----
Presently, Inkscape is getting ready to do a release, and it'll be a month or two before it's back to a state where brand new features can be added, but I'm guessing you'd want a bit of time to rework things anyway?
Bryce
///////////////////////////////
I'll seek the lists out and participate. Now that I know someone appreciates the work, I feel a bit more motivated!
The evolutionary side is pretty standard stuff - Dawkins described the pattern in The Selfish Gene, which just had its 30th anniversary. For a more in-depth discussion of evolutionary software, the standard work appears to be "Genetic Programming", by Banzhaf, Nordin, Keller and Francone.
The flower shapes I came up with myself and coded by hand. There are a set of numeric parameters that are tweaked up and down within limits in the "Mutate" method, and these specify the number of whorls, the way the spacing of whorls changes and a set of numbers that define how the Bezier curves that form the petals are formed. Basically it draws two symmetrical Bezier curves to form a petal, rotates a little around the axis and moves inward either immediately or after a whorl has been completed and then does it again after applying the appropriate transformations.I was hoping to get quite complex results, but the orchid and ammonite shapes were a pleasant surprise.
There's another aspect that would be worth retaining, and that is that the shapes can take Decorators. Everything in HeadCase is basically assembled out of decorators, and these include fills and outlines, so one can apply colour schemes to the pictures produced by the evolutionary process. Also, HeadCase inherits properties down the tree structure and is intended eventualy to support parameterised XML templates, whch has interesting implications for using SVG.
Okay, I'll get thinking on how to publish this stuff.
Cheers... Elliott
----- Original Message -----
Wow, these actually look surprisingly good. You should send this url to the openclipart and inkscape mailing lists, I think folks would be impressed by them.
Btw, how did you come up with the algorithm to do these? Looks extremely cool.
Bryce
_______________________________________________ clipart mailing list clipart@...626... http://lists.freedesktop.org/mailman/listinfo/clipart
----- End forwarded message -----
participants (1)
-
Bryce Harrington