MathGroup Archive 2011

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

Search the Archive

Villarceau circles of a torus

  • To: mathgroup at smc.vnet.net
  • Subject: [mg123238] Villarceau circles of a torus
  • From: Chris Young <cy56 at comcast.net>
  • Date: Mon, 28 Nov 2011 05:54:18 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com

Just want to pass along a way to investigate the geometry of various
shapes via MeshFunctions. In this case, we're looking at tori and
Villarceau circles.

It's not too hard to just get all the slanted slices in a function:
just take the function for horizontal mesh, z, and slant it,  z +
Tan[tilt] x.

By varying the number of mesh points, we can see there's only one slice
that will give two equal halves, and intersecting circles appear only
in that case. Could vary the cross-section of the torus to see that
tangency only holds for the case of a circular-cross-section.

http://home.comcast.net/~cy56/Villarceau.nb

http://home.comcast.net/~cy56/Villarceau.tiff

http://home.comcast.net/~cy56/Villarceau2.png

torus[c_, a_, \[Theta]_, \[Phi]_] := {
Cos[\[Theta]] (c + a Cos[\[Phi]]),
Sin[\[Theta]] (c + a Cos[\[Phi]]),
 a Sin[\[Phi]]}


Manipulate[
 Show[
  Graphics3D[
   {
    {Gray, Sphere[{0, 0, 0}, sphereR]},
    {Red, Sphere[{c, 0, 0}, sphereR]}
    }
   ],
  ParametricPlot3D[
   torus[c, a, u, v], {u, 0, 2 \[Pi]}, {v, 0, 2 \[Pi]},
   MeshFunctions -> {{x, y, z, \[Theta], \[Phi]} \[Function]
      z + Tan[tilt] x},
   Mesh -> mesh,
   MeshStyle -> Tube[tubeR],
   PlotStyle -> {Orange, Opacity[opac]},
   PlotPoints -> plotPts
   ] ,

  Axes -> True,
  AxesLabel -> {"x", "y", "z"},
  PlotRange -> {{-4, 4}, {-4, 4}, {-3, 3}},
  PlotRangePadding -> 0.1,
  BoxRatios -> {8, 8, 6},
  ViewPoint ->
   {
    viewR Cos[view\[Theta]] Sin[view\[Phi]],
    viewR Sin[view\[Theta]] Sin[view\[Phi]],
    viewR Cos[view\[Phi]]
    },
  PlotLabel -> Row[{"ArcSin[a/c] = ", N[ArcSin[a/c]]}]
  ],
 {{c, 3}, 0, 4},
 {{a, 1}, 0, 3},
 {{sphereR, 0.1}, 0, 0.5},
 {{tubeR, 0.05}, 0, 0.5},
 {{opac, 0.5}, 0, 1},
 {{mesh, 1}, 0, 16, 1},
 {{tilt, N[ArcSin[a/c]]}, 0, \[Pi]/2, \[Pi]/36},
 {{plotPts, 50}, 0, 100, 5},
 {{viewR, 100}, 0, 100, 5},
 {{view\[Theta], \[Pi]/2}, 0, 2 \[Pi], \[Pi]/36},
 {{view\[Phi], \[Pi]/2}, 0, \[Pi], \[Pi]/36}
 ]




  • Prev by Date: Ragged region boundary
  • Next by Date: Re: How to integrate a function over a polygon
  • Previous by thread: Re: Ragged region boundary
  • Next by thread: Set page width for Put; or is there a stream associated with Put