ListSurfacePlot3D in Mathematica Version 6
- To: mathgroup at smc.vnet.net
- Subject: [mg80422] ListSurfacePlot3D in Mathematica Version 6
- From: John Jowett <John.M.Jowett at gmail.com>
- Date: Wed, 22 Aug 2007 04:41:46 -0400 (EDT)
Before Version 6, there was a function ListSurfacePlot3D in the Graphics`Graphics3D` package. It took a 2-dimensional array of 3D points and plotted the surface that they defined, respecting the order they came in. This was fast and very convenient in many applications. Mathematica Version 6 still contains a number of more specialised 3D plotting functions (like RevolutionPlot3D or ParametricPlot3D) that could be defined in terms of the more basic ListSurfacePlot3D by giving it certain arrays of points. However the new Version 6 kernel function called ListSurfacePlot3D is a different animal altogether: it takes a one-dimensional list of points and tries to construct a surface through them. This is a much more complicated operation and, even when you flatten the sort of 2D list that could have been given to the old ListSurfacePlot3D, the results are rarely the same (and the computing time can be much longer). In fact it fails completely in trivial modifications of the examples in the documentation, e.g., when you re-scale one dimension of the sphere example by a factor 19: ListSurfacePlot3D[ Flatten[Table[{Cos[\[Phi]] Sin[\[Theta]], 19 Sin[\[Theta]] Sin[\[Phi]], Cos[\[Theta]]}, {\[Phi], -\[Pi], \[Pi], .2}, {\[Theta], 0, \[Pi], .2}], 1], BoxRatios -> {1, 1, 1}] the algorithm is totally confused and you no longer get something that looks like a re-scaled sphere. I have searched the Version 6 documentation and cannot find anything that does what the old ListSurfacePlot3D did (except of course loading the legacy package and explicitly calling Graphics`Graphics3D`ListSurfacePlot3D). Of course, the new function has it's uses but I would like to get the predictable old one back for the frequent cases where I know how the points should be joined up to make the surface. If I'm right, I think this is a serious gap in the basic 3D graphics functionality of Version 6. It has broken some of my packages for plotting long, thin accelerator beam profiles. John Jowett