Re: Graphics Directives Lost In Certain Cases
- To: mathgroup at smc.vnet.net
- Subject: [mg25652] Re: Graphics Directives Lost In Certain Cases
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Wed, 18 Oct 2000 02:52:25 -0400 (EDT)
- Organization: Universitaet Leipzig
- References: <8seamo$6rm@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi, I'm not sure but you may try Show[Graphics3D[{{Line[{{0, 0, 0}, {10, 10, 10}}]}, RGBColor[0, 0, 1], AbsoluteThickness[ 2], {Line[{{0, 0, 0}, {10, 10, 10}/ 2}], {Polygon[{{5., 5., 5.}, {4., 4.306186217847897, 3.6938137821521027}, {3.6938137821521027, 4., 4.306186217847897}}]}}}], AspectRatio -> Automatic, PlotRange -> All, Lighting -> False]; ^^^^^^^^^^^^^^^^^ to see at least a blue polygon. The point is, that the lighting calculation super seeds the other color calculations. I think there is some inconsitency in Mathematica regarding colors and surface colors. In a 3d graphic I would expect, that any color is a surface color, but lines and points have no normal vector to calculate the shading. You see the inconsistence when yoy are using Plot3D[] with a color. The graphics ParametricPlot3D[{x, y, x^2 + y^2, Hue[(x^2 + y^2)/4]}, {x, -2, 2}, {y, -2, 2}] is colored but ParametricPlot3D[{x, y, x^2 + y^2, Hue[(x^2 + y^2)/4]}, {x, -2, 2}, {y, -2, 2}] not and ParametricPlot3D[{x, y, x^2 + y^2, Hue[(x^2 + y^2)/4]}, {x, -2, 2}, {y, -2, 2}, Lighting -> False] is again with colors, but a bit different from ParametricPlot3D[{x, y, x^2 + y^2, SurfaceColor[Hue[(x^2 + y^2)/8]]}, {x, -2, 2}, {y, -2, 2}] So -- always when a lighting calculation is done -- the colors are dropped. Hope that helps Jens David Park wrote: > > Dear MathGroup, > > I have come across a strange behavior of 3D graphics where graphics > directives are lost in certain cases. It has to do with a 3D arrow routine I > am working on, but here is the bare bones essence of the problem. > > The following plot gives a second thick blue line plotted on top half of the > first thin black line. > > Show[Graphics3D[ > {{Line[{{0, 0, 0}, {10, 10, 10}}]}, > RGBColor[0, 0, 1], > AbsoluteThickness[2], {Line[{{0, 0, 0}, {10, 10, 10}/2}]}}], > AspectRatio -> Automatic, PlotRange -> All]; > > If I combine the second line with this polygon, the color and thickness > directives are lost. Why? > > Show[Graphics3D[{{Line[{{0, 0, 0}, {10, 10, 10}}]}, RGBColor[0, 0, 1], > AbsoluteThickness[2], {Line[{{0, 0, 0}, {10, 10, 10}/2}], > {Polygon[{{5., 5., 5.}, {4., 4.306186217847897, 3.6938137821521027}, > {3.6938137821521027, 4., 4.306186217847897}}]}}}], > AspectRatio -> Automatic, PlotRange -> All]; > > But the directives are not lost if the second line is not right on top of > the first line. > > Show[Graphics3D[{{Line[{{0, 0, 0}, {10, 10, 10}}]}, RGBColor[0, 0, 1], > AbsoluteThickness[2], {Line[{{0, 0, 0}, {10, 10, 10.000001}/2}], > {Polygon[{{5., 5., 5.}, {4., 4.306186217847897, 3.6938137821521027}, > {3.6938137821521027, 4., 4.306186217847897}}]}}}], > AspectRatio -> Automatic, PlotRange -> All]; > > Nor are the directives lost if a different polygon is used. > > Show[Graphics3D[{{Line[{{0, 0, 0}, {10, 10, 10}}]}, RGBColor[0, 0, 1], > AbsoluteThickness[2], {Line[{{0, 0, 0}, {10, 10, 10}/2}], > {Polygon[{{5., 5., 5.}, {4., 4.306186217847897, 3.6938137821521027}, > {4., 3.6938137821521027, 4.306186217847897}}]}}}], > AspectRatio -> Automatic, PlotRange -> All]; > > Needless to say, most of the time I lose the directives. Does anyone know > the cause of this? > > David Park > djmp at earthlink.net > http://home.earthlink.net/~djmp/