Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.math.mathematica

Topic: Re: [mg4368] ParametricPlot3D: shading?
Replies: 0  

Advanced Search

Back to Topic List Back to Topic List  
Allan Hayes

Posts: 1,508
Registered: 12/6/04
Re: [mg4368] ParametricPlot3D: shading?
Posted: Jul 19, 1996 2:59 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

lawry@maths.ox.ac.uk (James Lawry)
[mg4368] ParametricPlot3D: shading?

Is concerned that
ParametricPlot3D[{x, y, 1, Hue[x]}, {x, 0, 1}, {y, 0, 1}]
colors according to the lighting, while
Plot3D[{1, Hue[x]}, {x, 0, 1}, {y, 0, 1}]
colors according to the directive Hue[x].

James,

Firstly, we can color ParametricPlot3D[..] according to directive
by turning the lighting off.
ParametricPlot3D[{x, y, 1, Hue[x]}, {x, 0, 1}, {y, 0, 1},
Lighting -> False
]

The reason that we don't need to do this for Plot3D[...] and why
it is hidden seems to lie in the following.

Although we have
sg = Plot3D[{1, Hue[x]}, {x, 0, 1}, {y, 0, 1}]
-SurfaceGraphics-
colored according to the directive Hue[x],
with, surprisingly
Options[sg, Lighting]
{Lighting -> True}

The SurfacGraphics object stores only matrices of heights color
directives, NOT the polygons that appear in the display.Check with
List@@sg

Presumably the polygons must be constructed to be displayed.
Let's simulate this by converting sg to a Graphics3D object

sg3d = Graphics3D[sg]
-Graphics3D-
Check that the polygons are there:
List@@sg3d

AND note that the option Lighting -> False has been automatically
prepended to the list of options. We can see this without searching
all of the code:

Options[sg3d, Lighting]
{Lighting -> False, Lighting -> True}


(1) We can see the graphics code by using InputForm instead of the
List@@ trick (which I used to emphasise that no processing was
involved)

InputForm[sg]

(2) It makes the preceding more manageable if we reduce the number
of plot points, by using PlotPoints -> 3 for example.

(3) Try

Show[sg3d, Lighting -> True]


Allan Hayes
hay@haystack.demon.co.uk








Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.