i think i may have found a way to constrain movement:
by me i mean soembody else and i have found an example.. this is done by the dude who is doing the kangaroo plugin fro rhino/grasshopper, a realtime physics engine deal. this guy knows his math.
ive now got to see if i can manipulate it to my own definition.