Categories
Projects

Minara

I lost some code for Minara to not backing up. :-/ I’ve just about remade the lost functionality, and it should be in CVS soon. I didn’t finish 1968 using Minara, so no dog food for me.

Categories
Projects

Back To iBlog

I’ve switched back to iBlog, so this blog has now returned to my site.

Welcome back.

Categories
Projects

rob-art First Release

rob-art has been uploaded to SourceForge and a first release is available. Sources for Draw Something, ae and The Cybernetic Artwork Nobody Wrote are include, as is some documentation in PDF and HTML format.

You’ll need a Lisp interpreter/compiler to run the code and a PostScript viewer to view the output from Draw Something.

Click here for details.

Categories
Projects

Draw Something More

The next thing I want to get Draw Something to do is to assemble and draw figures made from several simpler shapes.
The current system starts with a set of random points (or lines, depending on how you look at it), finds the “convex hull” (the simplest shape that contains them), then draws around that. This is a very, very simple analogue to constructive drawing for illustration where shapes are built up around a skeleton or armature and then drawn around to construct a figure. It is a similarly simply analogue to artistic observation and rendering of some part of the visible world.
Following these comparisons, Draw Something assembling simple shapes (convex hulls again) into more complex figures will trivially model assembling or revising a composition from preparatory sketches. The shapes will be generated randomly on the page then moved into position so that they all overlap (making multiple figures is a future task). I like the idea of drawing the starting lines and hulls in light blue, the assembled hulls in darker blue (or red), and the finished outline in black to show how the figure has been assembled (the colours come from drawing for animation).
I was worried that this was an arbitrary task to set the program until I realised that making simpler shapes, composing them and outlining them is exactly how I constructed my “Blobs”. So in fact this is a task I have productively set myself in the past, and it will be interesting to see what Draw Something makes of it.

Categories
Projects

I’ve moved to LiveJournal…

I’ve moved to LiveJournal.
See: http://www.livejournal.com/users/robmyers/

Categories
Projects

Minara In Progress

I’ve finished most of the object picking code I need so far, just line and curve intersection to do (these are well-known standard algorithms. The curve one I’ll implement in C for speed). They’ll be as sloooow as I expected: rendering the scene to find where the graphics are under the mouse then doing a text search of the image source to find this point in the program is insanely inefficient. And how we’ll handle symbols and functions I don’t know (keep hashtables of each and have some sort of lookup scheme, probably, with the user responsible for writing picking versions of functions as a worst case).

I’m doing less well with colour. I’ve got LittleCMS, but the idea of having colour primaries as gamut-limit XYZA tuples means that gamut checking hopefully isn’t a problem. What LCMS could be useful for is mapping the abstract percentage of the colour to the actual strength of colour on the screen or the press, which won’t be linear. But I don’t know if I want to do that just yet.

How do we do colour picking? Make an image with percentages of each of the primaries in, display that, and update the mix when the user clicks, accepting when they double click. Who needs GUI widgets? 🙂

Categories
Projects

Eating My Own Dog Food

“1968” needs finishing. It’s colour that’s the problem. I want a more fluid and accurate way of working with colour than the current crop of illustration software gives me.
Minara needs continuing. it needs real tasks and projects to work on.
So I’m going to write the bits of Minara I need to edit “1968”. Defining colours, managing colour accuracy, and possibly hit-testing will all be needed. I’ll also have to make sure the import filter works well to convert 1968 to minara format.
In software engineering jargon this is known as “eating your own dog food”. Yum.

Categories
Projects

The Ontology For “Draw Something”

I’ve started working on the ontology for my program “Draw Something”. It’s currently based on my unpublished “ae” toy aesthetic program, but I need something heavier duty for the full program.
In computing an ontology is data that represents knowledge, particularly facts and rules. So for a medical program, the ontology would contain information about which drugs treat which conditions, and how those drugs interact. In philosophy, ontology is the metaphysics of being and categories of being. Both meanings are applicable to Draw Something’s ontology; it’s a computer representation of an investigation into what art is and how you produce art-objects.
I have a certain way I want Draw Something’s ontology to work – more as active “daemons” than as passive symbols. I’ve been looking at Paul Graham’s writing on “closures” in his book “On Lisp“. Closures combine data and instructions in a more active way than other programming techniques do, but I’m not sure they’re what I need (in particular I don’t know how to copy closures in a program or get polymorphic behaviour from them). And very few people understand closures. And I’m not really one of them yet. 🙂
My favourite type of ontology is Douglas Hofstadter’s slipnet, as seen in his & Melanie Mitchell’s “CopyCat” program, explained in “Fluid Concepts and Creative Analogies“. A slipnet allows more specific ideas (“the number 5”) to be generalised to less specific ideas (“numbers”) if the a particular problem cannot be solved with more specific ideas. Copycat also has a nice split between its built-in concepts and its current working memory. Hopefully this will be a useful model to use for Draw Something.
Categories
Projects

Goethe

I’m probably porting Draw Something back to Lisp. And I’m porting ae (the toy aesthetic description generator) to Lisp to use as the basis for the art knowledge-base (ontology) that the programs will use. I’ve decided to start with colour, and as there’s no rational basis for colour choices, the program will be called Goethe

Sourceforge haven’t approved rob-art yet. It’s a shame that Lipparosa doesn’t seem to have come to anything…

Categories
Projects

Draw Something

I’m getting Draw Something ready for a release, which will include the code and PDFs of the literate documentation and outputs (unless everybody has a Dylan compiler :-)).
I’ll probably get my creative coding projects hosted at SourceForge, so that will make distribution easier as well.