implicitplot and implicitplot3d

Very often, you will be asked to produce the graphs of equations where no variable is defined explicitly in terms of the others. (For example, this is what implicit differentiation is all about).  It is often difficult or impossible to solve for one of the variables in the equation, so you couldn't use Maple's
plot command to draw the graph.  But Maple provides the commands implicitplot (for plotting curves in the plane) and implicitplot3d (for drawing surfaces in space) that deal with such equations.

>   restart;

Both of these commands are stored in Maple's "plots" library, so to use them you must first type:

>   with(plots,implicitplot);

[implicitplot]

or

>   with(plots,implicitplot3d);

[implicitplot3d]

or simply

>   with(plots):

Warning, the name changecoords has been redefined


The syntax is pretty straightforward. The simplest example is to plot the circle
x^2+y^2 = 1, which is done as follows:

>   implicitplot(x^2+y^2=1,x=-1..1,y=-1..1,scaling=constrained);

[Maple Plot]


(the "scaling=constrained" option forces Maple to plot using the same scale on both axes, so the circle wouldn't look like an ellipse).
You see from this how the syntax works: First comes the equation to be plotted, then the ranges of the variables.  One option that is occasionally useful is the "
grid" option -- use this if the first plot Maple produces looks jagged or out of focus. It causes Maple to choose more dots to connect. The syntax for this is:

>   implicitplot(x^3-y^3=2*x*y,x=-1.5..1,y=-1..1.5,grid=[25,25],thickness=2);

[Maple Plot]


 
implicitplot3d works the same way as implicitplot, except there is one more variable to contend with. For example, here is a sphere in three dimensions:

>   implicitplot3d(x^2+y^2+z^2=1,x=-1..1,y=-1..1,z=-1..1,grid=[12,12,12],scaling=constrained);

[Maple Plot]

WARNING! Implicitplot3d plotting is very memory intensive! Maple has to calculate and store the values of the left and right sides of the equation at a lot of points (for instance, for "grid=[12,12,12]" it's 12*12*12=1728 points). Increasing the grid size too much can cause your machine to run out of memory, so be careful.