|
|
|
|
|
| Description |
| Strecken, Strahlen und Geraden
|
|
| Synopsis |
|
| | | type Line2 a = Line Point2 a | | | type L2 a = Line Point2 a | | | type Line2D = Line2 Double | | | type Line3 a = Line Point3 a | | | segmentToLine :: (Point p, Num a) => Line p a -> Line p a | | | rayToLine :: (Point p, Num a) => Line p a -> Line p a | | | segmentToRay :: (Point p, Num a) => Line p a -> Line p a | | | target :: (Point p, Num a) => Line p a -> p a | | | source :: (Point p, Num a) => Line p a -> p a | | | mapLine :: (Point p, Num a, Num b) => (p a -> p b) -> Line p a -> Line p b | | | xcoord2 :: (Point p, Num a) => Line p a -> a | | | ycoord1 :: (Point p, Num a) => Line p a -> a | | | ycoord2 :: (Point p, Num a) => Line p a -> a | | | zcoord1 :: (Point p, Num a) => Line p a -> a | | | zcoord2 :: (Point p, Num a) => Line p a -> a | | | xcoord1 :: (Point p, Num a) => Line p a -> a | | | dy :: Num a => L2 a -> a | | | dx :: Num a => L2 a -> a | | | isHorizontal :: Num a => L2 a -> Bool | | | isVertical :: Num a => L2 a -> Bool | | | vertical :: Num a => a -> L2 a | | | horizontal :: Num a => a -> L2 a | | | | | slope :: Fractional a => L2 a -> Slope a | | | areParallel :: Fractional a => L2 a -> L2 a -> Bool | | | direction :: RealFloat a => L2 a -> a | | | angle :: Line2D -> Line2D -> Double | | | translate :: (Floating a, Ord a) => L2 a -> a -> a -> L2 a | | | rotate :: (Floating a, Ord a) => L2 a -> P2 a -> a -> L2 a | | | rotateOrg :: (Floating a, Ord a) => L2 a -> a -> L2 a | | | reflect :: Fractional a => L2 a -> P2 a -> P2 a -> L2 a | | | fromPDL :: (Floating a, Ord a) => (P2 a -> P2 a -> b) -> P2 a -> a -> a -> b | | | orientationOfLines :: (Num a, Ord a) => L2 a -> L2 a -> Orientation | | | strictIntersect :: (Ord a, Fractional a) => L2 a -> L2 a -> Maybe (Point2 a) | | | intersect :: (Ord a, Fractional a) => L2 a -> L2 a -> Maybe (Point2 a) | | | doStrictIntersect :: (Ord a, Fractional a) => L2 a -> L2 a -> Bool | | | doIntersect :: (Ord a, Fractional a) => L2 a -> L2 a -> Bool | | | interAux :: Fractional a => (Line2 a -> a -> Bool) -> Line2 a -> Line2 a -> Maybe (Point2 a) | | | intersection :: Fractional a => L2 a -> L2 a -> Maybe (Point2 a, a, a) | | | distanceFromLine :: (Ord a, Floating a) => L2 a -> P2 a -> a | | | sqrDistanceFromLine :: (Ord a, Fractional a) => L2 a -> P2 a -> a | | | distanceAux :: Fractional a => P2 a -> P2 a -> P2 a -> (a, a, a, P2 a) | | | lengthOfSegment :: (Point p, Floating a) => Line p a -> a | | | sqrLengthOfSegment :: (Point p, Num a) => Line p a -> a | | | centerOfSegment :: (Point p, Fractional a) => Line p a -> p a | | | perpendicular :: Fractional a => L2 a -> L2 a | | | bisector :: Fractional a => L2 a -> L2 a |
|
|
| Documentation |
|
|
| Constructors | | Segment | | | point1 :: p a | | | point2 :: p a | |
| | Ray | | | point1 :: p a | | | point2 :: p a | |
| | Line | | | point1 :: p a | | | point2 :: p a | |
|
| Instances | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| dx, dy sind die Differenzen der $x$- bzw. der $y$-Koordinaten der zwei Punkte.
|
|
|
|
|
|
|
|
|
|
|
|
|
| Die Steigung einer Geraden wird als Datentyp |Slope| gespeichert. Ein Nachteil dieser
Darstellung ist, da die Darstellung nicht eindeutig ist, $-0=+0$.
| | Constructors | | Instances | |
|
|
|
|
|
|
|
| direction ist die Richtung bezglich der $x$-Achse.
|
|
|
| angle ermittelt den Winkel zwischen zwei Linien.
|
|
|
| translate|, |rotate| und |reflect| sind kanonische Erweiterungen der
entsprechenden Funktionen auf Punkten.
|
|
|
|
|
|
|
|
|
| fromPDL| erstellt die Zwei-Punkte-Form aus einem Punkt, einer Richtung und einer Lnge.
|
|
| Orientierung
|
|
|
|
| Schnittpunkte
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Produced by Haddock version 2.4.2 |