opensolid/geometry/3.0.0

NOTE: this package is not compatible with Elm 0.19.1

Triangle2d

Triangle2d

A Triangle2d represents a triangle in 2D space, and is defined by its three vertices. This module contains triangle-related functionality such as:

  • Finding the area and centroid of triangles
  • Scaling, rotating, translating and mirroring triangles
  • Converting triangles between different coordinate systems
type alias Triangle2d =
Triangle2d

Constructors

fromVertices : ( Point2d, Point2d, Point2d ) -> Triangle2d

Properties

vertices : Triangle2d -> ( Point2d, Point2d, Point2d )
edges : Triangle2d -> ( LineSegment2d, LineSegment2d, LineSegment2d )
centroid : Triangle2d -> Point2d
area : Triangle2d -> Float
counterclockwiseArea : Triangle2d -> Float
clockwiseArea : Triangle2d -> Float
boundingBox : Triangle2d -> BoundingBox2d
circumcircle : Triangle2d -> Maybe Circle2d

Queries

contains : Point2d -> Triangle2d -> Bool

Transformations

Transforming a triangle is equivalent to transforming its vertices.

scaleAbout : Point2d -> Float -> Triangle2d -> Triangle2d
rotateAround : Point2d -> Float -> Triangle2d -> Triangle2d
translateBy : Vector2d -> Triangle2d -> Triangle2d
translateIn : Direction2d -> Float -> Triangle2d -> Triangle2d
mirrorAcross : Axis2d -> Triangle2d -> Triangle2d
mapVertices : (Point2d -> Point2d) -> Triangle2d -> Triangle2d

Coordinate conversions

relativeTo : Frame2d -> Triangle2d -> Triangle2d
placeIn : Frame2d -> Triangle2d -> Triangle2d