trouble with SurfaceColor
- To: mathgroup at smc.vnet.net
- Subject: [mg19305] trouble with SurfaceColor
- From: Tom Burton <tburton at brahea.com>
- Date: Sat, 14 Aug 1999 01:45:25 -0400
- Sender: owner-wri-mathgroup at wolfram.com
Hello all,
I'm trying to impose a pattern on a surface graphic. Here is an example of
what I am trying to do.
ListPlot3D[
Table[func[kx,ky], {kx, 0, kMag, kMag/n}, {ky, 0, kMag, kMag/n}],
Map[SurfaceColor[GrayLevel[#1], RGBColor[1, 1, 0], 2] & ,
Table[If[kx^2 + ky^2 < \[Omega]^2/c^2, 0.6, 0.8],
{kx, kMag/(2*n), kMag - kMag/(2*n), kMag/n},
{ky, kMag/(2*n), kMag - kMag/(2*n), kMag/n}],
{2}],
various_options
]
Note that I assign colors directly to polygons, because my color-directory
array is 1 smaller than my function array.
I am presented with a sequence of messages starting so,
SurfaceColor::color:
SurfaceColor[GrayLevel[0.6],
RGBColor[1, 1, 0], 2]
is not a valid color or gray-level
specification.
SurfaceGraphics::color:
SurfaceColor[GrayLevel[0.6],
RGBColor[1, 1, 0], 2]
is not a valid color or gray-level
specification.
...
and then a miscolored surface. I get stuck here, because
"SurfaceColor[GrayLevel[0.6], RGBColor[1, 1, 0], 2]"
is one of the allowed forms, according to all of my references. I've also tried
"SurfaceColor[RGBColor[0, .4, .5], RGBColor[1, 1, 0], 2]",
"SurfaceColor[RGBColor[0, .4, .5]]",
"SurfaceColor[GrayLevel[0.8]]", and
"GrayLevel[0.8]"
Only the latter works. So I can set color, but not surface color. But I
want to set surface color, because I want lighting effects.
Has anyone been able to supply an array of SurfaceColor directives to
ListPlot3D? What's the trick?
Thanks,
Thomas E. Burton 353 Sanford Road
Brahea, Inc. Encinitas CA 92024-1508
tburton at brahea.com 760/436-7436