light(s)


    private function getLightFactor():Number
    {
     var ab:Object = new Object();
     ab.x = pointA.x - pointB.x;
     ab.y = pointA.y - pointB.y;
     ab.z = pointA.z - pointB.z;
     
     var bc:Object = new Object();
     bc.x = pointB.x - pointC.x;
     bc.y = pointB.y - pointC.y;
     bc.z = pointB.z - pointC.z;
     
     var norm:Object = new Object();
     norm.x = (ab.y * bc.z) - (ab.z * bc.y);
     norm.y = -((ab.x * bc.z) - (ab.z * bc.x));
     norm.z = (ab.x * bc.y) - (ab.y * bc.x);
     
     var dotProd:Number = norm.x * light.x + 
           norm.y * light.y + 
           norm.z * light.z;
     
     var normMag:Number = Math.sqrt(norm.x * norm.x + 
               norm.y * norm.y +
               norm.z * norm.z);
     
     var lightMag:Number = Math.sqrt(light.x * light.x +
             light.y * light.y +
             light.z * light.z);
     
     return (Math.acos(dotProd / (normMag * lightMag)) / Math.PI)
       * light.brightness;
    }