2012-11-03 3 views

Antwort

8

Dies sollte in den meisten Fällen arbeiten für ein Objekt mit einer Transformationsmatrix Schrägstellung, insbesondere unter Verwendung glMultMatrix (Matrix)

enter image description here

matrix1[] = { 
1, 0, 0, 0, 
tan(a), 1, 0, 0, 
0, 0, 1, 0, 
0, 0, 0, 1 
}; 

matrix2[] = { 
    1, 0, 0, 0, 
    0, 1, 0, 0, 
    tan(a), 0, 1, 0, 
    0, 0, 0, 1 
}; 

matrix3[] = { 
    1, tan(a), 0, 0, 
    0, 1, 0, 0, 
    0, 0, 1, 0, 
    0, 0, 0, 1 
}; 

matrix4[] = { 
    1, 0, 0, 0, 
    0, 1, 0, 0, 
    0, tan(a), 1, 0, 
    0, 0, 0, 1 
}; 

matrix5[] = { 
    1, 0, tan(a), 0, 
    0, 1, 0, 0, 
    0, 0, 1, 0, 
    0, 0, 0, 1 
}; 

matrix6[] = { 
    1, 0, 0, 0, 
    0, 1, tan(a), 0, 
    0, 0, 1, 0, 
    0, 0, 0, 1 
}; 
+0

Spezifi cs: 1) Schräg entlang x, relativ zur y-Achse, 2) Schräg entlang x, relativ zur z-Achse, 3) Schräg entlang y, relativ zur x-Achse, 4) Schräg entlang y, relativ zur z-Achse, 5) Schräg entlang z, relativ zur x-Achse, 6) Schräg entlang z relativ zur y-Achse. Sie können sehen, dass dies auch die Position von 'tan (a)' in der Matrix ist, zB 1) ** wenn Sie einen Vektor mit der Matrix multiplizieren, wird die y-Komponente des Ergebnisses durch das 'tan (a)' beeinflusst - beeinflusst durch die Menge der x-Komponente des Vektors. Eine andere Möglichkeit, darüber nachzudenken, ist, dass x größer wird, das y-Ergebnis mehr verzerrt ist. ** –

Verwandte Themen