Prototypes, Ports and Appropriateness Functions

I've completed work on two (2) additional exemplar appropriateness rules and integrated them into the prototype. The prototype now works with three (3) appropriateness rules used in combination to judge the composition's appropriateness:

1. GoldenRatio: The composition is analyzed and its judged on its approximation or distancing from an element's golden ratio. Both individual elements and the composition as a whole (including implicit distances, positive and negative spaces) are tested.

2. FigureGround: The composition's area is computed and compared to the composition's envelope's area to judge appropriateness in terms of the ratio between positive and negative space (figure vs. ground.) For the prototype's purpose an ideal, balanced 1:1 ratio is being used as a standard.

3. Cost: The composition's positive space is assigned a cost per square unit and is used to favor less costly compositions in terms of total area occupied.

A. In salmon (a random composition), B. In cyan (an evolved composition of seven rectangles using the three implemented appropriateness rules.) Notice the cyan composition is richer in its complexity and arrangement. This is the result of the application of an adaptive algorithm over 1,000 generations. The compute time was close to sixty seconds using an Intel sixth generation i5 2-core processor. Memory consumption averages 100 MB.

Order from chaos without repetition is one of the qualities of this application of an adaptive algorithm that makes it idoneous for any type of design automation task.


As you can see, random compositions of some interest are sometimes generated, but they are far less interesting than the ones evolved through use of this algorithm. 



This concludes my work on this prototype. I'll be focusing my efforts on porting the framework to C++ from C# and the conceptualization of its first commercial application.

Class Diagram of a Sample Application


Sequence Diagram of Framework Use



Example Fitness Function Diagram and Explanation (Work in Progress)


Comments

Popular posts from this blog

Framework 1.0 Source-Code Released!

Book Review - Christopher Alexander: Notes on the Synthesis of Form