MathGroup Archive 2009

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

Search the Archive

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/  

> 






  • Prev by Date: Re: Incompatible units?
  • Next by Date: Re: Re: Filling Between Surfaces
  • Previous by thread: Re: Filling Between Surfaces
  • Next by thread: Re: Re: Filling Between Surfaces