Function SIMPLE-ROTATION


Slots on this function:

Documentation:
Shorthand for the commonly used direction cosine matrices that represent rotations about the three axes in 3D space.
Arity: 3

Axioms:

(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))))))