MathGroup Archive 2000

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Re: 3D graphics

  • To: mathgroup at smc.vnet.net
  • Subject: [mg22799] Re: [mg22720] Re: 3D graphics
  • From: "Allan Hayes" <hay at haystack.demon.co.uk>
  • Date: Sun, 26 Mar 2000 02:58:48 -0500 (EST)
  • References: <8bhvn1$noc@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Comparison of the following postings for time and picture quality suggests
that there is some interesting work to be done on this kind of problem.


Needs["Graphics`ContourPlot3D`"]


f[x_?NumericQ, y_?NumericQ, z_?NumericQ] := If[x^2 + y^2 + z^2 <= 1., 1.,
0.]

Jens-Peer Kuska:

ContourPlot3D[f[x, y, z], {x, -1.1, 1.1}, {y, 0, 1.1}, {z, -1.1, 1.1},
      Contours -> {0.5}] // Timing // First

        15.98 Second

Bojan Bistrovic:

ContourPlot3D[f[x, y, z], {x, -1.1, 1.1}, {y, 0, 1.1}, {z, -1.1, 1.1},
      Contours -> {0.5},
      PlotPoints -> {4, 6}] // Timing // First

        95.41 Second

Bojan Bistrovic:

ContourPlot3D[fun[x, y, z], {x, -1.1, 1.1}, {y, 0, 1.1}, {z, -1.1, 1.1},
    Contours -> {0.5},
    PlotPoints -> {7, 9}] // Timing//First

    1695.88 Second

(My machine is clearly much slower than Bojan's)


Allan Hayes:

f1[p__] := (Plus @@
        f @@@ Transpose[{p} +
              Transpose[{{0, 0, 0}, {d, 0, 0}, {-d, 0, 0}, {0, d, 0},
{0, -d,
                    0}, {0, 0, d}, {0, 0, -d}}]])/7.0

d = .2; ContourPlot3D[f1[x, y, z] ,
{x, -1.2, 1.2}, {y, 0, 1}, {z, -1.2, 1.2},
      Contours -> {.5}] // Timing // First


        18.84 Second

Allan
---------------------
Allan Hayes
Mathematica Training and Consulting
Leicester UK
www.haystack.demon.co.uk
hay at haystack.demon.co.uk
Voice: +44 (0)116 271 4198
Fax: +44 (0)870 164 0565



"Bojan Bistrovic" <bojanb at python.physics.odu.edu> wrote in message
news:8bhvn1$noc at smc.vnet.net...
> > Hi,
> >
> > since your function jump from 0 to 1 you can simply use a
> > ContourPlot3D[] with
> > contourlevel 1/2
> >
> > Needs["ContourPlot3D`"]
> >
> > fun[x_?NumericQ, y_?NumericQ, z_?NumericQ] :=
> >   If[N[x^2 + y^2 + z^2] < 1., 0., 1.]
> >
> >
> > ContourPlot3D[fun[x, y, z],
> >   {x, -1.1, 1.1}, {y, -1.1, 1.1}, {z, -1.1, 1.1}, Contours -> {0.5}]
> >
> > Regards
> >   Jens
> >
> > Bernhard Adams wrote:
> > >
> > > Hi everybody,
> > >
> > > I would like to plot a body in 3D whose volume is defined by a
function
> > > f[x,y,z] which returns 1 if (x,y,z) is inside the body and 0 if
outside.
> > > How to plot this?
> > >
> > > Thanx, Bernhard Adams
> >
> You'll probably wan't to change the default option PlotPoints->{3,5} to
get
> the better quality of the output. This will naturally increase the time
needed
> so be careful:
>
> In[10]:= ContourPlot3D[fun[x, y, z],
>    {x, -1.1, 1.1}, {y, -1.1, 1.1}, {z, -1.1, 1.1}, Contours ->
{0.5}]//Timing
>
> Out[10]= {4.21 Second, - Graphics3D - }
>
> In[11]:= ContourPlot3D[fun[x, y, z],
>   {x, -1.1, 1.1}, {y, -1.1, 1.1}, {z, -1.1, 1.1}, Contours -> {0.5},
>     PlotPoints->{4,6}]//Timing
>
> Out[11]= {18.48 Second, - Graphics3D - }
>
> This one is alreasy recognisable as sphere, but it's still far from
perfect:
>
> In[12]:= ContourPlot3D[fun[x, y, z],
>   {x, -1.1, 1.1}, {y, -1.1, 1.1}, {z, -1.1, 1.1}, Contours -> {0.5},
>     PlotPoints->{5,7}]//Timing
>
> Out[12]= {56.83 Second, - Graphics3D - }
>
> In[13]:= ContourPlot3D[fun[x, y, z],
>   {x, -1.1, 1.1}, {y, -1.1, 1.1}, {z, -1.1, 1.1}, Contours -> {0.5},
>     PlotPoints->{6,8}]//Timing
>
> Out[13]= {145.6 Second , - Graphics3D - }
>
> One that looks good is
>
> In[14]:= ContourPlot3D[fun[x, y, z],
>   {x, -1.1, 1.1}, {y, -1.1, 1.1}, {z, -1.1, 1.1}, Contours -> {0.5},
>     PlotPoints->{7,9}]//Timing
>
> Out[13]= {278.31 Second, , - Graphics3D - }
>
> Bye, Bojan
>
> --
> ---------------------------------------------------------------------
> Bojan Bistrovic,                                      bojanb at jlab.org
> Old Dominion University, Norfolk VA & Jefferson Lab, Newport News, VA
> ---------------------------------------------------------------------
>
>






  • Prev by Date: ADMIN: Newsgroup and Mailing List off-line for three days
  • Next by Date: Hyperlink Color and Palette
  • Previous by thread: Re: Re: 3D graphics
  • Next by thread: Re: Re: Re: 3D graphics