       Re: Surface graphics (Plot4D) coloring question

• To: mathgroup at smc.vnet.net
• Subject: [mg31858] Re: Surface graphics (Plot4D) coloring question
• From: "Ersek, Ted R" <ErsekTR at navair.navy.mil>
• Date: Fri, 7 Dec 2001 05:56:55 -0500 (EST)
• Sender: owner-wri-mathgroup at wolfram.com

```Mak Diamond wrote:
I have reason to calculate the volume over a (non-centred) circular area of
a bivariate normal distribution (BND). By non-centred, I simply mean that
the centre of the disc does not correspond with the means of the two normal
distributions. ....... I would like to construct a surface graphic (probably
with Plot3D or ListPlot3D) of the BND, but then I would like to color a part
of the suface (the part being defined by the underlying disc) in a
distinctive colour (I should probably say "distinctive colours" since
keeping some part of the Lighting as well as grid would be nice). Has anyone
done something like this before? I searched the archive but found no similar
question.
-----------------------

http://www.mathsource.com/Content/Enhancements/Graphics/3D/0211-116
and I think you need to put the package in a folder included in the list you
get after evaluating (\$Path). The function in the package doesn't have a
DisplayFunction option.  In fact it only has a few options in all, and I
don't think it's well designed.  However it does make nice looking results!

In:=
Needs["Graphics`phasePlot3D`", "phasePlot3D.m"]

-------------
Here I define a bivariate normal PDF.

In:=
NormalPDF[x1_, x2_]:=E^((-(x1*((4*x1)/3 - (2*x2)/3)) -
x2*((-2*x1)/3 + (4*x2)/3))/2)/(Sqrt*Pi);

--------------
Suppose you want to show the portion above a circle with radius 0.9 centered
at
{x1, x2}={1, -1}.  In that case the code below will do what you want.

In:=
InsideCircleQ[ {x1_, x2_} ]:=
Which[Sqrt[{x1-1, x2+1}.{x1-1, x2+1}]<0.9, 1, True, 2];
Yes[{x1_, x2_}]:=NormalPDF[x1, x2]+0.002;
No[{x1_, x2_}]:=-0.1;

In:=
gr1=Graphics3D[ Plot3D[ NormalPDF[ x1, x2 ], {x1, -3, 3}, {x2, -3, 3},
PlotRange->{0, 0.184}, PlotPoints->30, DisplayFunction->Identity ]
];
gr2=phasePlot3D[InsideCircleQ, {Yes, No}, {x1, -3, 3}, {x2, -3, 3},
PlotRange->{0, 0.184}, PlotPoints->30 ];
gr2=Insert[gr2, SurfaceColor[RGBColor[1.0,0.8,0.8]], {1, 1} ];
Show[gr1, gr2, DisplayFunction->\$DisplayFunction];

(* Graphics not shown *)

If you have questions I can explain how the code above works.
------------------
Regards,
Ted Ersek
Check Mathematica Tips, Tricks at
http://www.verbeia.com/mathematica/tips/Tricks.html

```

• Prev by Date: Re: scope all wrong? in Mathematica 4.1
• Next by Date: Re: scope all wrong? in Mathematica 4.1
• Previous by thread: Penrose Seasons Greetings
• Next by thread: Re: Re: No joy using gcc 2.95.3 + MathLink v3r9 + Windows 2000 SP2