Du bist nicht angemeldet.

Werbeanzeige

David Scherfgen

Administrator

Beiträge: 10 334

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

11

23.10.2020, 10:33

Zeig mal deinen Code im Zusammenhang. Also wo du diese Funktion aufrufst.

12

23.10.2020, 14:22

Update: diese Funktion hier läuft perfekt:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
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;
}