MathGroup Archive 2001

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

Search the Archive

RE: How to produce "thick" lines in 3D?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg29433] RE: [mg29412] How to produce "thick" lines in 3D?
  • From: "David Park" <djmp at earthlink.net>
  • Date: Tue, 19 Jun 2001 05:35:48 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

Jose,

I tried to write to you privately but your server rejects any email from my
domain. So, I am posting this on MathGroup in the hope that you will receive
it.

Are you sure you don't mean that you used ParametricPlot3D?

With ParametricPlot3D you can put the graphics directives as a 4th argument
in the parametrization. (This is a strange way to do it, but that is what
Mathematica does.)

So, this plots a thick blue circle...

Needs["Graphics`Colors`"]

ParametricPlot3D[{Cos[t], Sin[t], 0, {Blue, AbsoluteThickness[2]}}, {t, 0,
      2 Pi}];

If you are doing a lot of 3D drawing and trying to combine lines, points and
surfaces, and also use Wireframe, then you may wish to try out my
DrawingCube packages, available at my web site. They allow you to combine
graphics produced by different plot types all in one statement without
producing side plots, and allow you to combine directives and elements in a
natural way. In essense, you just draw one thing after another.

Here is an example of drawing a wireframe upper spherical hemisphere and
adding a blue thick line at the base, using the DrawingCube packages.

Needs["Graphics`DrawingCube`"]
Needs["Graphics`ParametricDrawing3D`"]
Needs["Graphics`DrawingShapes`"]

circle[t_] := {Cos[t], Sin[t], 0}
sphere[u_, v_] := {Cos[u]Cos[v], Sin[u]Cos[v], Sin[v]}

Show[Graphics3D[
	{UseWireFrame[
          ParametricDraw3D[Evaluate[sphere[u, v]], {u, 0, 2 Pi}, {v, 0,
Pi/2},
             PlotPoints -> {31, 13}]],
        Blue, AbsoluteThickness[2],
        ParametricDraw3D[Evaluate[circle[t]], {t, 0, 2 Pi}, PlotPoints ->
31]
        }],

AspectRatio -> Automatic, PlotRange -> All,
{}];

Notice that with DrawingCube I could just add the graphics directives for
the circular line before the ParametricDraw3D statement. In the DrawingPaper
and DrawingCube routines "Plot" is replaced by "Draw" and otherwise the
routines behave just like the regular routines.

If you do download the packages, put them in the
AddOns/ExtraPackages/Graphics directory. You may have to create the Graphics
directory there. Then they behave just like the standard packages.

David Park
djmp at earthlink.net
http://home.earthlink.net/~djmp/

> From: Jose Capco [mailto:jcapco at mathematik.uni-ulm.de]
To: mathgroup at smc.vnet.net
>
> Dear NG,
>
> I am using ImplicitPlot3D to plot curved line, and circles in
> three dimensions
> (this is a crude way, I plot for instance {Cost,Sint,0} to plot a
> circle lying
> on the xy plane.. is there a package that does this for any
> polygon also?).
> But how is one able to make these circles "thick"? There is no
> thickness in
> Mathematica. This is a problem in design too, for instance if one wants to
> design the wireframe of a car or some engineering design then
> this problem I
> think arises. I am hoping for some suggestions.
>
> Sincerely,
> Jose Capco
>
>



  • Prev by Date: MathLink and MPI
  • Next by Date: Re: Nonlinear fit versus FindMinimum
  • Previous by thread: Re: How to produce "thick" lines in 3D?
  • Next by thread: Re: How to produce "thick" lines in 3D?