# TopLevelDrawFunctions ExΒΆ

draw.spad line 629 [edit on github]

Ex: Join(ConvertibleTo InputForm, SetCategory)

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.