ianmackenzie/elm-geometry/1.0.0

NOTE: this package is not compatible with Elm 0.19.1

Triangle3d

Triangle3d

A Triangle3d represents a triangle in 3D 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, mirroring and projecting triangles
  • Converting triangles between different coordinate systems
type alias Triangle3d =
Triangle3d

Constructors

fromVertices : ( Point3d, Point3d, Point3d ) -> Triangle3d
on : SketchPlane3d -> Triangle2d -> Triangle3d

Properties

vertices : Triangle3d -> ( Point3d, Point3d, Point3d )
edges : Triangle3d -> ( LineSegment3d, LineSegment3d, LineSegment3d )
centroid : Triangle3d -> Point3d
area : Triangle3d -> Float
normalDirection : Triangle3d -> Maybe Direction3d
boundingBox : Triangle3d -> BoundingBox3d
circumcircle : Triangle3d -> Maybe Circle3d

Transformations

Transforming a triangle is equivalent to transforming its vertices.

scaleAbout : Point3d -> Float -> Triangle3d -> Triangle3d
rotateAround : Axis3d -> Float -> Triangle3d -> Triangle3d
translateBy : Vector3d -> Triangle3d -> Triangle3d
translateIn : Direction3d -> Float -> Triangle3d -> Triangle3d
mirrorAcross : Plane3d -> Triangle3d -> Triangle3d
projectOnto : Plane3d -> Triangle3d -> Triangle3d
mapVertices : (Point3d -> Point3d) -> Triangle3d -> Triangle3d

Coordinate conversions

relativeTo : Frame3d -> Triangle3d -> Triangle3d
placeIn : Frame3d -> Triangle3d -> Triangle3d
projectInto : SketchPlane3d -> Triangle3d -> Triangle2d