Learn R Programming

PlaneGeometry (version 1.1.0)

Rotation: R6 class representing a rotation

Description

A rotation is given by an angle (theta) and a center.

Arguments

Active bindings

theta

get or set the angle of the rotation

center

get or set the center

degrees

get or set the degrees field

Methods

Public methods

Method new()

Create a new Rotation object.

Usage

Rotation$new(theta, center, degrees = TRUE)

Arguments

theta

a number, the angle of the rotation

center

a point, the center of the rotation

degrees

logical, whether theta is given in degrees

Returns

A new Rotation object.

Examples

Rotation$new(60, c(1,1))

Method print()

Show instance of a Rotation object.

Usage

Rotation$print(...)

Arguments

...

ignored

Method rotate()

Rotate a point or several points.

Usage

Rotation$rotate(M)

Arguments

M

a point or a two-column matrix of points, one point per row

Method transform()

An alias of rotate.

Usage

Rotation$transform(M)

Arguments

M

a point or a two-column matrix of points, one point per row

Method rotateCircle()

Rotate a circle.

Usage

Rotation$rotateCircle(circ)

Arguments

circ

a Circle object

Returns

A Circle object.

Method transformCircle()

An alias of rotateCircle.

Usage

Rotation$transformCircle(circ)

Arguments

circ

a Circle object

Returns

A Circle object.

Method rotateEllipse()

Rotate an ellipse.

Usage

Rotation$rotateEllipse(ell)

Arguments

ell

an Ellipse object

Returns

An Ellipse object.

Method transformEllipse()

An alias of rotateEllipse.

Usage

Rotation$transformEllipse(ell)

Arguments

ell

an Ellipse object

Returns

An Ellipse object.

Method rotateLine()

Rotate a line.

Usage

Rotation$rotateLine(line)

Arguments

line

a Line object

Returns

A Line object.

Method transformLine()

An alias of rotateLine.

Usage

Rotation$transformLine(line)

Arguments

line

a Line object

Returns

A Line object.

Method getMatrix()

Augmented matrix of the rotation.

Usage

Rotation$getMatrix()

Returns

A 3x3 matrix.

Examples

R <- Rotation$new(60, c(1,1))
P <- c(1,5)
R$rotate(P)
R$getMatrix() %*% c(P,1)

Method asAffine()

Convert the reference rotation to an Affine object.

Usage

Rotation$asAffine()

Method clone()

The objects of this class are cloneable with this method.

Usage

Rotation$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

Run this code
# NOT RUN {
## ------------------------------------------------
## Method `Rotation$new`
## ------------------------------------------------

Rotation$new(60, c(1,1))

## ------------------------------------------------
## Method `Rotation$getMatrix`
## ------------------------------------------------

R <- Rotation$new(60, c(1,1))
P <- c(1,5)
R$rotate(P)
R$getMatrix() %*% c(P,1)
# }

Run the code above in your browser using DataLab