Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static void barycentric(const Vector3& p, const Vector3& a, const Vector3& b, const Vector3& c, Vector3& out)
- {
- // Using code from: https://gamedev.stackexchange.com/questions/23743/whats-the-most-efficient-way-to-find-barycentric-coordinates
- Vector3 v0 = b - a;
- Vector3 v1 = c - a;
- Vector3 v2 = p - a;
- float d00 = v0 * v0;
- float d01 = v0 * v1;
- float d11 = v1 * v1;
- float d20 = v2 * v0;
- float d21 = v2 * v1;
- float denominator = d00 * d11 - d01 * d01;
- float v = (d11 * d20 - d01 * d21) / denominator;
- float w = (d00 * d21 - d01 * d20) / denominator;
- float u = 1.0f - v - w;
- out = Vector3(u, v, w);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement