Re: Is there SphericalListPlot3D?
- To: mathgroup at smc.vnet.net
- Subject: [mg125685] Re: Is there SphericalListPlot3D?
- From: Oliver Ruebenkoenig <ruebenko at wolfram.com>
- Date: Thu, 29 Mar 2012 02:56:06 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201203280958.EAA11063@smc.vnet.net>
On Wed, 28 Mar 2012, Ted Sariyski wrote: > Hi, > I have two related questions. > > 1. I have a discrete set of data, {{n1,rad1},{n2,rad2},...}, where n1,n2 > are unit vectors (directions) and rad1,rad2,... are scalars. How can I > plot rad on the unit sphere? > > 2. I would like to triangulate the sphere based on the solution {rad} so > that the mesh is denser where the rad is higher. > > Any suggestions are highly appreciated. > Thanks, > --Ted > > > > Ted, this should get you started: Needs["TetGenLink`"] (* generate some points, you have those *) nn = 1000; dlong = \[Pi]*(3 - Sqrt[5]); dz = 2/nn; long = 0; z = 1 - dz/2; pts = Table[r = Sqrt[1 - z*z]; val = {Cos[long]*r, Sin[long]*r, z}; z = z - dz; long = long + dlong; val, {i, 0, nn - 1}] // N; inInst = TetGenCreate[] TetGenSetPoints[inInst, pts] outInst = TetGenTetrahedralize[inInst, ""] coords = TetGenGetPoints[outInst]; (* +1 bug in TetGen *) surface = TetGenGetFaces[outInst] + 1; cf = ColorData["DarkRainbow"]; (* your rad should be the values *) values = Rescale[Range[Length[coords]] // N]; vc = Developer`ToPackedArray@(List @@@ (cf[#] & /@ values)); (*visualize*) Graphics3D[ GraphicsComplex[coords, Polygon[surface], VertexColors -> vc], Boxed -> False] Graphics3D[{Specularity[1, 50], EdgeForm[], GraphicsComplex[coords, Polygon[surface], VertexColors -> vc]}, Boxed -> False, Lighting -> "Neutral"] Hope this helps, Oliver
- References:
- Is there SphericalListPlot3D?
- From: Ted Sariyski <tsariysk@craft-tech.com>
- Is there SphericalListPlot3D?