Re: Re: Filling Between Surfaces
- To: mathgroup at smc.vnet.net
- Subject: [mg97758] Re: [mg97700] Re: Filling Between Surfaces
- From: "David Park" <djmpark at comcast.net>
- Date: Fri, 20 Mar 2009 02:43:09 -0500 (EST)
- References: <gpqgh6$616$1@smc.vnet.net> <11225993.1237449655298.JavaMail.root@m02>
That doesn't quite work. It would work with Filling -> 1. It depends on having a horizontal surface that is everywhere between the two surfaces. It won't always be possible to find such a surface. Also, with ListPlot3D the in-between surface is shaded, which destroys the effect. The Mathematica Help for Filling says: "In filling between lists of points that do not line up, the "stems" start at points in the first list, and extend to positions that linearly interpolate between points in the second list." That seems to indicate that one could directly fill between surfaces - but apparently not. David Park djmpark at comcast.net http://home.comcast.net/~djmpark/ From: dh [mailto:dh at metrohm.com] Hi David, the following will do it: ListPointPlot3D[{data1, data2}, Filling -> 2, FillingStyle -> Directive[Opacity[.3], Gray]] Daniel David Park wrote: > Is it possible to fill between two surfaces? I can't see where the Help > specifically says one can't, but neither does it give any examples of doing > so and I believe, in fact, that one can't. It is, however, possible to fill > a surface to a specific numerical value or to Top or Bottom. > > > > Examples: > > > > data1 = Table[Sin[i + j^2] + 2, {i, 0, 3, 0.1}, {j, 0, 3, 0.1}]; > > data2 = Table[Sin[i + j^2], {i, 0, 3, 0.1}, {j, 0, 3, 0.1}]; > > > > ListPointPlot3D[{data1, data2}, > > Filling -> Bottom, > > FillingStyle -> Directive[Opacity[.3], Gray]] > > > > ListPointPlot3D[{data1, data2}, > > Filling -> {2 -> {1}}, > > FillingStyle -> Directive[Opacity[.3], Gray]] > > > > or > > > > ListPlot3D[{data1, data2}, > > DataRange -> {{0, 3}, {0, 3}}, > > RegionFunction -> Function[{x, y, z}, Norm[{x, y}] < 2.5], > > Filling -> {1 -> Bottom}, > > FillingStyle -> Directive[Opacity[.3], Gray]] > > > > > > ListPlot3D[{data1, data2}, > > DataRange -> {{0, 3}, {0, 3}}, > > RegionFunction -> Function[{x, y, z}, Norm[{x, y}] < 2.5], > > Filling -> {1 -> {2}}, > > FillingStyle -> Directive[Opacity[.3], Gray]] > > > > It is a disappointment not to have that capability because it would be a way > represent a solid volume that was filled with a kind of translucent > material. > > > > David Park > > djmpark at comcast.net > > <http://home.comcast.net/~djmpark> http://home.comcast.net/~djmpark/ >