Vektor-Kreuzprodukt Verständniss Problem
-
ja weiß ich, ein Vektor besteht aus X, Y und Z (in der Computerei teilweise sogar aus X, Y, Z, und W).
ja die mathematische Darstellung stört mich schon etwas. N = XxY bedeutet das nicht einfach 'VectorN = VectorX * VectorY'?
-
LukasBanana schrieb:
N = XxY bedeutet das nicht einfach 'VectorN = VectorX * VectorY'?
Ja, das bedeutet es - du berechnest den Normalenvektor durch (Kreuz)Multiplikation - und die Multiplikation kannst du mit der obigen Formel umsetzen:
vector3D operator^(const vector3D& l,const vector3D& r)// * ist schon fürs Skalarprodukt "reserviert" { return vector3D(l.y*r.z-l.z*r.y, l.z*r.x-l.x*r.z, l.x*r.y-l.y*r.x); } normale = norm(x^y);//norm() zur Skalierung auf Länge 1 nX = normale.x; nY = normale.y; nZ = normale.z;
-
Aber bei Normalen geht es doch um 3 Vektoren
Wo ist denn der 3.?
-
Wieso drei Vektoren? Du hast die beiden Richtungsvektoren des Dreiecks (x und y) und berechnest daraus den Normalenvektor (normale).
Zur Not kannst du die Richtungsvektoren aus der Position der Ecken ermitteln als x=p2-p1 und y=p3-p1. (wie du die einzelnen Punkte da zusammenfasst, ist letztlich egal)
-
Nachtrag: Ich hab mal etwas auf der Seite gestöbert, von der du das Tutorial hast - und eventuell wäre dieser Artikel etwas für dich
-
nehmen wir mal an, du hast folgende vektoren:
r = (3, 2, 4) und s = (5, 7, 1)
dann sind:
r1 = 3
r2 = 2
r3 = 4s1 = 5
s2 = 7
s3 = 1das kreuzprodukt nennen wir mal n
n = (n1, n2, n3)um n1, n2 und n3 jetzt rauszubekommen, benutzt man die formel, die du ganz am anfang geschrieben hast:
n1 = r2*s3 - r3*s2 = 2 - 28 = -27
n2 = r3*s1 - r1*s3 = 4 - 3 = 1
n3 = r1*s2 - r2*s1 = 21 - 10 = 11ein normalenvektor wäre also:
n = (-27, 1, 11)
-
Hier auch noch ein paar Erläuterungen von unserem Mathe-Leherer
-
http://de.wikipedia.org/wiki/Vektor
http://de.wikipedia.org/wiki/KreuzproduktCStoll schrieb:
vector3D operator^(const vector3D& l,const vector3D& r)// * ist schon fürs Skalarprodukt "reserviert"
nicht dein Ernst?!
-
rüdiger schrieb:
"If Java had true garbage collection, most programs would delete themselves upon execution."
Seit wann darf man als Moderator so trollen?
-
Nice site!