RE: Normal vector on a surface
- To: mathgroup at smc.vnet.net
- Subject: [mg29282] RE: [mg29269] Normal vector on a surface
- From: "David Park" <djmp at earthlink.net>
- Date: Mon, 11 Jun 2001 04:38:25 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Dear Matthias, Here is one method for obtaining a unit vector field normal to your surface. Parameterize your surface as what is called a patch in differential geometry. X[u_,v_]:= {u,v,(your expression with u and v for x1 and y1)} Then you can obtain two independent tangent vectors to the surface by taking the derivative of X, first with respect to u and then with respect to v. eu[u_,v_] = D[X[u,v],u] ev[u_,v_] = D[X[u,v],v] These two vectors are not orthogonal, but for the moment that doesn't matter. You can then calculate the normal vector field by using a cross product and making a unit vector of the result. Cross[eu[u_,v_],ev[u_,v_] eN[u_,v_]=%/Sqrt[%.%] Now, for the plotting. This is a little difficult with regular Mathematica because if has no Arrow3D routine. But I have the routines for making a nice plot and these are available at my web site (except for one which I will send to you if you wish). The packages are DrawingCube, ParametricDrawing3D and DrawingArrows. DrawingArrows has an Arrow3D routine in it, which is similar to the regular Arrow routine. DrawingCube makes it easy to combine various elements into one plot, such as your surface and the arrows. If you download the packages, they should be placed in the AddOns/ExtraPackages/Graphics directory. You may have to create the Graphics directory there. Then they behave just like the standard packages. I made up a notebook which draws the surface with the normal vector field on it using these packages. I will send it to you if you are interested in trying the packages. I can also show you how to draw a tangent plane at one point along with the vector triad that goes with that point. One other package that I used was one that was posted by Allan Hayes & Hartmut Wolf a month or so ago on MathGroup. It is called Smooth3D. It is useful in this way. I wanted to put a normal vector at each intersection of the "mesh" lines. However we don't want too many vectors because it will take too long and the plot will be cluttered. On the other hand, we want to use enough points in plotting the surface to make it smooth. Smooth3D allows you to suppress the regular "mesh" lines and then plot new, more widely spaced lines. This makes a much better looking plot. I can send you the Smooth3D package along with the notebook. I slightly modified it so that it goes in the ExtraPackages/Graphics directory, just like the other graphics packages. So, if you are interested in pursuing this approach I will send you the material. David Park djmp at earthlink.net http://home.earthlink.net/~djmp/ > -----Original Message----- > From: Matthias.Bode at oppenheim.de [mailto:Matthias.Bode at oppenheim.de] To: mathgroup at smc.vnet.net > Sent: Saturday, June 09, 2001 3:09 AM > To: mathgroup at smc.vnet.net > Subject: [mg29282] [mg29269] Normal vector on a surface > > > Dear Colleagues, > > I have a function in the variables x1 and y1: > > Out[27]= > 19.74211746962547 - 61.78321746073334* > x1 + 70.84823523445556*x1^2 - > 34.64681309362152*x1^3 + > 5.822595947190386*x1^4 - > 61.783217460733795*y1 + > 188.56171712734522*x1*y1 - > 208.7457484391798*x1^2*y1 + > 99.21114279328117*x1^3*y1 - > 16.223098505477388*x1^4*y1 + > 70.8482352344551*y1^2 - > 208.7457484391805*x1*y1^2 + > 225.08774661852397*x1^2*y1^2 - > 103.5151716236312*x1^3*y1^2 + > 16.351931921608763*x1^4*y1^2 - > 34.64681309362163*y1^3 + > 99.21114279328117*x1*y1^3 - > 103.51517162363109*x1^2*y1^3 + > 45.654124756950296*x1^3*y1^3 - > 6.928857192755963*x1^4*y1^3 + > 5.822595947190411*y1^4 - > 16.22309850547743*x1*y1^4 + > 16.351931921608763*x1^2*y1^4 - > 6.928857192755952*x1^3*y1^4 + > 1.0137658500940734*x1^4*y1^4 > > > This function yields a surface very similar to Sin[x1*y1] for 1<x1<3 and > 1<y1<3. > > Now I want to calculate (how?) and draw (how?) several "Normalenvektors" > (sorry, I do not know the English termini technici) which should > sit smugly > - like palisades - on the plane tangential to the surface. > > The "Normalenvektor" N in point P - according to > Bronstein-Semendjajew - is > a unity vector perpendicular to the tangential plane; its accompanying > vectors e1 and e2 on the plane form a "right-handed system". N, e1 and e2 > are referred to as the "accompanying tripod". - I understand the words but > not their meaning. > > My attempts with Calculus`VectorAnalysis` and PlotVectorField3D &c. failed > dismally. > > Thank you for your assistance, > > Matthias Bode > Sal. Oppenheim jr. & Cie. KGaA > Koenigsberger Strasse 29 > D-60487 Frankfurt am Main > GERMANY > Tel.: +49(0)69 71 34 53 80 > Mobile: +49(0)172 6 74 95 77 > Fax: +49(0)69 71 34 6380 > E-mail: matthias.bode at oppenheim.de > Internet: http://www.oppenheim.de