> Something like here: > > v1 := Vector x: 0 y: 0 z: 0. > v2 := Vector x: 1 y: 1 z: 1. > v1Plus42 := v1 + 42. > v1Plusv2 := v1 + v2. > > It's got pretty much what you'd expect for 3d stuff. >
OK, but then I want them to draw in 3D. Does Squeak make that easy for me. In VPython, do define a vector is to get on on screen. That's sometimes too immediate for me. I build a scene in vector language, then render it in POV-Ray. How do I draw an Icosahedron using Squeaks built-in 3D vector graphics engine? > Operators are just binary messages in Smalltalk, which reminds of > another issue that is often a stumbling stone early on: No operator > precedence. All binary operations are evaluated strictly left to right How about operator overloading. That's pretty easy right? Like what we do with __add__. > since users can define their own binary messages (*sigh*). But of course > that means that there is absolutely nothing special about "operator > overloading" - it is just a message like any other. But there *is* a way to have + trigger vector addition yes. I was a bit unclear when you went: > v1Plus42 := v1 + 42. > v1Plusv2 := v1 + v2. How did you get that + behavior in Squeak? > > Pre VPython, my vectors would feed a Writer class for generating scene > > description language for POV-Ray or whatever. These days, I'm more > > likely to just go with VPython. In all cases, I focus on E, V and F > > as primitives, because we're very into V + F = E + 2 in the Fuller > > School. > > E, V, F? Don't know that lingo ;-) E = Edges, V = Vertices, F = Faces. Euler's V + F = E + 2 is his law for polyhedra (the +2 goes away if you do a donut, or is +1 on a flat surface). This is where topology enters our curriculum (with Euler). Kirby _______________________________________________ Edu-sig mailing list [email protected] http://mail.python.org/mailman/listinfo/edu-sig
