Global.coordinateSystem(e2.cross(e1).normalizeLocal(), dpdu, dpdv);
}
else
{
double invdet = 1.0 / determinant;
dpdu = dp1.mul(dv2).sub(dp2.mul(dv1)).mulLocal(invdet);
dpdv = dp2.mul(du1).sub(dp1.mul(du2)).mulLocal(invdet);
}
// interpolate (u, v) triangle parametric coordinates
double b0 = 1 - b1 - b2;