anchor.diff:     * Zooms in or out depending if the distance is positive or negativ.
      */
     void zoom(num distance);
  -  
  +
     /// The resolution of this camera.
     vec2 get res;
   }
  
positive.code: 
    void _init(Point3D center, vec3 up, num vertOpeningAngle) {
      this.center = center;
      
      num resX = _res.x.toDouble();
      num resY = _res.y.toDouble();
      num aspectRatio = resX/resY;
  
negative.code:     num x = center.x * Math.cos(horRadiance) + center.z * Math.sin(horRadiance);
      num y = center.y;
      num z = center.x * -(Math.sin(horRadiance)) + center.z * Math.cos(horRadiance);
  
      center = new Point3D(x, y, z);
  
      // Then rotate up and down around origin
      num myAxisX = right.x;
      num myAxisY = right.y;
      num myAxisZ = right.z;
  
      num rotX = (myAxisX * myAxisX * (1 - Math.cos(verRadiance)) + Math.cos(verRadiance))* center.x + (myAxisX * myAxisY *(1 - Math.cos(verRadiance)) - myAxisZ * Math.sin(verRadiance))*center.y + (myAxisX * myAxisZ *(1 - Math.cos(verRadiance)) + myAxisY * Math.sin(verRadiance))*center.z;
      num rotY = (myAxisY * myAxisX * (1 - Math.cos(verRadiance)) + myAxisZ * Math.sin(verRadiance))*center.x + (myAxisY * myAxisY * (1 - Math.cos(verRadiance)) + Math.cos(verRadiance))*center.y + (myAxisY * myAxisZ * (1 - Math.cos(verRadiance)) - myAxisX * Math.sin(verRadiance))*center.z;
      num rotZ = (myAxisZ * myAxisX * (1 - Math.cos(verRadiance)) - myAxisY * Math.sin(verRadiance))*center.x + (myAxisZ * myAxisY * (1 - Math.cos(verRadiance)) + myAxisX * Math.sin(verRadiance))*center.y + (myAxisZ * myAxisZ * (1 - Math.cos(verRadiance)) + Math.cos(verRadiance))*center.z;
  
      center = new Point3D(rotX, rotY, rotZ);
    }
  
  