# TopLevelDrawFunctions ExΒΆ

TopLevelDrawFunctions provides top level functions for drawing graphics of expressions.

draw: (Ex, SegmentBinding Float) -> TwoDimensionalViewport

`draw(f(x), x = a..b)` draws the graph of `y = f(x)` as `x` ranges from `min(a, b)` to `max(a, b)`; `f(x)` appears in the title bar.

draw: (Ex, SegmentBinding Float, List DrawOption) -> TwoDimensionalViewport

`draw(f(x), x = a..b, l)` draws the graph of `y = f(x)` as `x` ranges from `min(a, b)` to `max(a, b)`; `f(x)` is the default title, and the options contained in the list `l` of the domain `DrawOption` are applied.

draw: (Ex, SegmentBinding Float, SegmentBinding Float) -> ThreeDimensionalViewport

`draw(f(x, y), x = a..b, y = c..d)` draws the graph of `z = f(x, y)` as `x` ranges from `min(a, b)` to `max(a, b)` and `y` ranges from `min(c, d)` to `max(c, d)`; `f(x, y)` appears in the title bar.

draw: (Ex, SegmentBinding Float, SegmentBinding Float, List DrawOption) -> ThreeDimensionalViewport

`draw(f(x, y), x = a..b, y = c..d, l)` draws the graph of `z = f(x, y)` as `x` ranges from `min(a, b)` to `max(a, b)` and `y` ranges from `min(c, d)` to `max(c, d)`; `f(x, y)` is the default title, and the options contained in the list `l` of the domain `DrawOption` are applied.

draw: (ParametricComplexCurve Ex, SegmentBinding Float) -> TwoDimensionalViewport

`draw(c, b)` is like version for plane curves, but uses complex curve.

draw: (ParametricComplexCurve Ex, SegmentBinding Float, List DrawOption) -> TwoDimensionalViewport

`draw(c, b, l)` is like version for plane curves, but uses complex curve.

draw: (ParametricPlaneCurve Ex, SegmentBinding Float) -> TwoDimensionalViewport

`draw(curve(f(t), g(t)), t = a..b)` draws the graph of the parametric curve `x = f(t), y = g(t)` as `t` ranges from `min(a, b)` to `max(a, b)`; `(f(t), g(t))` appears in the title bar.

draw: (ParametricPlaneCurve Ex, SegmentBinding Float, List DrawOption) -> TwoDimensionalViewport

`draw(curve(f(t), g(t)), t = a..b, l)` draws the graph of the parametric curve `x = f(t), y = g(t)` as `t` ranges from `min(a, b)` to `max(a, b)`; `(f(t), g(t))` is the default title, and the options contained in the list `l` of the domain `DrawOption` are applied.

draw: (ParametricSpaceCurve Ex, SegmentBinding Float) -> ThreeDimensionalViewport

`draw(curve(f(t), g(t), h(t)), t = a..b)` draws the graph of the parametric curve `x = f(t)`, `y = g(t)`, `z = h(t)` as `t` ranges from `min(a, b)` to `max(a, b)`; `h(t)` is the default title.

draw: (ParametricSpaceCurve Ex, SegmentBinding Float, List DrawOption) -> ThreeDimensionalViewport

`draw(curve(f(t), g(t), h(t)), t = a..b, l)` draws the graph of the parametric curve `x = f(t)`, `y = g(t)`, `z = h(t)` as `t` ranges from `min(a, b)` to `max(a, b)`; `h(t)` is the default title, and the options contained in the list `l` of the domain `DrawOption` are applied.

draw: (ParametricSurface Ex, SegmentBinding Float, SegmentBinding Float) -> ThreeDimensionalViewport

`draw(surface(f(u, v), g(u, v), h(u, v)), u = a..b, v = c..d)` draws the graph of the parametric surface `x = f(u, v)`, `y = g(u, v)`, `z = h(u, v)` as `u` ranges from `min(a, b)` to `max(a, b)` and `v` ranges from `min(c, d)` to `max(c, d)`; `h(t)` is the default title.

draw: (ParametricSurface Ex, SegmentBinding Float, SegmentBinding Float, List DrawOption) -> ThreeDimensionalViewport

`draw(surface(f(u, v), g(u, v), h(u, v)), u = a..b, v = c..d, l)` draws the graph of the parametric surface `x = f(u, v)`, `y = g(u, v)`, `z = h(u, v)` as `u` ranges from `min(a, b)` to `max(a, b)` and `v` ranges from `min(c, d)` to `max(c, d)`; `h(t)` is the default title, and the options contained in the list `l` of the domain `DrawOption` are applied.

makeObject: (Ex, SegmentBinding Float, List DrawOption) -> GraphImage

`makeObject(f(x), x = a..b, l)` creates the graph of `y = f(x)` as `x` ranges from `min(a, b)` to `max(a, b)`; the options contained in the list `l` of the domain `DrawOption` are applied.

makeObject: (Ex, SegmentBinding Float, SegmentBinding Float) -> ThreeSpace DoubleFloat

`makeObject(f(x, y), x = a..b, y = c..d)` returns a space of the domain ThreeSpace which contains the graph of `z = f(x, y)` as `x` ranges from `min(a, b)` to `max(a, b)` and `y` ranges from `min(c, d)` to `max(c, d)`; `f(x, y)` appears as the default title.

makeObject: (Ex, SegmentBinding Float, SegmentBinding Float, List DrawOption) -> ThreeSpace DoubleFloat

`makeObject(f(x, y), x = a..b, y = c..d, l)` returns a space of the domain ThreeSpace which contains the graph of `z = f(x, y)` as `x` ranges from `min(a, b)` to `max(a, b)` and `y` ranges from `min(c, d)` to `max(c, d)`; `f(x, y)` is the default title, and the options contained in the list `l` of the domain `DrawOption` are applied.

makeObject: (ParametricComplexCurve Ex, SegmentBinding Float, List DrawOption) -> GraphImage

`makeObject(c, b, l)` is like version for plane curves, but uses complex curve.

makeObject: (ParametricPlaneCurve Ex, SegmentBinding Float, List DrawOption) -> GraphImage

`makeObject(curve(f(t), g(t)), t = a..b, l)` creates the graph of the parametric curve `x = f(t), y = g(t)` as `t` ranges from `min(a, b)` to `max(a, b)`; the options contained in the list `l` of the domain `DrawOption` are applied.

makeObject: (ParametricSpaceCurve Ex, SegmentBinding Float) -> ThreeSpace DoubleFloat

`makeObject(curve(f(t), g(t), h(t)), t = a..b)` returns a space of the domain ThreeSpace which contains the graph of the parametric curve `x = f(t)`, `y = g(t)`, `z = h(t)` as `t` ranges from `min(a, b)` to `max(a, b)`; `h(t)` is the default title.

makeObject: (ParametricSpaceCurve Ex, SegmentBinding Float, List DrawOption) -> ThreeSpace DoubleFloat

`makeObject(curve(f(t), g(t), h(t)), t = a..b, l)` returns a space of the domain ThreeSpace which contains the graph of the parametric curve `x = f(t)`, `y = g(t)`, `z = h(t)` as `t` ranges from `min(a, b)` to `max(a, b)`; `h(t)` is the default title, and the options contained in the list `l` of the domain `DrawOption` are applied.

makeObject: (ParametricSurface Ex, SegmentBinding Float, SegmentBinding Float) -> ThreeSpace DoubleFloat

`makeObject(surface(f(u, v), g(u, v), h(u, v)), u = a..b, v = c..d)` returns a space of the domain ThreeSpace which contains the graph of the parametric surface `x = f(u, v)`, `y = g(u, v)`, `z = h(u, v)` as `u` ranges from `min(a, b)` to `max(a, b)` and `v` ranges from `min(c, d)` to `max(c, d)`; `h(t)` is the default title.

makeObject: (ParametricSurface Ex, SegmentBinding Float, SegmentBinding Float, List DrawOption) -> ThreeSpace DoubleFloat

`makeObject(surface(f(u, v), g(u, v), h(u, v)), u = a..b, v = c..d, l)` returns a space of the domain ThreeSpace which contains the graph of the parametric surface `x = f(u, v)`, `y = g(u, v)`, `z = h(u, v)` as `u` ranges from `min(a, b)` to `max(a, b)` and `v` ranges from `min(c, d)` to `max(c, d)`; `h(t)` is the default title, and the options contained in the list `l` of the domain `DrawOption` are applied.