Smarter 3D listplot clipping
- To: mathgroup at smc.vnet.net
- Subject: [mg15945] Smarter 3D listplot clipping
- From: Dan Truong <dtruong at irisa.fr>
- Date: Wed, 17 Feb 1999 23:34:08 -0500
- Organization: IRISA, FRANCE
- Sender: owner-wri-mathgroup at wolfram.com
In Short: A question for Graphics3D/ListPlot3D knowledgeable people... I want the Ideal clipping below, not regular mathematica clipping. > Before: > ___ > __/\__\ > \_\/ > > Regular Clipping: > ___ > /\__\ > \/ > > Ideal: (how to do that?) > ___ > \__\ > Work setting: I have to display 3D plots for non square arrays. I use a square array, but zero values are meaningless. When I plot the curve however zero values change the look of the curve (making it harder to read). I want to clip-out zero samples ideally: Zero samples should not change the curves. Regular clipping however clip the curve when it reaches zero, which means the drop (see Reg. figure) is visible, clipping only the flat zero values (Before figure). I don't want the drops towards clipped regions drawn at all (3rd fig). Note: I am stacking multiple ListPlot3D in the same figure (that's why erratic drops bug me, since the surfaces do not have any reason to cross), so the ListPlots are already converted to Graphics3D. I also use the neat colorization scheme given by jtischer on the forum a couple of weeks ago. Has someone found a solution to this problem? Would it be possible in Graphics3D to search for all polygons with a corner having z < clipped region, and to remove those? (I expect it to be harder to do while in ListPlot format (?) ) If so, how could this be done (ie enumerate all polygons in a Graphics3D object and delete those we wish), and could it be implemented as a function like: clippedFig3D = True3DClip[fig3D]; Show[clippedFig3D]; Dan-