Re: Urgent Help needed

*To*: mathgroup at smc.vnet.net*Subject*: [mg20409] Re: [mg20390] Urgent Help needed*From*: Daniel Lichtblau <danl at wolfram.com>*Date*: Tue, 26 Oct 1999 00:32:58 -0400*References*: <199910180640.CAA02254@smc.vnet.net.>*Sender*: owner-wri-mathgroup at wolfram.com

Vladimir Tsyrlin wrote: > > Given the implcit form of a curve, i.e. F(x,y,z) = 0, do you know how to > find the curvature of F at a point in 3D space? All the references I have > assume F is in parametric form and take the standard differential geometry > approach. > > -- > ************************************************** > *************Vladimir Tsyrlin ******************* > vtsyrlin at cs.rmit.edu.au vtsyrlin at ozemail.com.au > ****************************************************** First, you need two functions, otherwise you have an implicitly defined surface. So we suppose we have a curve given implicitly by {f[x,y,z]==0, g[x,y,z]==0}. We may parametrize almost everywhere by the x coordinate. So we implicitly regard y and z as functions of x, take derivatives of the defining equations, and we get two equations from which we may solve for dy/dx and dz/dx. Thus a tangent to the curve, v[x], is {1,dy/dx,dz/dx} and its length is the speed of the parametrization. Next we divide by speed to get a unit tangent T[x]. A formula for curvature, taken from any calc text (I am embarrassed to admit I had to look this up) is 1/|v[x]| * |dT[x]/dx| Here is a simple example where our curve is the intersection of the unit sphere with a plane through the origin. funcs = {x^2+y^2+z^2, x+2*y+3*z}; norm[vec_] := Sqrt[vec.vec] diffs = Map[Dt[#,x]&, funcs] /. {Dt[z,x]->zprime, Dt[y,x]->yprime}; vel = {1,yprime,zprime} /. First[Solve[diffs == 0, {yprime,zprime}]]; speed = norm[vel]; unitTan = vel/speed; unitTanDeriv = D[unitTan,x]; curvature = 1/speed * norm[unitTanDeriv]; In[34]:= InputForm[Simplify[curvature]] Out[34]//InputForm= (Sqrt[14]*Sqrt[(3*y - 2*z)^2/(13*x^2 - 4*x*y + 10*y^2 - 6*x*z - 12*y*z + 5*z^2)^2])/Sqrt[1 + (-2*x + y)^2/(3*y - 2*z)^2 + (-3*x + z)^2/(3*y - 2*z)^2] Daniel Lichtblau Wolfram Research

**References**:**Urgent Help needed***From:*"Vladimir Tsyrlin" <vtsyrlin@ozemail.com.au>