Hello!!!

Hi fluxi, I've recently started on a Craig Reynolds style boids/flocking system.
some starting pics: http://www.flickr.com/photos/superrobber/4305067091/

so far so good, but now I'd like to give each of my birdy's there own coordinate system and i've come up with a few functions to localise a point in global space to the birdy's own local space
could be helpfull, or maybe there's an easier of faster way to this?

(define (globalise prim)
;return position vector of prim
(vtransform (vector 0 0 0) (with-primitive prim (get-transform)))

(define (localise self other)
;returns the position vector of the other prim in local coordinate space of oneself (vtransform (globalise other) (minverse (with-primitive self (get-transform)))))

I'd like to do the same with rotation, cause i'll need this to align the birdy's in the same direction I'd like to come up with a direction vector of another birdy relative to the direction vector of a birdy

actually similar what the (concat) function does,
but without the translation and just get a vector, instead of transforming the primitive or drawingstate directly.

i've tried the (vtransform-rot) but with this function somehow i just can't get the rotation out of the (get-transform) matrix
the manual says it's kinda ment for use with normals ?

any thoughts or pointers are very appreciated!

greets, Rob

Reply via email to