Maintainer | diagrams-discuss@googlegroups.com |
---|---|

Safe Haskell | None |

Two-dimensional arcs, approximated by cubic bezier curves.

- arc :: (Angle a, TrailLike t, V t ~ R2) => a -> a -> t
- arc' :: (Angle a, TrailLike p, V p ~ R2) => Double -> a -> a -> p
- arcCW :: (Angle a, TrailLike t, V t ~ R2) => a -> a -> t
- arcT :: Angle a => a -> a -> Trail R2
- bezierFromSweep :: Rad -> [Segment Closed R2]
- wedge :: (Angle a, TrailLike p, V p ~ R2) => Double -> a -> a -> p

# Documentation

arc :: (Angle a, TrailLike t, V t ~ R2) => a -> a -> tSource

Given a start angle `s`

and an end angle `e`

,

is the
path of a radius one arc counterclockwise between the two angles.
The origin of the arc is its center.
`arc`

s e

arc' :: (Angle a, TrailLike p, V p ~ R2) => Double -> a -> a -> pSource

Given a radus `r`

, a start angle `s`

and an end angle `e`

,

is the path of a radius `arc'`

r s e`(abs r)`

arc between
the two angles. If a negative radius is given, the arc will
be clockwise, otherwise it will be counterclockwise. The origin
of the arc is its center.

bezierFromSweep :: Rad -> [Segment Closed R2]Source

`bezierFromSweep s`

constructs a series of `Cubic`

segments that
start in the positive y direction and sweep counter clockwise
through `s`

radians. If `s`

is negative, it will start in the
negative y direction and sweep clockwise. When `s`

is less than
0.0001 the empty list results. If the sweep is greater than tau
then it is truncated to tau.