[Edu-sig] "dynamic geometry" application

Kirby Urner pdx4d@teleport.com
Fri, 18 Feb 2000 15:37:30 -0800


At 02:06 PM 02/18/2000 -0500, Arthur Siegel wrote:
>It allows one to create relationships in 3d space between geometric
>"primitives" -points,lines,circles, spheres,etc. - by way of  simple Python
>scripts. Points on the initial figure created can then be picked and moved,
>but all defined relationships follow. It's more sophisticated functions -
>the uses of arrays of points and lines for example, can be used to explore
>concepts of Projective Geometry in 3d space.

Sounds very interesting Arthur.

My approach has been to keep things simple in Python by 
having it write scripts intelligible to other programs 
which already know tons about 3D graphics. 

Students write simple Python commands and get .wrl or 
.pov files out the back, which then go to a VRML viewer 
(usually a web browser plug-in) or to POV-ray, a free, 
full-featured ray tracing engine.  This approach 
typifies what Python is good for:  acting as a "glue
language" in collaboration with more specialized 
apps.

What I give up, by going this route, is any trully "dynamic"
interface, i.e. students can't just grab stuff with a mouse
and twirl it in real time, or add edges/vertices by 
simply pointing and clicking (as they can in STRUCK, 
freeware written by my colleague, Gerald de Jong, in 
Java).

I presume because of your OpenGL add-in etc., that you're
somehow making Python do graphical updates in real time,
in response to user-generated events.  Personally, I don't 
know Tk well enough to know how this is done.  Seeing 
your program would probably teach me a lot.  

At this point in time, I'd be most interested in seeing 
screen shots though, since I don't feel ready to digest 
complicated source code.  I'd like to develop an under-
standing the gist of your technique (without trying to 
comprehend an entire application).  If you want to share 
any "cave painting" snippets that give me a feel for your 
strategy, I bet others besides me would be interested.

Mostly, what I'm wondering is whether students with a
modest grasp of Python would be able to abstract generic 
strategies and techniques from your tools -- what I'm trying 
to impart at my Oregon Curriculum Network, where all my 
source code is freely available and dissected in some 
detail for the benefit of Oregonians (and other lurkers).

Kirby
Curriculum writer
Oregon Curriculum Network