[Clipart] Use of ClipArt in HeadCase
elliott.bignell at t-online.de
Sat Apr 29 01:54:25 PDT 2006
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:
2) Yes, I couldn't just drop it in fully-formed right now. Firstly,
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.
----- 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
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
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.
----- 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.
More information about the clipart