two-dimensional implicit plotting - Maple Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Graphics : Packages : plots : plots/implicitplot

plots[implicitplot] - two-dimensional implicit plotting

Calling Sequence

implicitplot(expr, x=a..b, y=c(x)..d(x), options)

implicitplot(ineq, x=a..b, y=c(x)..d(x), options)

implicitplot(f, a..b, c..d, options)

implicitplot([expr1,expr2,t], x=a..b, y=c(x)..d(x), options)

Parameters

expr

-

expression or equation depending on x and y

ineq

-

inequality depending on x and y

f

-

equation containing procedures or operators representing a function of 2 variables

expr1,expr2

-

equations or expressions in x, y and t, polynomial in t

x,y,t

-

variables

a,b,c,d

-

real constants

c(x),d(x)

-

expressions that evaluate to real constants for a fixed x value

options

-

(optional) as described in the Options section, or any plot options; see plot/options

Description

• 

The implicitplot command computes the two-dimensional plot of an implicitly defined curve.  By default, the curve is computed in Cartesian coordinates.

• 

In the first calling sequence, implicitplot(expr, x=a..b, y=c(x)..d(x)), the equation expr must have components that are expressions in the names x and y. The expr parameter can also be an expression instead of an equation, in which case the equation expr = 0 is plotted. The range a..b must evaluate to real constants, and the range c(x)..d(x) must evaluate to real constants for any fixed value of x.

• 

In the second calling sequence, implicitplot(ineq, x=a..b, y=c(x)..d(x)), the inequality can depend only upon x and y. If the inequality is strict, the border of the inequality is plotted as a dotted line, while for nonstrict it is plotted as a solid line. There is also a difference in the behavior of the filledregions option (described in the Options section).

• 

In the third calling sequence, implicitplot(f, a..b, c..d), the assumption is made that the equation f consists only of procedures or operators taking no more than two arguments. The f parameter can also be a procedure or operator instead of an equation, in which case the equation f = 0 is plotted. Operator notation must be used, that is, the procedure name is given without parameters specified, and the ranges must be given simply in the form a..b and c..d, rather than as equations.

• 

In the fourth calling sequence, implicitplot([expr1,expr2,t], x=a..b(x), y=c..d(x)), the expr1 and expr2 must be equations or expressions in the names x,y and t, and must be polynomial with respect to t. This form of call to implicitplot is equivalent to the call implicitplot(resultant(expr1,expr2,t), x=a..b(x), y=c..d(x)), except that the resultant is computed more efficiently avoiding expression growth and excessive round-off error.

• 

Because the implicitplot command samples the function being plotted and builds the final image from the sample, it does not, by default, detect discontinuities in the function. Instead, the function is interpolated across the discontinuities. To change this behavior, see the rational and signchange options (described in the Options section).

• 

For similar reasons, a sample based method cannot be used to detect isolated points which should be plotted.

• 

If expr or f is a set or list (for the first two calling sequences), then its members are plotted together. If it is a list, then particular option values can also be given as lists, with elements corresponding to elements of expr or f. The options that can take lists as values are: color, coords, grid, legend, linestyle, numpoints, style, symbol, symbolsize, thickness, and transparency.

Notes

• 

Note that implicitplot with the default settings does not do well for problems where the solution curve is very close to a region in which the expression being plotted becomes undefined or complex valued (for example expressions containing ln, where the argument can become negative). For problems of this class, the ideal approach is to increase the initial grid until points appear in the region, then increase gridrefine until the points describe a smooth curve.

Examples

withplots,implicitplot

implicitplot

(1)

Plot a circle.

implicitplotx2+y2=1,x=1..1,y=1..1

Use the operator form of the command.

p:= proc(x,y) if x<y then x^2+y^2-2 else 2*x+y-3 end if end proc:

implicitplotp&comma;2..2&comma;1..2&comma;scaling&equals;constrained

Use a different coordinate system.

implicitplotr&equals;1cos&theta;&comma;r&equals;0..2&comma;&theta;&equals;0..2&pi;&comma;coords&equals;polar

Use a set or a list to combine plots.

implicitplotx2y2&equals;1&comma;y&equals;&ExponentialE;x&comma;x&equals;&pi;..&pi;&comma;y&equals;&pi;..&pi;&comma;color&equals;NavyBlue&comma;Teal&comma;legend&equals;plot1&comma;plot2

Color the regions with blue and green.

implicitplotx2&plus;y21&comma;x&equals;1..1&comma;y&equals;1..1&comma;coloring&equals;SteelBlue&comma;DarkGreen&comma;filledregions&equals;true

Implicit plot of 4 concentric circles - very rough

fn:=x2&plus;y21x2&plus;y20.73x2&plus;y20.5x2&plus;y20.31&colon;

implicitplotfn&comma;x&equals;1.2..1.2&comma;y&equals;1.2..1.2

Use of gridrefine=2 to get a finer grid (up to [101,101])

implicitplotfn&comma;x&equals;1.2..1.2&comma;y&equals;1.2..1.2&comma;gridrefine&equals;2

Use of crossingrefine=2 to more accurately determine crossings

implicitplotfn&comma;x&equals;1.2..1.2&comma;y&equals;1.2..1.2&comma;crossingrefine&equals;2

Comparison of size for high detail plots using resolution

p1:=implicitplotfn&comma;x&equals;1.2..1.2&comma;y&equals;1.2..1.2&comma;gridrefine&equals;2&comma;crossingrefine&equals;2&colon;

p2:=implicitplotfn&comma;x&equals;1.2..1.2&comma;y&equals;1.2..1.2&comma;gridrefine&equals;2&comma;crossingrefine&equals;2&comma;resolution&equals;1000&colon;

lengthp1&comma;lengthp2

14623&comma;2399

(2)

Plot of a singular line using default linear interpolation

implicitplot1xy0.01&comma;x&equals;0..1&comma;y&equals;0..1

Improvement using rational interpolation

implicitplot1xy0.01&comma;x&equals;0..1&comma;y&equals;0..1&comma;rational

Intersection of a unit sphere and a cylinder projected into the x-y plane (two intersecting ellipses).

implicitplotx2&plus;y2&plus;z2&equals;1&comma;x&plus;z2254&plus;y2&equals;13&comma;z&comma;x&equals;1..1&comma;y&equals;1..1&comma;gridrefine&equals;3&comma;scaling&equals;constrained

Plotting of a curve that is strictly >=0

implicitplotx4&plus;2x2y22x2&plus;y42y2&plus;1&comma;x&equals;1.2..1.2&comma;y&equals;1.2..1.2&comma;factor

Plotting of the region where x^2+y^2<1 (note the dotted border)

implicitplotx2&plus;y2<1&comma;x&equals;1.2..1.2&comma;y&equals;1.2..1.2&comma;filledregions

Plotting a function where the vertical range is restricted by the horizontal variable

implicitplotyx2&comma;x&equals;0..2&comma;y&equals;0..x

A polar plot with outlines to indicate sampling grid

plots&lsqb;implicitplot&rsqb;2&pi;rt&comma;r&equals;0..1&comma;t&equals;0..2&pi;&comma;coords&equals;polar&comma;axes&equals;boxed&comma;outlines&comma;grid&equals;5&comma;5&comma;gridrefine&equals;2&comma;style&equals;point&comma;axiscoordinates&equals;polar

The command to create the plot from the Plotting Guide is

implicitplotx2y2&equals;1&comma;x&equals;&pi;..&pi;&comma;y&equals;&pi;..&pi;

See Also

plot/options, plots[implicitplot3d]


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam