Re: plotting surfaces

*To*: mathgroup at smc.vnet.net*Subject*: [mg24018] Re: plotting surfaces*From*: hwolf at debis.com*Date*: Tue, 20 Jun 2000 03:07:33 -0400 (EDT)*Organization*: debis Systemhaus*References*: <8i9oit$2b5@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

A Prashanth pg ee schrieb: > > i have a set of functions for plotting. some of them are algebraic, some > transcendental, some are explicitly solvable for z and some are not (my > functions, ofcourse, have three variables: x,y and z). > > could you tell me sir, the relavant commands for plotting these surfaces. > do i need mathematica 3.0 as well; i have rightnow the 2.2 version with > me. > > one of my functions for instance happens to be sin(xyz) +log(z) = 1, which > clearly is not solvable for z. so how would i proceed with the plot with > the version i rightnow have? > > sincerely, > prashanth. I think it's not so much a matter of the Mathematica Version (except possibly for speed); I'd advice you to (1) try to get an explicit description of your surface (z = z[x,y]); then use Plot3D (2) else try to get a parametric description (x=x[u,v], y=y[u,v], z=z[u,v]); then use ParametricPlot3D (3) else you may try << Graphics`ContourPlot3D` and ContourPlot3D[Sin[x y z] + Log[z], {x, 1/2, 2}, {y, 1/2, 2}, {z, 0.01, 10.}, Contours -> {1}, BoxRatios -> {1, 1, 1}, PlotPoints -> 7] // Timing This took approx. 7 minutes on my machine, and gives you only a short glimpse at the surface. (4) Better you try to _study_ the surfaces beforehand, e.g. do Plot[Sin[z] + Log[z], {z, 0., 10 Pi}] and p = Plot3D[Sin[x z] + Log[z], {x, 0.01, 3.}, {z, 0.01, 5 Pi}, PlotPoints -> 40] Show[p, ViewPoint -> {-1.3, -2.4, 2.}] Perhaps the best (affordable) view for that surface is with << Graphics`ImplicitPlot` ImplicitPlot[Sin[x z] + Log[z] == 1, {x, 0.01, 10.}, {z, 0.01, 8.}, PlotPoints -> 150] although this gives you only a 2-dim picture, you can see much more from this than from the 3-dim ContourPlot3D above (since the dependency on x and y is only through x*y). But if you really *need* the 3-dim plot, you could construct it from that last computation; though not complicated, that will cost you some programming work (build 3d-polygons from the 2d-line you have got). Kind regards, Hartmut Wolf