Portability | GHC |
---|---|
Stability | highly unstable |
Maintainer | Stephen Tetley <stephen.tetley@gmail.com> |
Intersection of line to line and line to plane.
** - WARNING ** - this uses quite a high tolerance for floating point equality.
- interLineLine :: Fractional u => Line u -> Line u -> Maybe (Point2 u)
- interLinesegLineseg :: (Fractional u, Ord u, Tolerance u) => LineSegment u -> LineSegment u -> Maybe (Point2 u)
- interLinesegLine :: (Fractional u, Ord u, Tolerance u) => LineSegment u -> Line u -> Maybe (Point2 u)
- interCurveLine :: (Floating u, Ord u, Tolerance u) => BezierCurve u -> Line u -> Maybe (Point2 u)
- findIntersect :: (Floating u, Real u, Ord u, Tolerance u) => Point2 u -> Radian -> [LineSegment u] -> Maybe (Point2 u)
Documentation
interLineLine :: Fractional u => Line u -> Line u -> Maybe (Point2 u)Source
interLineLine
: line1 * line2 -> Maybe Point
Find the intersection of two lines, if there is one.
Lines are infinite they are represented by points on them, they are not line segments.
An answer of Nothing
may indicate either the lines coincide
or the are parallel.
interLinesegLineseg :: (Fractional u, Ord u, Tolerance u) => LineSegment u -> LineSegment u -> Maybe (Point2 u)Source
interLinesegLineseg
: line_segment1 * line_segment2 -> Maybe Point
Find the intersection of two line segments, if there is one.
An answer of Nothing
indicates that the line segments
coincide, or that there is no intersection.
interLinesegLine :: (Fractional u, Ord u, Tolerance u) => LineSegment u -> Line u -> Maybe (Point2 u)Source
interLinesegLine
: line_segment * line -> Maybe Point
Find the intersection of a line and a line segment, if there is one.
An answer of Nothing
indicates that the the line and line
segment coincide, or that there is no intersection.
interCurveLine :: (Floating u, Ord u, Tolerance u) => BezierCurve u -> Line u -> Maybe (Point2 u)Source
findIntersect :: (Floating u, Real u, Ord u, Tolerance u) => Point2 u -> Radian -> [LineSegment u] -> Maybe (Point2 u)Source
findIntersect
:: radial_origin * theta * [line_segment] -> Maybe Point
Find the first intersection of a line through radial_origin
at angle theta
and the supplied line segments, if there
is one.