Dashing problem in Graphics3D
- To: mathgroup at smc.vnet.net
- Subject: [mg35704] Dashing problem in Graphics3D
- From: Scott A Centoni <scentoni at stanford.edu>
- Date: Fri, 26 Jul 2002 04:17:05 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Hi all, I'm having a frustrating problem drawing a 3D curve with a dashed line. It seems that in Graphics3D *unlike* Graphics, a Line composed of many short segments can't properly be drawn with a dashing pattern. I can only get it to work by decimating the list of points along the curve, which is not a good solution. Has someone developed a better solution? Below I illustrate this problem with a simple example. Thanks, Scott We define simple functions to generate tables of n points in a circle circtab2d[n_]:=Table[{Sin[2 Pi x],Cos[2 Pi x]},{x,0,1,1/n}] circtab3d[n_]:=Table[{Sin[2 Pi x],Cos[2 Pi x],0},{x,0,1,1/n}] In (2D) Graphics, we can draw a nice dashed polyline (in this case, a circle) with as many segments as we want: Show[ Graphics[{ Dashing[{0.03}], Line[circtab2d[350]] }], AspectRatio->Automatic]; However, in Graphics3D, our line segments apparently need to be at least as long as the dashing period in order to be drawn properly. In this example, we need to keep the number of segments to about 30 or less to be rendered properly. Very short segments (e.g. 350) will result in a solid line without dashing. This is true for both on-screen display and printed PostScript output. Show[ Graphics3D[{ Dashing[{0.03}], Line[circtab3d[35]] }], AspectRatio->Automatic];