Also das Bild hat ja drei Zeilen. die erste ist eine Definition. Die Basusvektoren B1 und B2 habe ich so definiert und die musstdu so ausrechnen.
Dann habe ich die zweite Gleichung aufgeschrieben (zweite Zeile) und vereinfacht/umgeformt (dritte Zeile). Das heißt, du brauchst nur eine davon. Welche dir liber ist.
Die erste Form: \vec{X} = \vec{A} + u \vec{B_1} + v \vec{B_2}
hier weißt du ja u und v aus der vorherigen Rechnung, Ich hoffe, für u und v gelten folgende Ungleichungen: u und v beide je zwischen 0 und 1, sowie u+v kleiner gleich 1. (Nur dann ist der Pukt nämlich im Dreieck!)
Dann rechnest du für jede der drei Komponenten von X die Gleichung aus, also X_x = A_x + u * (B_x - A_x) + v * (C_x - A_x)
Hier habe ich die Definition für B_1 und B_2 direkt eingesetzt, da sind also nur noch die x-Komponenten der 3D-Punkte drin und u, v.
Für die anderen beiden Komponenten von X brauchst du das analog. (also _y und _z)
Die zweite Form (dritte Zeile) macht daraus eine Matrixmultiplikation. Wenn du eine Bibliothek dafür hast, macht es das vll. einfacher.
Die Matrix setzt sich einfach aus den beiden Basisvektoren zusammen. Ich habe das mal in Excel gemacht:
Die Matrix habe ich mal fett umrahmt, das Ergebnis der Matrixmultiplikation ist grün und das Endergebnis (das große X) ist die Addition von dem grünen und A und steht oben rechts.
Zu dem was du schon hast:
Zitat:
jedoch komme ich bei A + u * B1 + u * B2 nicht auf ein mögliches Resultat
zeig doch mal deinen Rechnweg und deine Ergebnisse, die du anhand des Beispiels aus dem ersten Post bekommen hast.
Zitat:
bei der unteren X Gleichung müsste ich ja einen 3D Vektor mit einem 2D Vektor (u,v ?) Multiplizieren oder nicht?
Nein. entweder machst du die Matrix "richtig", dann hast du 3x2 Skalare und u und v als Skalar. (Oder einen uv-Vektor)
Oder du "behältst" die Vektoren B_1 und B_2, dann steht da aber nur (Überraschung ^^) B_1*u + B_2 * v -- wie in der ersten Gleichung.