opensolid/geometry/3.0.0

NOTE: this package is not compatible with Elm 0.19.1

Arc3d

Arc3d

An Arc3d is a section of a circle in 3D, defined by its central axis, start point and swept angle (the counterclockwise angle around the axis from the start point to the arc's end point). This module includes functionality for

  • Constructing arcs through given points
  • Scaling, rotating, translating and mirroring arcs
  • Converting arcs between different coordinate systems
type alias Arc3d =
Arc3d

Constructors

on : SketchPlane3d -> Arc2d -> Arc3d
sweptAround : Axis3d -> Float -> Point3d -> Arc3d
throughPoints : Point3d -> Point3d -> Point3d -> Maybe Arc3d

Properties

axialDirection : Arc3d -> Direction3d
axis : Arc3d -> Axis3d
centerPoint : Arc3d -> Point3d
radius : Arc3d -> Float
startPoint : Arc3d -> Point3d
endPoint : Arc3d -> Point3d
sweptAngle : Arc3d -> Float

Evaluation

pointOn : Arc3d -> ParameterValue -> Point3d
pointsAt : List ParameterValue -> Arc3d -> List Point3d
nondegenerate : Arc3d -> Result Point3d Nondegenerate
fromNondegenerate : Nondegenerate -> Arc3d
tangentDirection : Nondegenerate -> ParameterValue -> Direction3d
tangentDirectionsAt : List ParameterValue -> Nondegenerate -> List Direction3d
sample : Nondegenerate -> ParameterValue -> ( Point3d, Direction3d )
List ParameterValue
-> Nondegenerate
-> List ( Point3d, Direction3d )

Linear approximation

toPolyline : { maxError : Float } -> Arc3d -> Polyline3d

Transformations

reverse : Arc3d -> Arc3d
scaleAbout : Point3d -> Float -> Arc3d -> Arc3d
rotateAround : Axis3d -> Float -> Arc3d -> Arc3d
translateBy : Vector3d -> Arc3d -> Arc3d
translateIn : Direction3d -> Float -> Arc3d -> Arc3d
mirrorAcross : Plane3d -> Arc3d -> Arc3d
projectInto : SketchPlane3d -> Arc3d -> EllipticalArc2d

Coordinate conversions

relativeTo : Frame3d -> Arc3d -> Arc3d
placeIn : Frame3d -> Arc3d -> Arc3d

Differentiation

You are unlikely to need to use these functions directly, but they are useful if you are writing low-level geometric algorithms.

firstDerivative : Arc3d -> ParameterValue -> Vector3d
firstDerivativesAt : List ParameterValue -> Arc3d -> List Vector3d