R

fun R(center: FlatPoint, angle: Angle): Motor

Builds the motor rotating counter-clockwise by angle about center.

cos(θ/2)·𝟙 + sin(θ/2)·(cx·e41 + cy·e42 + e43) — the exponential of the half-angle-weighted flat point at center (see Motor).

A finite center never throws. An at-infinity center (a Direction) is not rejected: the generator's e43 part vanishes and the motor degrades to a translator — by 2·tan(θ/2)·(dy, −dx) after unitization, perpendicular to the direction — except at a half-turn, where the weight norm collapses and no motor is built.

Return

The rotation Motor.

Parameters

center

The rotation center, a finite FlatPoint.

angle

The rotation angle, counter-clockwise.

Throws

when center is at infinity and the weight norm |cos(θ/2)| rounds to zero — angle at a half-turn.