PGA2D

Documentation for PGA2D.

PGA2D.angle_dlMethod
angle_dl(d::PGA2DMV, l2::PGA2DMV)

Calculates the angle between the direction d and the line l.

source
PGA2D.angle_llMethod
angle_ll(l1::PGA2DMV, l2::PGA2DMV)

Calculates the angle between two lines l1 and l2.

source
PGA2D.area_loopMethod
area_loop(points)

Calculates the oriented area of the loop defined by the iteratable points.

source
PGA2D.area_pppMethod
area_ppp(P1::PGA2DMV, P2::PGA2DMV, P3::PGA2DMV)

Calculates the oriented area of the triangle P1,P2,P3.

source
PGA2D.directionMethod
direction(x::Real, y::Real)

Constructs a MultiVector that encodes a direction (x,y).

source
PGA2D.direction_coordinatesMethod
direction_coordinates(d::PGA2DMV)

Extracts the direction coordinates (x,y) from a MultiVector P. If the MultiVector does not encode a direction a DomainError is thrown.

source
PGA2D.dist_llMethod
dist_ll(l1::PGA2DMV, l2::PGA2DMV)

Calculates the orthogonal Euclidean distance between parallel lines l1 and l2.

source
PGA2D.dist_orient_lpMethod
dist_orient_lp(l::PGA2DMV, P::PGA2DMV)

Calculates the oriented Euclidean distance between the line l and the point P.

source
PGA2D.dist_ppMethod
dist_pp(P1::PGA2DMV, P2::PGA2DMV)

Calculates the Euclidean distance between P1 and P2.

source
PGA2D.is_lineMethod
is_line(l::PGA2DMV)

Returns true iff the MultiVector l encodes a line.

source
PGA2D.is_motorMethod
is_motor(m::PGA2DMV)

Returns true iff the MultiVector m encodes a motor.

source
PGA2D.is_pointMethod
is_point(P::PGA2DMV)

Returns true iff the MultiVector P encodes a point.

source
PGA2D.join_ppMethod
join_pp(P1::PGA2DMV, P2::PGA2DMV)

Calculates the line through the points P1 and P2. If P1 and P2 coincide, the result is 0.

source
PGA2D.l_bisect_llMethod
l_bisect_ll(l1::PGA2DMV, l2::PGA2DMV)

Calculates both angle-bisecting lines between l1 and l2 and return them in a tuple of MultiVectors.

source
PGA2D.l_bisect_ppMethod
l_bisect_pp(P1::PGA2DMV, P2::PGA2DMV)

Calculates the orthogonal bisecting line between the points P1 and P2.

source
PGA2D.l_ortho_lpMethod
l_ortho_lp(l::PGA2DMV, P::PGA2DMV)

Calculates the line that is orthogonal to l and passes through P.

source
PGA2D.l_para_lpMethod
l_para_lp(l::PGA2DMV, P::PGA2DMV)

Constructs a parallel line to the line l in the point P.

source
PGA2D.length_loopMethod
length_loop(points)

Calculates the length of the loop defined by the iteratable points.

source
PGA2D.lineMethod
line(a::Real, b::Real, c::Real)

Constructs a MultiVector that encodes a line ax + bx + c = 0.

source
PGA2D.line_coordinatesMethod
line_coordinates(l::PGA2DMV)

Extracts the line coordinates (a,b,c) from a MultiVector l. If the MultiVector does not encode a line a DomainError is thrown.

source
PGA2D.meet_llMethod
meet_ll(l1::PGA2DMV, l2::PGA2DMV)

Calculates the point of intersection of the two line-encoding MultiVectors l1 and l2. If the lines are parallel the result is a direction parallel to the lines. If the lines coincides, the result is 0.

source
PGA2D.motor_llMethod
motor_ll(l1::PGA2DMV, l2::PGA2DMV)

Calculates the motor that maps the lines l1 to l2.

source
PGA2D.motor_paMethod
motor_pa(P::PGA2DMV, α::Real)

Calculates the motor for a rotation by the angle α around P. If P is a direction, then the motor describes a translation by α orthogonal to the direction.

source
PGA2D.move_llMethod
move_ll(x::PGA2DMV, l1::PGA2DMV, l2::PGA2DMV)

Moves x with motor_ll(l1,l2).

source
PGA2D.move_paMethod
move_pa(x::PGA2DMV, P::PGA2DMV, α::Real)

Moves x with motor_pa(x,P,α).

source
PGA2D.p_proj_lpMethod
p_proj_lp(l::PGA2DMV, P::PGA2DMV)

Orthogonally projects the point P onto the line l.

source
PGA2D.pointMethod
point(x::Real, y::Real)

Constructs a MultiVector that encodes a point (x,y).

source
PGA2D.point_coordinatesMethod
point_coordinates(P::PGA2DMV)

Extracts the point coordinates (x,y) from a MultiVector P. If the MultiVector does not encode a point a DomainError is thrown.

source
PGA2D.reflect_lMethod
reflect_l(x::PGA2DMV, l::PGA2DMV)

Reflects any MultiVector encoded object x on the line l.

source