Math.Geometry


Triangle2D Module

Functions and values

Function or value Description

area triangle

Full Usage: area triangle

Parameters:
Returns: Quantity<Squared<'Units>>

Get the area of a triangle. The result will always be positive regardless of whether the triangle's vertices are in clockwise or counterclockwise order.

triangle : Triangle2D<'Units, 'Coordinates>
Returns: Quantity<Squared<'Units>>

centroid triangle

Full Usage: centroid triangle

Parameters:
Returns: Point2D<'Units, 'Coordinates>

Get the centroid (center of mass) of a triangle.

triangle : Triangle2D<'Units, 'Coordinates>
Returns: Point2D<'Units, 'Coordinates>

circumcircle triangle

Full Usage: circumcircle triangle

Parameters:
Returns: Circle2D<'Units, 'Coordinates> option

Attempt to find the circumcircle of a triangle, a circle that passes through each of the triangle's vertices; If the triangle is degenerate (its three vertices are collinear), returns `None`.

triangle : Triangle2D<'Units, 'Coordinates>
Returns: Circle2D<'Units, 'Coordinates> option

clockwiseArea triangle

Full Usage: clockwiseArea triangle

Parameters:
Returns: Quantity<Squared<'Units>>

Get the signed area of a triangle, returning a positive value if the triangle's vertices are in clockwise order and a negative value otherwise.

triangle : Triangle2D<'Units, 'Coordinates>
Returns: Quantity<Squared<'Units>>

contains point triangle

Full Usage: contains point triangle

Parameters:
Returns: bool

Check whether a given point is inside a given triangle. It does not matter whether the triangle's vertices are in clockwise or counterclockwise order.

point : Point2D<'Units, 'Coordinates>
triangle : Triangle2D<'Units, 'Coordinates>
Returns: bool

counterclockwiseArea triangle

Full Usage: counterclockwiseArea triangle

Parameters:
Returns: Quantity<Squared<'Units>>

Get the signed area of a triangle, returning a positive value if the triangle's vertices are in counterclockwise order and a negative value otherwise.

triangle : Triangle2D<'Units, 'Coordinates>
Returns: Quantity<Squared<'Units>>

edges triangle

Full Usage: edges triangle

Parameters:
Returns: LineSegment2D<'Units, 'Coordinates> * LineSegment2D<'Units, 'Coordinates> * LineSegment2D<'Units, 'Coordinates>

Get the edges of a triangle: from the first vertex to the second, from the second to the third, and from the third back to the first.

triangle : Triangle2D<'Units, 'Coordinates>
Returns: LineSegment2D<'Units, 'Coordinates> * LineSegment2D<'Units, 'Coordinates> * LineSegment2D<'Units, 'Coordinates>

from p1 p2 p3

Full Usage: from p1 p2 p3

Parameters:
    p1 : Point2D<'Units, 'Coordinates>
    p2 : Point2D<'Units, 'Coordinates>
    p3 : Point2D<'Units, 'Coordinates>

Returns: Triangle2D<'Units, 'Coordinates>

Construct a triangle from the first point, to the second, to the third.

p1 : Point2D<'Units, 'Coordinates>
p2 : Point2D<'Units, 'Coordinates>
p3 : Point2D<'Units, 'Coordinates>
Returns: Triangle2D<'Units, 'Coordinates>

fromVertices (arg1, arg2, arg3)

Full Usage: fromVertices (arg1, arg2, arg3)

Parameters:
    arg0 : Point2D<'Units, 'Coordinates>
    arg1 : Point2D<'Units, 'Coordinates>
    arg2 : Point2D<'Units, 'Coordinates>

Returns: Triangle2D<'Units, 'Coordinates>

Construct a triangle from its three vertices.

arg0 : Point2D<'Units, 'Coordinates>
arg1 : Point2D<'Units, 'Coordinates>
arg2 : Point2D<'Units, 'Coordinates>
Returns: Triangle2D<'Units, 'Coordinates>

mirrorAcross axis triangle

Full Usage: mirrorAcross axis triangle

Parameters:
    axis : Axis2D<'Units, 'Coordinates>
    triangle : Triangle2D<'Units, 'Coordinates>

Returns: Triangle2D<'Units, 'Coordinates>

Mirror a triangle across a given axis. Note that mirroring a triangle will result in its 'winding direction' being flipped - if the triangle's vertices were in counterclockwise order before mirroring, they will be in clockwise order afterwards and vice versa.

axis : Axis2D<'Units, 'Coordinates>
triangle : Triangle2D<'Units, 'Coordinates>
Returns: Triangle2D<'Units, 'Coordinates>

placeIn frame triangle

Full Usage: placeIn frame triangle

Parameters:
    frame : Frame2D<'Units, 'GlobalCoordinates, 'LocalCoordinates>
    triangle : Triangle2D<'Units, 'LocalCoordinates>

Returns: Triangle2D<'Units, 'GlobalCoordinates>

Take a triangle considered to be defined in local coordinates relative to a given reference frame, and return that triangle expressed in global coordinates.

frame : Frame2D<'Units, 'GlobalCoordinates, 'LocalCoordinates>
triangle : Triangle2D<'Units, 'LocalCoordinates>
Returns: Triangle2D<'Units, 'GlobalCoordinates>

relativeTo frame triangle

Full Usage: relativeTo frame triangle

Parameters:
    frame : Frame2D<'Units, 'GlobalCoordinates, 'LocalCoordinates>
    triangle : Triangle2D<'Units, 'GlobalCoordinates>

Returns: Triangle2D<'Units, 'LocalCoordinates>

Take a triangle defined in global coordinates, and return it expressed in local coordinates relative to a given reference frame.

frame : Frame2D<'Units, 'GlobalCoordinates, 'LocalCoordinates>
triangle : Triangle2D<'Units, 'GlobalCoordinates>
Returns: Triangle2D<'Units, 'LocalCoordinates>

rotateAround centerPoint angle triangle

Full Usage: rotateAround centerPoint angle triangle

Parameters:
    centerPoint : Point2D<'Units, 'Coordinates>
    angle : Angle
    triangle : Triangle2D<'Units, 'Coordinates>

Returns: Triangle2D<'Units, 'Coordinates>

Rotate a triangle around a given point by a given angle.

centerPoint : Point2D<'Units, 'Coordinates>
angle : Angle
triangle : Triangle2D<'Units, 'Coordinates>
Returns: Triangle2D<'Units, 'Coordinates>

scaleAbout point scale triangle

Full Usage: scaleAbout point scale triangle

Parameters:
    point : Point2D<'Units, 'Coordinates>
    scale : float
    triangle : Triangle2D<'Units, 'Coordinates>

Returns: Triangle2D<'Units, 'Coordinates>

Scale a triangle about a given point by a given scale. Note that scaling by a negative value will result in the 'winding direction' of the triangle being flipped - if the triangle's vertices were in counterclockwise order before the negative scaling, they will be in clockwise order afterwards and vice versa.

point : Point2D<'Units, 'Coordinates>
scale : float
triangle : Triangle2D<'Units, 'Coordinates>
Returns: Triangle2D<'Units, 'Coordinates>

translateBy vector triangle

Full Usage: translateBy vector triangle

Parameters:
Returns: Triangle2D<'Units, 'Coordinates>

Translate a triangle by a given displacement.

vector : Vector2D<'Units, 'Coordinates>
triangle : Triangle2D<'Units, 'Coordinates>
Returns: Triangle2D<'Units, 'Coordinates>

translateIn direction distance triangle

Full Usage: translateIn direction distance triangle

Parameters:
Returns: Triangle2D<'Units, 'Coordinates>

Translate a triangle in a given direction by a given distance.

direction : Direction2D<'Coordinates>
distance : Quantity<'Units>
triangle : Triangle2D<'Units, 'Coordinates>
Returns: Triangle2D<'Units, 'Coordinates>

vertices triangle

Full Usage: vertices triangle

Parameters:
Returns: Point2D<'Units, 'Coordinates> * Point2D<'Units, 'Coordinates> * Point2D<'Units, 'Coordinates>

Get the three vertices of the triangle

triangle : Triangle2D<'Units, 'Coordinates>
Returns: Point2D<'Units, 'Coordinates> * Point2D<'Units, 'Coordinates> * Point2D<'Units, 'Coordinates>