Module
Data.Geometria.Types
- Package
- purescript-geometria
- Repository
- Ebmtranceboy/purescript-geometria
#signature Source
signature :: Permutation -> Number
#Reveal Source
#Segment Source
newtype Segment :: Int -> Type
newtype Segment n
Constructors
Instances
Show (Segment n)
(ToString n s, IsSymbol s) => Metric (Segment n)
Intersectable (Segment 2) (Line 2)
Intersectable (Line 2) (Segment 2)
Intersectable (Segment 2) (HalfLine 2)
Intersectable (HalfLine 2) (Segment 2)
Intersectable (Segment 2) Circle
Intersectable Circle (Segment 2)
Intersectable (Segment 2) (Segment 2)
#HalfLine Source
newtype HalfLine :: Int -> Type
newtype HalfLine n
Constructors
Instances
Show (HalfLine n)
Intersectable (Line 2) (HalfLine 2)
Intersectable (HalfLine 2) (Line 2)
Intersectable (HalfLine 2) Circle
Intersectable Circle (HalfLine 2)
Intersectable (HalfLine 2) (HalfLine 2)
Intersectable (Segment 2) (HalfLine 2)
Intersectable (HalfLine 2) (Segment 2)
#Line Source
newtype Line :: Int -> Type
newtype Line n
Constructors
Instances
Show (Line n)
Intersectable (Line 2) (Line 2)
Intersectable (Line 2) (HalfLine 2)
Intersectable (HalfLine 2) (Line 2)
Intersectable (Line 2) Circle
Intersectable Circle (Line 2)
Intersectable (Segment 2) (Line 2)
Intersectable (Line 2) (Segment 2)
#Analytic Source
class Analytic a where
Members
fromCoordinates :: Polynomial Number -> a
toCoordinates :: a -> Polynomial Number
index :: a -> Int -> Number
Instances
#freeVector Source
freeVector :: forall @n. Shape n Vector => Polynomial Number -> Vector n
#EuclideanSpace Source
class EuclideanSpace a where
Members
dot :: a -> a -> Number
normalTo :: Array a -> a
Builds the n-dimensioned vector needed for the provided array of (n-1) n-dimensioned independant vectors to be a R^n basis.
Instances
(ToString n s, IsSymbol s) => EuclideanSpace (Vector n)
#System Source
type System :: Int -> Type
type System (n :: Int) = Polynomial (Polynomial Number)
#Intersectable Source
class Intersectable a b where
Members
Instances
Intersectable (Line 2) (Line 2)
Intersectable (Line 2) (HalfLine 2)
Intersectable (HalfLine 2) (Line 2)
Intersectable (Line 2) Circle
Intersectable Circle (Line 2)
Intersectable (HalfLine 2) Circle
Intersectable Circle (HalfLine 2)
Intersectable Circle Circle
Intersectable (HalfLine 2) (HalfLine 2)
Intersectable (Segment 2) (Line 2)
Intersectable (Line 2) (Segment 2)
Intersectable (Segment 2) (HalfLine 2)
Intersectable (HalfLine 2) (Segment 2)
Intersectable (Segment 2) Circle
Intersectable Circle (Segment 2)
Intersectable (Segment 2) (Segment 2)
Scalar product