MathGroup Archive 2001

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

Search the Archive

Re: Function Coloring with ParametricPlot3D

  • To: mathgroup at smc.vnet.net
  • Subject: [mg31271] Re: Function Coloring with ParametricPlot3D
  • From: "Ersek, Ted R" <ErsekTR at navair.navy.mil>
  • Date: Fri, 26 Oct 2001 04:28:11 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

David Park wanted to use ParametricPlot3D with a fourth argument to specify
the color of Polygons and ensure only two colors are used in the resulting
graphic. David found that the straight forward approach in the code below
uses four colors.
------------

Needs["Graphics`Colors`"] 
cfun[x_, y_] :=
 Module[{val = Sqrt[x^2 + y^2]}, 
     Which[ val <= 7, PaleGreen, val > 7, OrangeRed]
 ]

ParametricPlot3D[ {x, y, 0, cfun[x,y]}, {x,0,10}, {y,0,10}, 
  Lighting->False];

--------------
Below I compute the average of the four corners of each polygon outside the
plot command.  I think my approach here is an example of efficient
functional programming in Mathematica.
--------------

Clear[cfun];
cfun[x_, y_,_]:=Module[{val = Sqrt[x^2 + y^2]}, 
  Which[ val <= 7, PaleGreen, val > 7, OrangeRed]
];

Block[{$DisplayFunction = Identity}, 
    gr = ParametricPlot3D[{x, y, 0}, {x, 0, 10}, {y, 0, 10}];
    average = Apply[Plus[##]/4.0&, gr[[1, All, 1]], {-3}];
    Part[gr,1] = Transpose[ {cfun@@@average, First[gr]} ]
];
Show[gr, Lighting->False];

--------------
Some may be wondering what the {-3} inside Apply does. This is a level
specification. For an explanation of that look up "Level specification" on
my website.  Also ## is SlotSequence[1] which is also explained on my
website 
http://www.verbeia.com/mathematica/tips/Tricks.html

------
Regards,
Ted Ersek



  • Prev by Date: Re: Function Coloring with ParametricPlot3D
  • Next by Date: FW: Carriage Return oddity in Mathematica (follow-up)
  • Previous by thread: Re: Function Coloring with ParametricPlot3D
  • Next by thread: Re: Function Coloring with ParametricPlot3D