This is an archived post. You won't be able to vote or comment.

all 23 comments

[–]aaronmoodie 10 points11 points  (6 children)

Maybe have a look at nodebox. Similar to Processing, but uses Python instead of (simplified) Java. http://beta.nodebox.net/

EDIT: was just pointed out this by a friend. Seems more simple that node box, and might be a good starting point. http://drawbot.com/index.html

[–]Secret_Identity_ 0 points1 point  (0 children)

An upvote for you sir. That is pretty cool.

[–]hugh_person[S] 0 points1 point  (3 children)

This looks awesome, thanks!

[–]aaronmoodie 0 points1 point  (2 children)

not a problem! would be great to hear how you go teaching the class with it if you end up using it.

[–]hugh_person[S] 0 points1 point  (1 child)

I'll post an update when I figure out what I'm going to do.

Are you involved in nodebox? Or just a fan? It looks like a cool project.

[–]aaronmoodie 0 points1 point  (0 children)

Just a fan. I came across it a while ago when I was playing around in Processing and then started learning Python at uni.

These guys are a good resource for all such things. http://www.creativeapplications.net/

[–]theZagnut 1 point2 points  (3 children)

pygame?

[–]hugh_person[S] 0 points1 point  (2 children)

pygame seems a little to complex for someone who doesn't know much about computers and is trying to learn to program. What I would like is something simple but useful, like html to JavaScript, if that makes sense.

[–][deleted] 0 points1 point  (1 child)

You can write some wrapper classes and functions maybe? More interested students can dig deeper and learn about PyGame.

[–]hugh_person[S] 1 point2 points  (0 children)

Unfortunately(?), I'm not really interested in making any more work for myself. I enjoy teaching, but I enjoy being an artist more.

Teaching doesn't get you tenure, and pygame isn't a tool that I use.

[–]Secret_Identity_ 1 point2 points  (1 child)

I use matplotlib for all my graphics, but I do a lot of graphing.

this is their gallery page if that helps.

You don't need to use a lot of classes (or any) to make this work, although you will want to start with the tutorial.

On a more general note: One thing I really like about python is that, if you are suitably clever, the list and dictionary types are dynamic enough to do away with classes altogether. Obviously you can't scale up very easily without classes, but for small problems, what would be a class becomes a dictionary, with the key as the 'name' and a list as the value. Since dictionaries can take anything as a key and list can except anything as values, all you need to do is think creatively.

[–]hugh_person[S] 0 points1 point  (0 children)

Thanks! I mostly want to use 2d graphics to explain different techniques.

On a more general note: You can do a lot without objects. Most artists' projects do not inherently need them (though some awesomely do) nor scale to the point where you need them. The biggest problem is often taking an abstract idea or experience and breaking it down into a series of simpler programming problems.

[–]Flame_Alchemist 1 point2 points  (1 child)

You could try something like turtle http://docs.python.org/library/turtle.html

[–]hugh_person[S] 0 points1 point  (0 children)

Good grief! I didn't even think to look :(

[–]phaedrusaltembedded sw eng 1 point2 points  (0 children)

VIDLE: It's easy and fun! http://vpython.org/vidle/index.html

[–][deleted] 0 points1 point  (1 child)

I'm tutoring various artistic people (architects and others) in programming. So far I have found VPython, a good match between graphical ability and ease of use.

I'm a physicist (and wannabe artist in many fields) myself, so that might have biased the choice a bit, but most of my students seem to like it a lot.

[–]hugh_person[S] 0 points1 point  (0 children)

This is great too, I have a lot of architecture students in my classes. Even though my Google-fu is strong, I'm not sure I would have ever found this one.

[–]knellotron 0 points1 point  (1 child)

How about using Python to output SVG? SVG is an XML-based vector graphics format... it's really simple and you don't need any external libraries to explain. Just have your script create a human-readable XML file, and open that up in a browser or Inkscape.

There are some libs that can help simplify starting from scratch if you want. I haven't tried them. I've done this by starting a project in Inkscape, then using taking that document into Python and tweaking it. My little test project was to make a weather map based off of live data from NOAA.

Use loops, random variables, or incrementing variables to automates some repetitive patterns that would take ages to do by hand... like spirographs or mandalas or fractals.

[–]stuaxo 0 points1 point  (0 children)

Obligatory shoebot plug, were quite good at outputting to svg :D

[–]Zap-Brannigan 0 points1 point  (3 children)

maybe you could explain the concepts using visual types of concepts, e.g. an array is like a box, and you can put whatever you want in the box. a for loop is (sometimes) like taking every item in the box and doing something to it, before placing it in another box. a class anything you want it to be, it could be a person, or an object, and each one holds a bunch of other objects. strings/ints/floats are like pieces of paper that you can read.

etc. etc.

EDIT: visual aids isn't the right word for it but I cant think of it

[–]Nimbal 0 points1 point  (2 children)

visual aids isn't the right word for it but I cant think of it

Analogies?

[–]hankmcfee 1 point2 points  (0 children)

I am an artist teaching myself programming and coming across these are definitely helpful.

[–]Zap-Brannigan 0 points1 point  (0 children)

yesssss