A way to fix coloring
- Subject: [mg3201] A way to fix coloring
- From: reinsch at tops.lbl.gov (Matthias Reinsch)
- Date: 18 Feb 1996 03:56:13 -0600
- Approved: usenet@wri.com
- Distribution: local
- Newsgroups: wri.mathgroup
- Organization: Lawrence Berkeley Laboratory, Berkeley CA
- Sender: daemon at wri.com
are colored incorrectly (see ProblemPlot below). Enclosed in this message is FastFixColoring, a solution to this problem. I have already notified WRI about this, and they suggested I provide this information to other sites so that users who need correctly colored plots can generate them. ====================================================================== An example of a plot in which the coloring has errors: ====================================================================== f = N @ ComplexExpand @ Expand[SphericalHarmonicY[6, 3, th, ph] - SphericalHarmonicY[6,-3, th, ph] ] ProblemPlot = ParametricPlot3D[ (1+.2 f Sin[6/11 Pi]) * {Sin[th] Cos[ph],Sin[th] Sin[ph],Cos[th]}, {th,0,Pi},{ph,0,2 Pi}] ====================================================================== The corrected plot: ====================================================================== FastFixColoring[gr3D_] := (viewpt = ViewPoint /. gr3D[[2]]; Graphics3D[ Flatten @ Map[ (p4 = #[[1]]; p42=Drop[p4,{2}]; p44=Drop[p4,{4}]; m={viewpt,p4[[1]],p4[[1]]}; If[ Det[m-p44] Det[m-p42] < 0, {Polygon @ p44, Polygon @ p42}, {#}])&, gr3D[[1]] ], gr3D[[2]] ] ) Show @ FastFixColoring @ ProblemPlot