MathGroup Archive 2005

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

Search the Archive

Re: Surface Normal


gouqizi.lvcha at gmail.com schrieb:
> Hi, All:
> 
> If I have a surface in parametric form
> 
> For example,
> x = (10 + 5cosv)cosu
> y = (10 + 5cosv)sinu
> z = 5sinv
> 
> How can I quickly calculate its normal for any (u,v) by mathematica

Vector of torus surface point

X =
{(10 + 5Cos[v])Cos[u],
(10 + 5Cos[v])Sin[u],
5Sin[v]}

ParametricPlot3D[X, {u, 0, 1.5 Pi}, {v, 0, 1.5 Pi}]

Local tangent vectors

{du,dv}=D[X,#]&/@{u,v}//FullSimplify


{{-5 (2 + Cos[v]) Sin[u], 5 Cos[u] (2 + Cos[v]), 0},
{-5 Cos[u] Sin[v], -5 Sin[u] Sin[v], 5 Cos[v]}}


local normal vector (provided  du!=0, dv!=0)

dn=Cross[du,dv]//FullSimplify

{25 Cos[u] Cos[v] (2 + Cos[v]), 25 Cos[v] (2 + Cos[v]) Sin[u],
    25 (2 + Cos[v]) Sin[v]}


{du.dv,dn.du,dn.dv }

{0,0,0}

Scale factors

{du.du, dv.dv, dn.dn} // FullSimplify

{25((2 + Cos[v]))^2, 25, 625 ((2 + Cos[v]))^2})

Metric has no singularities in this parametrisation.



-- 

Roland Franzius


  • Prev by Date: Re: Surface Normal
  • Next by Date: Re: Do loops in Mathematica
  • Previous by thread: Re: Re: Surface Normal
  • Next by thread: Re: Surface Normal