barycentric coordinates triangle
// Compute barycentric coordinates (u, v, w) for // point p with respect to triangle (a, b, c) void Barycentric(Point p, Point a, Point b, Point c, float &u, float &v, float &w) { Vector v0 = b - a, v1 = c - a, v2 = p - a; float d00 = Dot(v0, v0); float d01 = Dot(v0, v1); float d11 = Dot(v1, v1); float d20 = Dot(v2, v0); float d21 = Dot(v2, v1); float denom = d00 * d11 - d01 * d01; v = (d11 * d20 - d01 * d21) / denom; w = (d00 * d21 - d01 * d20) / denom; u = 1.0f - v - w; }