MathGroup Archive 2002

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

Search the Archive

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];




  • Prev by Date: Re: MatrixForm Oddity
  • Next by Date: ToExpression
  • Previous by thread: Re: Key fonts fix to Mathematica 4.2 upgrade instructions (FCP instructions)
  • Next by thread: ToExpression