To main page | 3dengine.org

# Rotate around Arbitrary axis (vector)

PyOpenGL math to do rotation manually:

## Deg/Rad

Remember that math.cos/sin take radians, while OpenGL (and people generally) think(s) in degrees, see:

Degrees-to-radians

Radians-to-degrees

## See also

Right, up, back vectors in modelview matrix

PyOpenGL math to do rotation manually:

from numpy import matrix from math import cos,sin def rot_arb(an, x,y,z): c=cos(an) s=sin(an) t=1-c modelview = (modelview * np.mat([ t*x*x+c, t*x*y-s*z, t*x*z+s*y, 0, t*x*y+s*z, t*y*y+c, t*y*z-s*x, 0, t*x*z-s*y, t*y*z+s*x, t*z*z+c, 0, 0, 0, 0, 1, ]).reshape(4,4))modelview = Modelview matrix (upper 3x3 of modelview matrix is rotation matrix)

Degrees-to-radians

Radians-to-degrees