Cómo derivar las matrices de rotación

Eso no es rotación para [matemáticas] 45 ^ o [/ matemáticas]. Esa es la transformación para rotar un vector en [math] \ mathbb {R} ^ 2 [/ math] en un ángulo [math] \ theta [/ math]. Puede derivar la fórmula de esta manera:

Deje que el vector [math] \ mathbf {V} [/ math] gire en un ángulo [math] \ theta [/ math] bajo alguna transformación para obtener el nuevo vector [math] \ mathbf {V ‘} [/ math] .

Deje [math] r = | \ mathbf {V} | [/ math]. Entonces, tenemos las relaciones:

[matemáticas] v_x = r \ cos \ alpha [/ matemáticas]

[matemáticas] v_x ‘= r \ cos (\ alpha + \ theta) [/ matemáticas]

[matemáticas] v_y = r \ sin \ alpha [/ matemáticas]

[matemáticas] v_y ‘= r \ sin (\ alpha + \ theta) [/ matemáticas]

De donde tienes las relaciones:

[matemáticas] v_x ‘= v_x \ cos \ theta – v_y \ sin \ theta [/ math]

[matemáticas] v_y ‘= v_x \ cos \ theta + v_y \ sin \ theta [/ math]

Esto se representa en forma de matriz como

[matemáticas] \ begin {pmatrix} v_x ‘\\ v_y’ \ end {pmatrix} = \ begin {pmatrix} \ cos \ theta && – \ sin \ theta \\ \ sin \ theta && \ cos \ theta \ end {pmatrix } \ begin {pmatrix} v_x \\ v_y \ end {pmatrix} [/ math]

Los cuaterniones proporcionan una buena manera de hacerlo.

Editar: respondí antes de ver que el interlocutor estaba luchando con un simple problema 2D, por lo que mi respuesta no es demasiado relevante en ese contexto. Si está intentando interpolar entre diferentes rotaciones en 3 espacios, se convierte en un problema muy interesante y no trivial.

Esa matriz funciona para cualquier ángulo; Puedes enchufarlo en 135º y cualquier otra cosa Si pones un theta negativo, estás haciendo una rotación en sentido horario en lugar de hacerlo en sentido antihorario. Para ver las entradas, supongamos que toma el vector (1,0) y lo gira en un ángulo agudo theta en sentido antihorario. ¿Cuáles son los nuevos componentes de

el vector? Tiene un triángulo con hipotenusa de longitud 1. Los componentes son (cos theta, sin theta.) Entonces, si la matriz [(ab primera fila) (cd segunda fila)] se multiplica a la derecha por el vector de columna (1,0 ), obtienes (a, c), y eso tiene que ser igual (cos theta, sin theta). Del mismo modo, puede ver a dónde va el vector (0,1).

Las columnas de una matriz son el resultado de operar en los vectores unitarios. Entonces tome un vector [math] e_i = (0, …, 0,1,0, …, 0) [/ math] con uno en la posición i-ésima, gírelo, y ahí está …