(Nth-Domain Simple-Rotation 3 3d-Direction-Cosine)
(Nth-Domain Simple-Rotation 2 Scalar-Quantity)
(<=> (Simple-Rotation ?Axis ?Angle ?Dircos)
(And (Member ?Axis (Setof 1 2 3))
(Scalar-Quantity ?Angle)
(Quantity.Dimension ?Angle Identity-Dimension)
(3d-Direction-Cosine ?Dircos)
(=> (= ?Axis 1)
(= ?Dircos
(Matrix-Of-Rows (Matrix-Of-Columns 1 0 0)
(Matrix-Of-Columns 0
(Cos ?Angle)
(- (Sin ?Angle)))
(Matrix-Of-Columns 0
(Sin ?Angle)
(Cos ?Angle)))))
(=> (= ?Axis 2)
(= ?Dircos
(Matrix-Of-Rows (Matrix-Of-Columns (Cos ?Angle)
0
(- (Sin ?Angle)))
(Matrix-Of-Columns 0 1 0)
(Matrix-Of-Columns (Sin ?Angle)
0
(Cos ?Angle)))))
(=> (= ?Axis 3)
(= ?Dircos
(Matrix-Of-Rows (Matrix-Of-Columns (Cos ?Angle)
(- (Sin ?Angle))
0)
(Matrix-Of-Columns (Sin ?Angle)
(Cos ?Angle)
0)
(Matrix-Of-Columns 0 0 1))))))