public static double diffuse(ObjectR o, Point p, Light l) {
   double[] norm = calc.normalize(o.normal(p));
   double[] light = calc.normalize(calc.sub(l.dim, p.coord));
   double factor = calc.dot(norm, light);
   factor = Math.max(factor, 0);
   return o.kd() * factor + o.ka();
 }