Is there a way to calculate the skew transformation matrix along one coordinate axis, given the skew angle, as follows
3D skew transformation matrix along one coordinate axis
This should work for the most part for skewing an object with a transformation matrix, in particular using glMultMatrix(matrix)
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
};
© 2022 - 2024 — McMap. All rights reserved.
tan(a)
in the matrix too, eg 1) when you multiply a vector with the matrix, the y component of the result is affected by thetan(a)
-- affected by the amount of the x component of the vector. Another way to think about it is as x gets bigger, there is more skew in the y result. – Liederkranz