| Projection {PlaneGeometry} | R Documentation |
R6 class representing a projection
Description
A projection on a line D parallel to another line
Delta is given by the line of projection (D)
and the directrix line (Delta).
Active bindings
Dget or set the projection line
Deltaget or set the directrix line
Methods
Public methods
Method new()
Create a new Projection object.
Usage
Projection$new(D, Delta)
Arguments
D, Deltatwo
Lineobjects such that the two lines meet (not parallel); orDelta = NULLfor orthogonal projection ontoD
Returns
A new Projection object.
Examples
D <- Line$new(c(1,1), c(5,5)) Delta <- Line$new(c(0,0), c(3,4)) Projection$new(D, Delta)
Method print()
Show instance of a projection object.
Usage
Projection$print(...)
Arguments
...ignored
Method project()
Project a point.
Usage
Projection$project(M)
Arguments
Ma point
Examples
D <- Line$new(c(1,1), c(5,5)) Delta <- Line$new(c(0,0), c(3,4)) P <- Projection$new(D, Delta) M <- c(1,3) Mprime <- P$project(M) D$includes(Mprime) # should be TRUE Delta$isParallel(Line$new(M, Mprime)) # should be TRUE
Method transform()
An alias of project.
Usage
Projection$transform(M)
Arguments
Ma point
Method getMatrix()
Augmented matrix of the projection.
Usage
Projection$getMatrix()
Returns
A 3x3 matrix.
Examples
P <- Projection$new(Line$new(c(2,2), c(4,5)), Line$new(c(0,0), c(1,1))) M <- c(1,5) P$project(M) P$getMatrix() %*% c(M,1)
Method asAffine()
Convert the reference projection to an Affine
object.
Usage
Projection$asAffine()
Method clone()
The objects of this class are cloneable with this method.
Usage
Projection$clone(deep = FALSE)
Arguments
deepWhether to make a deep clone.
Note
For an orthogonal projection, you can use the projection
method of the Line R6 class.
Examples
## ------------------------------------------------
## Method `Projection$new`
## ------------------------------------------------
D <- Line$new(c(1,1), c(5,5))
Delta <- Line$new(c(0,0), c(3,4))
Projection$new(D, Delta)
## ------------------------------------------------
## Method `Projection$project`
## ------------------------------------------------
D <- Line$new(c(1,1), c(5,5))
Delta <- Line$new(c(0,0), c(3,4))
P <- Projection$new(D, Delta)
M <- c(1,3)
Mprime <- P$project(M)
D$includes(Mprime) # should be TRUE
Delta$isParallel(Line$new(M, Mprime)) # should be TRUE
## ------------------------------------------------
## Method `Projection$getMatrix`
## ------------------------------------------------
P <- Projection$new(Line$new(c(2,2), c(4,5)), Line$new(c(0,0), c(1,1)))
M <- c(1,5)
P$project(M)
P$getMatrix() %*% c(M,1)
[Package PlaneGeometry version 1.6.0 Index]