The Digital Art of Charles Csuri Visit Charles Csuri's blog @ Csuri.com
HOME > Facts & Ideas > Technique
SITE MAP

Google
Web CsuriVision.com

My Software by Charles Csuri, 2002

The primary software used is a custom programming language called AL. Dr. Steve May of Pixar Inc. developed it for his dissertation research at The Ohio State University. The AL language is an extension of Scheme. Scheme is a LISP-like language which is powerful and general purpose, but relatively easy to learn and use. It is a environment for procedural computer animation which provides powerful modeling language, a language interpreter, and a set of interactive animation tools. In addition, AL provides a complete interface to RenderMan compliant renderers including PhotoRealistic RenderMan (tm) and BMRT.

The system exploits a concept of an encapsulated model. An encapsulated model is an animated object containing an integrated set of dynamic attributes--e.g. shape, motion, materials (surface properties), light sources, camera, user interfaces and sound. All of this is pre-presented by a procedural data format i.e. , a program written in a procedural animation language. Objects have not only a geometry and a color. They have surface attributes and programs which define their behavior. The objects can be given a range of knowledge on how to respond to a variety of circumstances.

The implications of the encapsulated model paradigm is that it introduces new strategies to manipulate many diverse and complicated objects within a three dimensional world space. It provides one with greater latitude in an experimental approach to a creative decision making process. Instead of being involved constantly in the tedium of making the same assignments and definitions of objects, higher level controls are used to systematically alter the parameter space. An example of the encapsulated model is the following. The object is no longer simply a geometry or a list of coordinate points. In a model of a weeping willow tree, there is a function to grow the tree and alter its shape and size. In this case it does not exist as a predefined set of data points. Each tree can easily be made to be different and there is another function to move branches and leaves in the wind. The wind is a function which permits the specification of variable rates of speed and a change in direction. Also, another function permits for variations of the trees and places them into patterns.

There are many functions which can be used to making changes to the objects and their relationship to one another in the world space. One function can be applied to just one aspect of an objects' definition. Parameters which control the color can be systematically altered affecting the entire scene at once. The overall representation of the entire scene as lines with shadows can easily be achieved. Lines and their thickness can be altered by a mathematical function, using a sine wave, snoise, or a b-spline function. The line thickness can change from front to back or from the right side to the left side. Functions can change the object's opacity and its appearance from glass, to wood, metal or brick. The density of each objects atmosphere is set with parameters in another function. Another example is how one can define the entire world space as a single object. There can be 50 objects within the world space. A point in 3 space can be selected and each object's distance from it determines its degree of fragmentation. In fact, several such points can be chosen. Or, in one line of code, all of the objects must simultaneously change their appearance from being realistic to becoming abstract.

The encapsulated model was also used to develop a software architecture to do message passing. This was done at a relatively simple level so that objects could ask questions of one another. They could ask one another about their location in space, their size, color, and other aspects of how they are defined. It was possible to develop rules that governed the objects behaviors. The quicktime animations on this site as well as several of the Infinite Objects were created with this capability. Barbara Olsafsky wrote the code for me which was called Cognitive Art Objects. We also had another name Artificial Idiocy.

The AL code was extended so that within it I can make external calls to code written in other languages such as C++. This means that I have control over an external program dealing with fragmentation. Within the AL program I can set the parameters affecting the degree and types of fragmentation of an object. With another external program I have control over the representation of an object from complex to simple. For example, a human figure can be shifted from being realistic to becoming very abstract, almost unrecognizable as a figure. The reverse is also true. Numerous special functions were developed in AL. These were designed especially to work with the concept of the Infinite Art Object. But there are the occasional external calls to other programs.

The software for the VRML work and Sketchpad was written by Dr. Matthew Lewis, of the Advanced Computer Center For The Arts and Design. The VRML sequences with color and sound was developed over three years ago and placed on the internet. However, few people had the proper computers and the necessary browsers. It was updated by Peter Gerstmann to work in today's PC world.

ABOUT CsuriVision.com SITE MAP CONTACT US TERMS OF USE HELP

Copyright 2008 © Csurivision LTD. All Rights Reserved. Copyrights for artwork and writings on this website remain with Charles Csuri or his representative. Use of this website constitutes acceptance of CsuriVision.com Terms of Use .