*push*
also, bei der einheitsmatrix sieht es zb so aus (ober matrix mit Weight = 1.0f, untere mit Weight = 0.2f):
|
Quellcode
|
1
2
3
4
5
6
7
8
9
|
1.00 0.00 0.00 0.00
0.00 1.00 0.00 0.00
0.00 0.00 1.00 0.00
0.00 0.00 0.00 1.00
---
0.20 0.00 0.00 0.00
0.00 0.20 0.00 0.00
0.00 0.00 0.20 0.00
0.00 0.00 0.00 0.20
|
wenn beide matrizen jetzt (separat voneinander) mit nem vector(1.0f, 1.0f, 1.0f) multipliziert werden, wird ja immer eine spalte aufsummiert und mit der summe der letzten spalte dividiert.
im oberen beispiel also immer 1.0f / 1.0f = 1.0f, d.h. der vector bleibt unverändert (wie es bei einer einheitsmatrix sein sollte), genauso wie bei der unteren, was soweit ja auch richtig ist.
wenn die matrix jetzt allerdings rotiert wird, dann sehen die matrizen zb so aus:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
|
1.00 0.00 0.00 0.00
0.00 0.80 0.60 0.00
0.00 -0.60 0.80 0.00
0.00 0.00 0.00 1.00
---
0.20 0.00 0.00 0.00
0.00 0.16 0.12 0.00
0.00 -0.12 0.16 0.00
0.00 0.00 0.00 0.20
|
x-koordinate ist uninteressant, aber wenn man die y-spalte bei matrix1 aufsummiert, kommt ja 0.20f raus (0.8-0.6), bei matrix2 0.04.
der wert von m1 wird dann durch 1.0f rechnet, bleibt der wert gleich (0.2f). den wert der zweiten matrix (0.04f) wird durch 0.2 geteilt, was das gleiche ist als wenn man mal 5 rechnet, also kommt auch 0.2f raus.
somit werden beide vektoren trotz unterschiedlicher gewichte gleich rotiert.
und genau das ist doch total komisch, weil der gewichtsfaktor gar keine rolle mehr spielt ?!?
kann es vielleicht sein, dass man das matrixfeld m44 auf 1.0 setzen muss?? eigentlich ja nicht, weil dann könnte ich ja gleich den vector mit dem gewichtsfaktor multiplizieren ?!?
wäre froh wenn mir jemand helfen könnte (zb david), dieses problem bringt mich echt auf die palme.
super big thx, neonew