RE: graphing in Mathematica
- To: mathgroup at smc.vnet.net
- Subject: [mg54435] RE: [mg54344] graphing in Mathematica
- From: "David Park" <djmp at earthlink.net>
- Date: Sun, 20 Feb 2005 00:10:05 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
I have to admit that getting ContourPlot3D to work relatively efficiently,
or to work at all takes a certain amount of trial and error. It helps if you
have a good idea of the actual surface.
In any case, the following works fairly well.
ContourPlot3D[
x^2 + y^2 + 4z^2 - 1, {x, -1.1, 1.1}, {y, -1.1, 1.1}, {z, -0.6, 0.6},
PlotPoints -> {4, 6},
PlotRange -> {{-1.1, 1.1}, {-1.1, 1.1}, {-0.6, 0.6}}];
If we solve for z we could try to parametrize the surface.
Solve[x^2 + y^2 + 4z^2 == 1, z]
{{z -> (-(1/2))*Sqrt[1 - x^2 - y^2]},
{z -> (1/2)*Sqrt[1 - x^2 - y^2]}}
The following does not work because of the warning messages and the ragged
edges.
ParametricPlot3D[{{x, y, (-(1/2))*Sqrt[1 - x^2 - y^2]},
{x, y, (1/2)*Sqrt[1 - x^2 - y^2]}}, {x, -2, 2}, {y, -2, 2}];
Using the DrawGraphics package at my web site we can plot in polar
coordinates and then transform to Cartesian coordinates. This will plot
faster.
Needs["DrawGraphics`DrawingMaster`"]
Draw3DItems[
{{ParametricDraw3D[{{r, \[Theta], (1/2)*Sqrt[1 - r^2]},
{r, \[Theta], (-2^(-1))*Sqrt[1 - r^2]}}, {r, 0, 1},
{\[Theta], 0, 2*Pi}]} /. DrawingTransform3D[#1*Cos[#2] & ,
#1*Sin[#2] & , #3 & ]},
BoxRatios -> {1, 1, 0.5},
Background -> Linen,
ImageSize -> 450];
As usual we obtain less than a smooth rendering near the 'equator' because
of the steepness of the z function there. The following does a somewhat
better job by a nonlinear scaling of the r parameter.
Draw3DItems[
{{ParametricDraw3D[{{s, \[Theta], (1/2)*Sqrt[1 - s^(2/3)]},
{s, \[Theta], (-2^(-1))*Sqrt[1 - s^(2/3)]}}, {s, 0, 1},
{\[Theta], 0, 2*Pi}]} /. DrawingTransform3D[#1^(1/3)*Cos[#2] & ,
#1^(1/3)*Sin[#2] & , #3 & ]},
BoxRatios -> {1, 1, 0.5},
Background -> Linen,
ImageSize -> 450];
David Park
djmp at earthlink.net
http://home.earthlink.net/~djmp/
From: Nick [mailto:nch2198 at louisiana.edu]
To: mathgroup at smc.vnet.net
How do I graph the function x^2+y^2+4z^2=1?
I am using Mathematica version 4 and
using ContourPlot3D doesn't work.