MathGroup Archive 2007

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

Search the Archive

Re: ListSurfacePlot3D in Mathematica Version 6

  • To: mathgroup at smc.vnet.net
  • Subject: [mg80532] Re: ListSurfacePlot3D in Mathematica Version 6
  • From: John Jowett <John.M.Jowett at gmail.com>
  • Date: Fri, 24 Aug 2007 02:05:08 -0400 (EDT)
  • References: <fagt5q$8ho$1@smc.vnet.net><fajnmk$ppq$1@smc.vnet.net>

Ulises,
      Thanks for the reply but I still do not see how to do what I
used to be able to do with the old ListSurfacePlot3D.

Let me give a very simple example: I want to draw a long thin pipe.

In Version 5.2,

Needs["Graphics`Graphics3D`"]

cyl = Table[{z, Sin[x], Cos[x]}, {x, 0, 2 Pi, Pi/10}, {z, 0, 1000,
50}];

ListSurfacePlot3D[cyl, BoxRatios -> {1, 1, 1}]

gives me a plot of a cylinder lying on its side.  (And, by the way,
the stretched-out sphere in my original post also gives me a sphere.)
This is because the old ListSurfacePlot3D takes account of the order
of the points in my 2D array of 3D points.

In Version 6.0.1, the same code (without the Needs[ ]), gives me
something that looks a bit like an unfolding of a box.  If I reduce
the 2D array to a list of points and let the function do its work:

ListSurfacePlot3D[Flatten[cyl, 1]]

I get a vertical sheet.  Moreover

ListPlot3D[cyl]

gives an empty frame and

ListPlot3D[Flatten[cyl, 1]]

gives me a wavy sheet.

The new ListSurfacePlot3D will show a cylinder but only when I make
the length comparable to the diameter so that its algorithms can sort
out how the points join up to make a surface.  But in examples like
mine (which are pretty common, I think) I just don't need that extra
layer of algorithm because I already know how they join up.  See the
elegant function MakePolygons used inside the old ListSurfacePlot3D.

I may be misunderstanding something but I see no way to plot my pipe
without restoring functions from the legacy package.  Can anyone
enlighten me ?

John Jowett






On Aug 23, 12:31 pm, ulises <uli... at wolfram.com> wrote:
> The functionality provided by ListSurfacePlot3D in V5 has being
> incorporated in ListPlot3D and even ListContourPlot and
> ListDensityPlot.
>
> You can plot a list of irregular 3-D points with ListPlot3D, and it is
> orders of magnitud faster than the previous one.
>
> In V6.0, ListSurfacePlot3D will try to approximate a surface on a
> cloud of points in 3D. If you scale one of the coordinates too much,
> as in your example multipliying by 19, the algorithm can not identify
> that the points are close to each other any more and it will not
> recognize it as a surface. Your data is too sparse. ListSurfacePlot3D
> is intended for scanned like data, where the distance between adjacent
> points is close enough, and it will try to identify holes on the
> surface.
>
> Ulises Cervantes
> WRI




  • Prev by Date: Re: Re: ParametricPlot3D from 5.2 to 6.0
  • Next by Date: Re: Re: fit a BinomialDistribution to exptl data?
  • Previous by thread: Re: ListSurfacePlot3D in Mathematica Version 6
  • Next by thread: Re: ListSurfacePlot3D in Mathematica Version 6