Rotations by oriented angles. #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file defines rotations by oriented angles in real inner product spaces.
Main definitions #
orientation.rotation
is the rotation by an oriented angle with respect to an orientation.
Auxiliary construction to build a rotation by the oriented angle θ
.
Equations
- o.rotation_aux θ = (θ.cos • linear_map.id + θ.sin • ↑(o.right_angle_rotation.to_linear_equiv)).isometry_of_inner _
A rotation by the oriented angle θ
.
Equations
- o.rotation θ = linear_isometry_equiv.of_linear_isometry (o.rotation_aux θ) (θ.cos • linear_map.id - θ.sin • ↑(o.right_angle_rotation.to_linear_equiv)) _ _
The determinant of rotation
(as a linear map) is equal to 1
.
The determinant of rotation
(as a linear equiv) is equal to 1
.
The inverse of rotation
is rotation by the negation of the angle.
Rotation by 0 is the identity.
Rotation by π is negation.
Rotation by π is negation.
Rotation by π / 2 is the "right-angle-rotation" map J
.
Rotating twice is equivalent to rotating by the sum of the angles.
Rotating twice is equivalent to rotating by the sum of the angles.
Rotating the first of two vectors by θ
scales their Kahler form by cos θ - sin θ * I
.
Negating a rotation is equivalent to rotation by π plus the angle.
Negating a rotation by -π / 2 is equivalent to rotation by π / 2.
Negating a rotation by π / 2 is equivalent to rotation by -π / 2.
Rotating the first of two vectors by θ
scales their Kahler form by cos (-θ) + sin (-θ) * I
.
Rotating the second of two vectors by θ
scales their Kahler form by cos θ + sin θ * I
.
Rotating the first vector by θ
subtracts θ
from the angle between two vectors.
Rotating the second vector by θ
adds θ
to the angle between two vectors.
The rotation of a vector by θ
has an angle of -θ
from that vector.
A vector has an angle of θ
from the rotation of that vector by θ
.
Rotating the first vector by the angle between the two vectors results an an angle of 0.
Rotating the first vector by the angle between the two vectors and swapping the vectors results an an angle of 0.
Rotating both vectors by the same angle does not change the angle between those vectors.
A rotation of a nonzero vector equals that vector if and only if the angle is zero.
A nonzero vector equals a rotation of that vector if and only if the angle is zero.
A rotation of a vector equals that vector if and only if the vector or the angle is zero.
A vector equals a rotation of that vector if and only if the vector or the angle is zero.
Rotating a vector by the angle to another vector gives the second vector if and only if the norms are equal.
The angle between two nonzero vectors is θ
if and only if the second vector is the first
rotated by θ
and scaled by the ratio of the norms.
The angle between two nonzero vectors is θ
if and only if the second vector is the first
rotated by θ
and scaled by a positive real.
The angle between two vectors is θ
if and only if they are nonzero and the second vector
is the first rotated by θ
and scaled by the ratio of the norms, or θ
and at least one of the
vectors are zero.
The angle between two vectors is θ
if and only if they are nonzero and the second vector
is the first rotated by θ
and scaled by a positive real, or θ
and at least one of the
vectors are zero.
Any linear isometric equivalence in V
with positive determinant is rotation
.
Rotation in an oriented real inner product space of dimension 2 can be evaluated in terms of a complex-number representation of the space.
Negating the orientation negates the angle in rotation
.
The inner product between a π / 2
rotation of a vector and that vector is zero.
The inner product between a vector and a π / 2
rotation of that vector is zero.
The inner product between a multiple of a π / 2
rotation of a vector and that vector is
zero.
The inner product between a vector and a multiple of a π / 2
rotation of that vector is
zero.
The inner product between a π / 2
rotation of a vector and a multiple of that vector is
zero.
The inner product between a multiple of a vector and a π / 2
rotation of that vector is
zero.
The inner product between a multiple of a π / 2
rotation of a vector and a multiple of
that vector is zero.
The inner product between a multiple of a vector and a multiple of a π / 2
rotation of
that vector is zero.
The inner product between two vectors is zero if and only if the first vector is zero or
the second is a multiple of a π / 2
rotation of that vector.