[Edu-sig] RE: programming for artists

Jason Cunliffe Jason Cunliffe" <jasonic@nomadicsltd.com
Tue, 5 Jun 2001 17:55:11 -0700


"Arthur Siegel" <ajs@ix.netcom.com> wrote

> But my math is core 'rap' from another angle:
>
> Can one use the Python interface to Blender in any significant way
> without a decent grasp of certain mathematical concepts - trig is
> basic to defining paths for animation, for example. Or defining shapes.
> Or, I would argue, in talking to Blender in any significant way at all.
>
> Given that ones interests are artistic at their core, why bother to learn
> programming in pursuit of those interests if not to have more control,
> to interface with available tools at a lower level, to  remove barriers
> and limits set by others.

Art, I don't disagree with you. [is that the same as agreeing?? I'm not sure
;-)]
Like I said Math is essential.

I guess what I am trying to get at are the basic construct and habit of
programming "for everyone" may need be particularly related to obviously
Mathematical stuff.

Such as:
-opening and closing files,
-navigating dicts, lists and data structures
-parsing and formating results
-formats adn protocols
-passing parmaters for API class methods
-reading + writing code
-piping, processing and linking
-looping and conditionals
-interfaces: what are they, how do they work?
etc

Literacy in these and more I consider almost completely un-mathematical,
depending on your context. If you want to get very mathematical with them
you can.

Getting a basic handle on these as early as possible will help one go much
further whether one is very math inclined or not. Having a confidence and
set of techniques to describe / model these with and without Mathematics
also seems 'core'.

There is quite a lot of Blender Python which is about navigating objects and
contructs, files and API documentation. I argue for learning early on, some
core skills to handle tools and equipment[this includes software], without
fear or mystery.

You know: 'learning how to learn'. The reality is that learning how to work
what exists is as important as how to create it from scratch. Like I said
there are pattersn in all this. Having the pattersn pointed out, will
reinforce the value and essential-ness of the math.

<quote from the wonderful "Who is Fourier?">
"Use ordinary language when you analyze or debate a concept. When the image
becomes so clear that anyone can understand it, that is the time to start
thinnking of an applicable formula for it."
- Werner Heisenberg to his students
Of course, first you must havea  full command of the language of Mathemtics
in orr order to do this. Mathetmics is nothing less than a powerful language
for the purpose of describing natural phenomena.
</quote>

[..and good for un-natural phenomena too..]

> At a very practical level, math proficiency becomes key and fundamental
> to removing such barriers.  Can one do good raytracing - true artwork -
> without
> being armed with the right mathematical concepts. One might argue yes, but
> a good artist it seems to me won't settle for work_arounds and canned
tools
> to achieve effects he might want to achieve. He'll go straight at it,
> acquiring
> the full range of  skills necessary.

Most 3D modelling and animation and graphics software offers sophisticated
user interfaces, because most of the time those interfaces are much more
efficient, 'readable'and better than miles of numbers in brackets and
quotes.

Let me try and scale it:

To use basic 3dmodelling and Graphics software, a little math goes a long
way
To generate algorthmic or 'generative art' Math is very essential.
To write your own higher level math and programming contructs are needed.

Among the essential patterns, I think one is the prime illusion of spatial
representation.
Graphing ideas, sequences and motions. Loci..
Spatial+Geomtric transformatation.

As long as we are looking at 2 space [paper or screen] and thinking about  3
or 4 space we must go through matrix transformation and trignometry
calculus.

As you say left brain/right brain.. as long as it whole brain!

> Python/Numeric/VPython kind of rule (as a starting point), IMO.

Yes. as I said, I don't disagree..

But also teach as a starting point:
context, connectivity, and patterns

cheers
./Jason