anchor.diff:                 0 1 0 0 ; up
                  0 0 1 0 ; right
   
  -               ,(/ (- (rand! 400) 200) 100) ; x
  -               ,(+ id 10)                   ; y
  -               ,(/ (- (rand! 400) 200) 100) ; z
  +               ,(/ (- (rand! 2000) 1000) 100) ; x
  +               ,(+ (/ id 3) 5)                ; y
  +               ,(/ (- (rand! 2000) 1000) 100) ; z
                  1       ; posit
                ))))
  -   (iota 20)))
  +   (iota 50)))
   (for-each (lambda (cube)
      (NewtonBodySetMassProperties cube 1.0 collision)
      (NewtonBodySetForceAndTorqueCallback cube ApplyGravity)
  
positive.code:          (glSphere)
           (glPopMatrix)) spheres))
  
     ; return new parameter list:
     (list
        newtime))
  ))
  
  (NewtonDestroy world)
  
negative.code:    (NewtonCreateSphere world  0.5  0  #f)
     (runtime-error "Can't create box" #f)))
  
  (define spheres null);(map
  ;   (lambda (id)
  ;      (NewtonCreateDynamicBody world collision
  ;         `(;x y z w
  ;            1 0 0 0 ; front
  ;            0 1 0 0 ; up
  ;            0 0 1 0 ; right
  ;
  ;            ,(/ (- (rand! 400) 200) 100) ; x
  ;            ,(+ (/ id 3) 1)             ; y
  ;            ,(/ (- (rand! 400) 200) 100) ; z
  ;            1       ; posit
  ;          )))
  ;   (iota 50)))
  (for-each (lambda (sphere)
     (NewtonBodySetMassProperties sphere 1.0 collision)
     (NewtonBodySetForceAndTorqueCallback sphere ApplyGravity)
  ) spheres)
  ; we need this collision for feature use
  ;(NewtonDestroyCollision collision)
  
  
  ;
  