MathGroup Archive 2008

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

Search the Archive

Re: How to ParametricPlot3D a plane given Normal and Distance

  • To: mathgroup at smc.vnet.net
  • Subject: [mg84694] Re: How to ParametricPlot3D a plane given Normal and Distance
  • From: "David Park" <djmpark at comcast.net>
  • Date: Thu, 10 Jan 2008 02:26:16 -0500 (EST)
  • References: <fm22bj$94u$1@smc.vnet.net>

Let d be the distance of the plane from the origin and n the normal to the
plane. Then the plane will be tangent to a sphere of radius d about the
origin. We can use the Mathematica geometric transformation routines. Draw a
plane segment in the xy-plane. Then rotate the z-axis to the n direction.
Then translate in the n direction to the suface of the sphere.

I'm going to make the diagram using the Presentations package using
particular values for d and n.

Needs["Presentations`Master`"]

With[
{d=3,
n={1,-1,1}},
Draw3DItems[
{(* Draw sphere of radius d *)
Opacity[.5,Orange],Sphere[{0,0,0},d],
(* Draw xy-plane segment, rotate to normal and translate to the sphere *)
Opacity[.8,Lighter@Blue],
ParametricDraw3D[{x,y,0},{x,-d,d},{y,-d,d},
Mesh->10]//RotationTransformOp[{{0,0,1},n}]//TranslationTransformOp[d
Normalize[n]],
(* Draw a line and 3D arrow to indicate the normal *)
Opacity[1,Black],
Line[{{0,0,0},d Normalize[n]}],
Green,
Arrow3D[d Normalize[n],2d Normalize[n]]},
NeutralLighting[0,.6,.1,40=B0],
NiceRotation,
PlotRange->2d,
Axes->True,
ImageSize->350]
]

To obtain the parametrization for the plane, so you could plot it with
ParametricPlot3D we can use:

With[
 {d = 3,
  n = {1, -1, 1}},
 TranslationTransform[d Normalize[n]]@
   RotationTransform[{{0, 0, 1}, n}]@{x, y, 0} // Simplify]

{Sqrt[3] + 1/6 (3 + Sqrt[3]) x - 1/6 (-3 + Sqrt[3]) y,
 1/6 (-6 Sqrt[3] - (-3 + Sqrt[3]) x + (3 + Sqrt[3]) y), (
 3 - x + y)/Sqrt[3]}

Unfortunately, RotationTransform will not evaluate with symbolic vectors so
it is not as easy to obtain a general symbolic parametrization.


--
David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/


"John Rivers" <first10 at btinternet.com> wrote in message
news:fm22bj$94u$1 at smc.vnet.net...
> hello
>
> this has eluded me for some reason ...
>
>
> nx = 0; ny = 0; nz = 1; (* plane's surface normal *)
>
> dist = 0; (* distance of plane from origin *)
>
> fx1 = ???;
> fx2 = ???;
> fx3 = ???;
>
> ParametricPlot3D[
> {fx1, fx2, fx3},  (* functions for x y and z coordinates *)
> {t, -10, 10},
> {u, -10, 10}
> ]
>
> what should the functions fx1 fx2 and fx3 be ?
>
> i have been playing around with:
>
> Ax + By + Cz = D
> - and -
> <x, y, z> dot <nx, ny, nz> = D
>
> but not got anywhere yet
>
> thanks
>
> John
>



  • Prev by Date: Re: BarChart Question
  • Next by Date: Re: bug -- advice sought
  • Previous by thread: Re: How to ParametricPlot3D a plane given Normal and Distance
  • Next by thread: Re: How to ParametricPlot3D a plane given Normal and Distance