Safe Haskell | None |
---|---|
Language | Haskell98 |
Various functions for manipulating polynomials, essentially when represented in the Bernstein basis, in one or two variables.
- data Bernsteinp a b = Bernsteinp {}
- solve :: (Show a, Show i, Eq a, Box a i) => Double -> Vector (Bernsteinp i Interval) -> a -> [a]
- class Bernstein a where
- (?) :: Unbox b => Bernsteinp a b -> a -> b
- constant :: (Unbox b, Num b, Fractional b) => b -> Bernsteinp a b
- scale :: (Num b, Fractional b, Unbox b) => b -> Bernsteinp a b -> Bernsteinp a b
- promote :: (Unbox b, Num b, Fractional b) => Int -> Bernsteinp Int b -> Bernsteinp a b
- elevate :: (Unbox b, Num b, Fractional b) => a -> Bernsteinp a b -> Bernsteinp a b
- eval :: (Unbox b, Num b, Fractional b) => Bernsteinp a b -> Param a b -> b
- restriction :: (Unbox b, Fractional b, Num b) => Bernsteinp a b -> Param a b -> Param a b -> Bernsteinp a b
- derivate :: (Unbox a, Num a) => Bernsteinp Int a -> Bernsteinp Int a
- reorient :: Unbox a => Bernsteinp Int a -> Bernsteinp Int a
Documentation
data Bernsteinp a b Source
The type for Bernstein polynomials with an arbitrary number of variables
Num (Bernsteinp a Interval) => Intervalize (Bernsteinp a) Source | |
(Eq a, Eq b, Unbox b) => Eq (Bernsteinp a b) Source | |
(Num a, Fractional a, Unbox a) => Num (Bernsteinp Int a) Source | |
(Fractional a, Num a, Unbox a) => Num (Bernsteinp (Int, Int) a) Source | |
(Fractional a, Num a, Unbox a) => Num (Bernsteinp (Int, Int, Int) a) Source | |
(Fractional a, Num a, Unbox a) => Num (Bernsteinp (Int, Int, Int, Int) a) Source | |
(Show a, Show b, Unbox b) => Show (Bernsteinp a b) Source |
solve :: (Show a, Show i, Eq a, Box a i) => Double -> Vector (Bernsteinp i Interval) -> a -> [a] Source
Computes the intersection of a given Bezier hypersurface, given
by its graph, with plane z=0
.
class Bernstein a where Source
(?) :: Unbox b => Bernsteinp a b -> a -> b Source
constant :: (Unbox b, Num b, Fractional b) => b -> Bernsteinp a b Source
scale :: (Num b, Fractional b, Unbox b) => b -> Bernsteinp a b -> Bernsteinp a b Source
promote :: (Unbox b, Num b, Fractional b) => Int -> Bernsteinp Int b -> Bernsteinp a b Source
elevate :: (Unbox b, Num b, Fractional b) => a -> Bernsteinp a b -> Bernsteinp a b Source
eval :: (Unbox b, Num b, Fractional b) => Bernsteinp a b -> Param a b -> b Source
restriction :: (Unbox b, Fractional b, Num b) => Bernsteinp a b -> Param a b -> Param a b -> Bernsteinp a b Source
derivate :: (Unbox a, Num a) => Bernsteinp Int a -> Bernsteinp Int a Source
Computes the derivative of a univariate Bernstein polynomial.
reorient :: Unbox a => Bernsteinp Int a -> Bernsteinp Int a Source
Computes f(1-x)
(useful when used with Bezier curves).