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