КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ МЕХАНИКО-МАТЕМАТИЧЕСКИЙ ФАКУЛЬТЕТ
КУЗЬМИНА И.А.
ДИФФЕРЕНЦИАЛЬНАЯ ГЕОМЕТРИЯ. Иссл...
193 downloads
280 Views
591KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ МЕХАНИКО-МАТЕМАТИЧЕСКИЙ ФАКУЛЬТЕТ
КУЗЬМИНА И.А.
ДИФФЕРЕНЦИАЛЬНАЯ ГЕОМЕТРИЯ. Исследование пространственных кривых с помощью пакета Mathematica (УЧЕБНО-МЕТОДИЧЕСКОЕ ПОСОБИЕ)
Казань 2007 1
Кузьмина И.А. ДИФФЕРЕНЦИАЛЬНАЯ ГЕОМЕТРИЯ. Исследование пространственных кривых с помощью пакета Mathematica. (Учебно-методическое пособие для студентов 2-го курса механико-математического факультета Казанского университета.) Казань 2007.
Пособие содержит задачи по теме “Пространственные кривые” курса “Дифференциальная геометрия”, которые исследуются с помощью пакета Mathematica. Большинство задач снабжены подробным описанием решения, приводятся команды, строятся графики.
Рецензент: Подковырин А.С., к.ф.-м.н., доцент кафедры геометрии механико-математического факультета Казанского госуниверситета
2
СОДЕРЖАНИЕ Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Построение кривых в трехмерном пространстве . . . . . . . 5 2. Вычисление длины дуги пространственной кривой . . . . . . 8 3. Кривизна и кручение пространственной кривой . . . . . . . . 11 4. Сопровождающий трехгранник Френе . . . . . . . . . . . . . . 21 Задачи на сопровождающий трехгранник пространственной кривой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Список литературы . . . . . . . . . . . . . . . . . . . . . . . . . . .33
3
Введение Предлагаемое учебно-методическое пособие составлено для студентов второго курса механико-математического факультета. Цель этой работы - исследование пространственных кривых с помощью пакета Mathematica. В методическом пособии собрано достаточное количество примеров, необходимое для усвоения раздела “Пространственные кривые” курса “Дифференциальная геометрия”. Большинство задач, предложенные составителем пособия, сопровождены подробным описанием решения. Строятся графики пространственных кривых, развертывающейся поверхности, нормальной плоскости, спрямляющей плоскости, а также поверхности, образованной всеми главными нормалями кривой. Вычисляется длина дуги пространственной кривой, кривизна и кручение кривой. Предлагаются задачи на сопровождающий трехгранник Френе. Для исследования пространственных кривых достаточно усвоить теоретический материал. Самые необходимые сведения приведены в начале каждого раздела. Список литературы, который использован при составлении методической работы, представлен на последней странице.
4
Пространственные кривые 1. Построение кривых в трехмерном
пространстве
1.1. Кривая в трехмерном пространстве задается параметрическим уравнением: r[t_]:={x[t],y[t],z[t]} Здесь t - параметр кривой.
Пример 1. Введите в следующую ячейку уравнения Вашей кривой: x[t_]:=(t^2-8t)*Cos[t] y[t_]:=(t^2+5t)*Sin[t] z[t_]:= t^3/15 Тогда r[t] t3 2 2 :I t - 8 tM cosH tL , I t + 5 tM sinH tL , > 15 Компьютер строит кривую сам (см. рисунок 1): ParametricPlot3D[Evaluate[r[t]],{t,-2Pi, 2Pi}];
10 0 -10 0 -20 -20
0 20 40
-40
Рис. 1.
Пример 2. x[t_]:= t*Cos[t] y[t_]:= t*Sin[t] z[t_]:= t^2/4 5
Тогда r[t]
:t cosH tL , t sinH tL ,
t2 4
>
Компьютер строит кривую сам: ParametricPlot3D[Evaluate[r[t]],{t,-2Pi, 2Pi}]; 0 -2 -4
-5 0 5 10
7.5 7
5
2.5 2. 0
Рис. 2. 1.2. Для того чтобы лучше понять, как выглядит кривая, надо построить проекции этих кривых на координатные плоскости. Сначала определим проекции: prXY[r_][t_]:={r[t][[1]],r[t][[2]]}; prXZ[r_][t_]:={r[t][[1]],r[t][[3]]}; prYZ[r_][t_]:={r[t][[2]],r[t][[3]]}
Пример. prXY[r][t] {t cos(t), t sin(t)} Теперь построим графики проекций (см. рисунки 3, 4, 5): PP1:=ParametricPlot[Evaluate[prXY[r][t]],{t,Pi,Pi}, PlotLabel→StyleForm["XY",FontSize→16]] PP2:=ParametricPlot[Evaluate[prXZ[r][t]],{t,Pi,Pi}, PlotLabel→StyleForm["XZ",FontSize→16]] PP3:=ParametricPlot[Evaluate[prYZ[r][t]],{t,Pi,Pi}, PlotLabel→StyleForm["YZ",FontSize→16]] 6
PP1
XY 1.75 1.5 1.25 1 0.75 0.5 0.25 -3
-2
-1
1
2
3
1
2
3
Рис. 3. PP2
XZ 1 0.8 0.6 0.4 0.2
-3
-2
-1
Рис. 4. PP3 YZ 2.5 2 1.5 1 0.5
0.25
0.5
0.75
1
1.25
1.5
1.75
Рис. 5. Выделенная точка 7
Компьютер строит выделенную точку кривой следующим образом: PlotCurveDashed[r_][t0_,t1_][n_]:= Graphics3D[{AbsoluteThickness[2], AbsoluteDashing[{1,5}], Line[Table[r[t0+k*(t1-t0)],{k,0,1,1/n}]]}]
Пример. f[t_]:={Cos[t]^3,Sin[t]^3,Cos[2t]} f1[x_]:={x,x,x} pp1=PlotCurveDashed[f][0,2Pi][15] pp2=ParametricPlot3D[Evaluate[{x,x,x}],{x,-1,1}, DisplayFunction→Identity] Show[pp1,pp2,DisplayFunction→$DisplayFunction]
Рис. 6. 2. Вычисление длины дуги пространственной
кривой
2.1. Пусть кривая задана параметрически: r[t_]:={x[t],y[t],z[t]}
Пример. f[t_]:={Cos[t],Sin[t],t/4} Ее вид: 8
ParametricPlot3D[Evaluate[f[t]],{t,-2 Pi, Pi}]
1 0.5 0 -0.5 -1 0.5 0 -0.5 -1 -1.5 -1 -0.5 0 0.5 1
Рис. 7. 2.2. Касательный вектор кривой есть tv[r_][t_]:=D[r[t],t]
Пример. tv[f][t]
:-sinH tL , cosH tL ,
1 4
>
2.3. Длина касательного вектора есть корень квадратный из его скалярного квадрата: Sqrt[tv[f][t].tv[f][t]] 1 $%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % cos2HtL + sin2 HtL + 16 FullSimplify[%]
9
è !!!!!!!
17
4
2.4. Длина простой дуги кривой от t0 до t1 есть определённый интеграл от длины касательного вектора: L[r_][t0_,t1_]:=Integrate[ Evaluate[Sqrt[tv[r][t].tv[r][t]]],{t,t0,t1}]
Пример. è !!!!!!!
L[f][a,b] è !!!!!!! 17 b 17 a 4 4
FullSimplify[%] 1 è!!!!!!! 17 Hb - aL 4 PowerExpand[%] 1 è!!!!!!! 17 Hb - aL 4 2.5. Но при вычислении длины кривой в символическом виде могут возникнуть проблемы, поэтому можно вычислить приближенное числовое значение длины: NL[r_][t0_,t1_]:=NIntegrate[ Evaluate[Sqrt[tv[r][t].tv[r][t]]],{t,t0,t1}]
Пример. NL[f][0,2Pi] 6.47656 Plot[NL[f][0,x],{x,0,2 Pi}]
10
6 5 4 3 2 1
1
2
3
4
5
6
Рис. 8. 3. Кривизна и кручение пространственной кривой
3.1. Кривизна кривой определяется так: k HtL = … @r' HtL, r '' HtLD … ê H » r' HtL »L3 Программа вычисления кривизны произвольной кривой alpha в произвольной точке M(t) выглядит так: k[alpha_][t_]:= Simplify[Factor[Cross[D[alpha[tt],tt], D[alpha[tt],{tt,2}]].Cross[D[alpha[tt],tt],D[alpha[tt], {tt,2}]]]]^(1/2)/Simplify[Factor[D[alpha[tt],tt].D[alph a[tt],tt]]]^(3/2) /. tt→t
Пример. Вычислим кривизну кривой r(t): k[r][t]//Simplify , H H208t8 - 1224t7 + 2392sinH2tL t6 -11380t6 -7800sinH2tL t5 +37104t5 94016sinH2tL t4 + 215681t4 - 7800sinH2tL t3 - 16900sinH4tL t3 + 218304t3 -31200sinH2tL t2 + 1105624t2 - 52 H2t6 - 3t5 + 108t4 - 312t3 -3392t2 - 912t -8000L cosH2tL t + 46800sinH2tL t + 33800sinH4tL t +288000t -4225 Ht4 - 8t2 + 4L cosH4tL + 416000sinH2tL + 1296900LLì
ij è!!! ij 26t4 y 97t2 13 89 y 3 j10 2 j - 3t + +39 Ht -1L sinH2tL t -6t + H2t3 - 3t2 - 4t + 3L cosH2tL + zz^H3ê 2Lzz 2 2 2{ k k 25 { 11
Подсчитаем кривизну нашей кривой в точке t=pi/2: ij ij 1 ij 215681 p4 2319 p5 2845 p6 153 p7 13 p8 j-j j1296900 + 144000 p+ 276406 p2 + 27288 p3 + + + 2 16 2 16 16 16 k k k
k[r][Pi/2]
i i p4 y 27 p4 3 p5 p6 yzyzyzyz 4225 jj4 - 2 p2 + zz + 26 pjj-8000 - 456 p- 848 p2 - 39 p3 + + zzzzì 16 { 4 32 32 {{{{ k k
ij ij 89 97 p2 3 p3 13 p4 13 ij 3 p2 p3 yzyz3ê2yz j10 j - 3 p+ + - j3 - 2 p+ zz z 2 8 8 200 2 4 4 {{ { k k k
N[%] 0.0747004 3.2. Кручение кривой определяется так: κ HtL = Hr' HtL, r'' HtL, r''' HtLL ë @r' HtL, r'' HtL D2 Программа вычисления кручения произвольной кривой alpha в произвольной точке M(t) выглядит так: kappa[alpha_][t_]:= Simplify[Det[{D[alpha[tt],tt],D[alpha[tt],{tt,2}],D[alp ha[tt],{tt,3}]}]]/ Simplify[Factor[Cross[D[alpha[tt],tt], D[alpha[tt],{tt,2}]].Cross[D[alpha[tt],tt],D[alpha[tt], {tt,2}]]]] /. tt→t;
Пример. Вычислим кручение нашей кривой r(t): - I 20 I - 2 t6 + 6 t5 + 60 t4 + 24 t3 + 320 t2 - 104 cosH 2 tL t + 13 H t2 + 2 L 2 sin H 2 tL + 320MM ë
kappa[r][t]//Simplify
H 208 t8 - 1224 t7 + 2392 sin H 2 tL t6 - 11380 t6 - 7800 sin H 2 tL t5 + 37104 t5 - 94016 sinH 2 tL t4 + 215681 t4 - 7800 sinH 2 tL t3 - 16900 sin H 4 tL t3 + 218304 t3 - 31200 sinH 2 tL t2 + 1105624 t2 52 H 2 t6 - 3 t5 + 108 t4 - 312 t3 - 3392 t2 - 912 t - 8000 L cosH 2 tL t + 46800 sinH 2 tL t + 33800 sinH 4 tL t + 288000 t - 4225 H t4 - 8 t2 + 4L cosH 4 tL + 416000 sinH 2 tL + 1296900L
Подсчитаем кручение нашей кривой в точке t=pi/2: 12
ij ij i 3 p3 15 p4 3 p5 p6 yzyzyz + j20 j- 52 p + 2 jj- 160 - 40 p2 zzz ì 2 8 32 64 {{{ k k k
kappa[r][Pi/2]
ij 215681 p4 2319 p5 2845 p6 153 p7 2 3 + + j1296900 + 144000 p + 276406 p + 27288 p + 16 2 16 16 k
i i 13 p8 27 p4 3 p5 p4 yz p6 - 4225 jj4 - 2 p2 + + z + 26 p jj- 8000 - 456 p - 848 p2 - 39 p3 + 16 16 { 4 32 32 k k
N[%] -0.00658526 3.3. Нарисуем график зависимости кривизны кривой от параметра (см. рисунок 9): Plot[Evaluate[k[r][t]],{t,-2,2}, Ticks→{Automatic,Range[0,0.35,0.1]}]
0.3 0.2 0.1 -2
-1
Рис. 9.
1
2
А теперь нарисуем график зависимости кручения кривой от параметра (см. рисунок 10): Plot[Evaluate[kappa[r][t]],{t,6,8}, Ticks→{Automatic,Range[0,0.35,0.1]}]
13
yzyz zz {{
6.5
7
7.5
8
Рис. 10. 3.4. Мы можем решить и обратную задачу: зная зависимость кривизны и кручения кривой от натурального параметра (натуральные уравнения кривой), найти эту кривую. Таких кривых будет бесконечное множество, причём две кривые из этого множества получаются одна из другой движением. Чтобы определить единственную кривую из этого множества, надо задать координаты точки, через которую проходит эта кривая при начальном значении натурального параметра, и координаты двух (из трёх) векторов репера Френе в этой точке. Программа для рисования кривой с заданными натуральными уравнениями выглядит так: plotintrinsic3d[{kk_,tt_},{a_:0,{p1_:0,p2_:0,p3_:0}, {q1_:1,q2_:0,q3_:0},{r1_:0,r2_:1,r3_:0}},{smin_:10,smax_:10},opts___]:=ParametricPlot3D[Module[{x1,x2,x 3,t1,t2,t3,n1,n2,n3,b1,b2,b3},{x1[s],x2[s],x3[s]} /. NDSolve[{x1'[ss] t1[ss], x2'[ss] t2[ss], x3'[ss] t3[ss],t1'[ss] kk[ss]n1[ss],t2'[ss] kk[ss]n2[s s],t3'[ss] kk[ss]n3[ss],n1'[ss] kk[ss]t1[ss]+tt[ss]b1[ss],n2'[ss] kk[ss]t2[ss]+tt[ss]b2[ss],n3'[ss] kk[ss]t3[ss]+tt[ss]b3[ss],b1'[ss] tt[ss]n1[ss],b2'[ss] -tt[ss]n2[ss],b3'[ss] tt[ss]n3[ss], x1[a] p1,x2[a] p2,x3[a] p3, t1[a] q1,t2[a] q2,t3[a] q3, n1[a] r1,n2[a] r2,n3[a] r3, b1[a] q2r3-q3r2,b2[a] q3r1-q1r3, b3[a] q1r2-q2r1}, {x1,x2,x3,t1,t2,t3,n1,n2,n3,b1,b2,b3}, {ss,smin,smax}]]// 14
Evaluate,{s,smin,smax},opts] Теперь для вычерчивания кривой с заданными натуральными уравнениями введите в примере из следующей ячейки кривизну k(s), кручение κ(s) (они заканчиваются знаком &, при этом натуральный параметр s обозначается символом #), начальное значение "a" натурального параметра, координаты (p1, p2, p3) точки P, через которую проходит кривая при s = a, координаты ортов касательной (q1, q2, q3) и главной нормали (r1, r2, r3) репера Френе в точке P и промежуток (c, d) изменения натурального параметра s. В примере ниже: k(s) = 1.3, κ(s) = 0.5*sin[s], a = 0, (p1, p2, p3) = {0, 0, 0}, (q1, q2, q3) = {1, 0, 0}, (r1, r2, r3) = {0, 1, 0}, (c, d) = {0, 4Pi} (см. рисунок 11).
Пример. plotintrinsic3d[{1.3&,0.5Sin[#]&},{0,{0,0,0},{1,0,0}, {0,1,0}},{0,4Pi},Axes→None,PlotPoints→200]
Рис. 11. 3.5. Приведём также программу нахождения плоской кривой (κ(s) = 0) по её натуральному уравнению k = k(s): plotintrinsic[fun_,a_:0,{c_:0,d_:0,theta0_:0}, optsnd___,{smin_:-10,smax_:10},optspp___]:= ParametricPlot[Module[{x,y,theta},{x[t],y[t]} /. NDSolve[{x'[ss] Cos[theta[ss]],y'[ss] Sin[theta[ss]], theta'[ss] fun[ss], x[a] c,y[a] d,theta[a] theta0},{x,y,theta}, {ss,smin,smax},optsnd]]//Evaluate,{t,smin,smax}, 15
AspectRatio→Automatic,optspp] Теперь для вычерчивания плоской кривой с заданным натуральным уравнением введите в примере из следующей ячейки кривизну k(s) (она находится в круглых скобках, которые заканчиваются знаком &, при этом натуральный параметр s обозначается символом #), начальное значение "a " натурального параметра, координаты (c, d) точки P, через которую проходит кривая при s = a, угол theta0 наклона орта касательной кривой в точке P к оси абсцисс и промежуток (smin, smax) изменения натурального параметра s. В примере ниже: k(s) = s+sin[s], a = 0, (c, d, theta0) = {0, 0, 0}, (smin, smax) = {-18, 18} (см. рисунок 12).
Пример 1. plotintrinsic[(#+Sin[#])&,0,{0,0,0},{-18,18}, PlotPoints→80] 1
0.5
-1
-0.5
0.5
1
-0.5
-1
Рис. 12. В следующем примере: k(s) = s*sin[s], a = 0, (c, d, theta0) = {0, 0, 0}, (smin, smax) = {-20, 20} (см. рисунок 13).
Пример 2. plotintrinsic[(#Sin[#])&,0,{0,0,0},{-20,20}, PlotPoints→80]
16
4
3
2
1
-1.5
-1
-0.5
0.5
1
1.5
Рис. 13. Задача 491. Найти точки на кривой x= cos3(t), y=sin3(t) , z= cos(2t), в которых кривизна минимальна . r[t_]:={Cos[t]^3,Sin[t]^3,Cos[2t]} k[r][t]//Simplify 6
"################# # sin4H2 tL
25 sin2 H2 tL 3ê2 PowerExpand[%]
6 25
cscH2 tL
kk[t_]:= (6/25)Csc[2t] ParametricPlot3D[r[t],{t,0,2Pi}] 6 25
1 0.5 0 -0.5 -1 1
0.5
0 -0.5 -1 -1
17
-0.5 0 0.5 1
Рис. 14. Plot[kk[t],{t,0,2Pi}] 4
2
1
2
3
4
5
6
-2
-4
Рис. 15. D[kk[t],t]//Simplify 12 cot H 2 tL cscH2 tL 25 Solve[D[kk[t],t] 0,t] ::t Ø
p
4
>>
Задача 494. Доказать, что кривая x=(1+t)/(1-t), y=1/(1- t2), z=1/(1+t) плоская. r[t_]:={(1+t)/(1-t),1/(1-t^2),1/(1+t)} ParametricPlot3D[r[t],{t,-10,10}] -3 -2 -1 0 1 1 0.5 0 -0.5 -1 0.2 0 -0.2
Рис. 16. kappa[r][t] 0 A={a,b,c}; Solve[{A.r[0]+1 0,A.r[1/2]+1 0,A.r[-1/2]+1 0, 18
A.r[-1/3]+1 0},A] {{aØ1, bØ-4, cØ2}} Задача 482. Доказать, что для кривой x=acht, y=asht, z=at кривизна и кручение равны . f[t_]:={a*Cosh[t],a*Sinh[t],z=a*t} k[f][t]//PowerExpand//Simplify sech2 HtL 2a kappa[f][t]//PowerExpand//Simplify sech2 HtL 2a
Задача 483. Доказать, что для кривой x=3t- t3 , y=3t2 , z=3t+ t3 кривизна и кручение равны . f[t_]:={3t-t^3,3t^2,3t+t^3} k[f][t]//PowerExpand//Simplify 1 3 Ht2 + 1L 2 kappa[f][t]//PowerExpand//Simplify 1
3 Ht2 + 1L2
ParametricPlot3D[Evaluate[f[t]],{t,-2,2}, ViewPoint->{2.306, 3.572, -1.418}] 2 0 1 2 -1 -0 1 5 0 0 1
0
0 1 -
Рис. 17. ParametricPlot3D[Evaluate[f[t]+a*D[f[t],t]], 19
{t,-1/2,1/2},{a,-1/2,1/2}, ViewPoint->{-7.109, -5.426, 0.916}, Shading→False,Lighting->False] 2
0
-2
2
0
-2
2
1
0
Рис. 18. nv[r_][t_]:= Cross[D[r[u], u], Cross[D[r[u], u], D[r[u], {u, 2}]]]/.u->t un[v_]:=v/Sqrt[v.v] ParametricPlot3D[Evaluate[f[t]+a*un[nv[f][t]]], {t,-1,1},{a,-1/3,1/3}, ViewPoint->{-8.241, 2.394, 2.677}, Shading→False,Lighting->False, PlotPoints→{10,3}]
4
2
0
-2 2 1 0 -1 -2
-4 3
2
1
0
Рис. 19. 20
4. Сопровождающий трехгранник Френе
4.1. Пусть кривая задана параметрически r[t_]:={x[t],y[t],z[t]} Уравнение касательной прямой имеет вид: R(a, t) = r(t) + a r'(t) или tl[r_][t_, a_] := (r[u] + a*D[r[u], u])/.u →t
Пример. Возьмем кривую f[t_]:={t,t^2,Exp[t]} Построим ее (см. рисунок 20): ParametricPlot3D[Evaluate[f[t]],{t,0,1.5}]
0.3 0.2 0.1 0 0
1 0.75 0.5 0.25 0.25
0.5 0.75 1
0
Рис. 20. tl[f][t,a] 2 t t 9a + t, t + 2 a t, ‰ a + ‰ = tl[f][1,a] {a+1, 2a+1, ‰a+‰} Нарисуем кривую и касательную прямую в точке t0 (см. рисунок 21): t0=1; Show[plot1=ParametricPlot3D[Evaluate[tl[f][t0,a]], {a,-1,1}, ViewPoint->{1, 1, 3}, AxesEdge →{{-1,-1},{-1,-1},{-1,-1}}, DisplayFunction->Identity], plot2=ParametricPlot3D[Evaluate[f[t]], {t,-1,3}, 21
ViewPoint->{1, 1, 3}, AxesEdge →Automatic, DisplayFunction->Identity], DisplayFunction →$DisplayFunction]; 4
2 -1 0 0
-1 0
1
1
2
2 3
Рис. 21. 4.2. Нарисуем поверхность, образованную всеми касательными нашей кривой - развёртывающуюся поверхность (см. рисунок 22): ParametricPlot3D[Evaluate[tl[f][t, a]], {a, -3, 3}, {t, -Pi, Pi}, ViewPoint->{-2.659, -1.717, 1.196}, Axes->False, Boxed->False, Lighting → False, Shading → False, PlotPoints->{20, 10}];
Рис. 22. 4.3. На первую и вторые производные натянута соприкасающаяся плоскость: 22
R(a, t) = r(t) + u r'(t) + v r''(t) или TP[r_][t_, u_, v_]:= (r[q] + u D[r[q], q] + v D[r[q], {q, 2}])/.q->t
Пример. t0=1; plot1=ParametricPlot3D[Evaluate[TP[f][t0, u, v]], {u, -1, 1}, {v, -1, 1}, Shading → False, PlotPoints->{5, 5}, ViewPoint->{-2.659, -1.717, 1.196}, Axes->False, Boxed->False, DisplayFunction->Identity]; plot2=ParametricPlot3D[Evaluate[f[t]], {t, -4, 3}, ViewPoint->{-2.659, -1.717, 1.196}, Axes->False, Boxed->False, DisplayFunction->Identity]; Show[plot1, plot2, DisplayFunction->$DisplayFunction];
Рис. 23. 4.4. Как найти направляющий вектор главной нормали? Он ищется хитро: nv(t) = [r'(t), [r'(t), r''(t)]] Значит нам надо вычислить векторное произведение двух векторов: Cross[D[r[u],u],D[r[u],{u,2}]]/.u->t r£H tL ä r≥H tL Теперь 23
nv[r_][t_]:= Cross[D[r[u],u], Cross[D[r[u],u],D[r[u],{u,2}]]]/.u->t
Пример. Возьмем кривую f1[t_]:={Cos[t]^3, Sin[t]^3, Cos[2*t]} Найдем направляющий вектор главной нормали nv[f1][t]
8- 27 cos3HtL sin6HtL - 27 cos5HtL sin4HtL - 24 cosHtL sin2H2 tL sin2HtL - 24 cos2HtL cosH2 tL sinH2 tL sinHtL + 12 cos3HtL sin2H2 tL, - 27 sin3 HtL cos6HtL - 27 sin5HtL cos4HtL - 24 sinHtL sin2H2 tL cos2HtL + 24 cosH2 tL sin2HtL sinH2 tL cosHtL + 12 sin3HtL sin2H2 tL, - 18 sinHtL sinH2 tL cos5HtL + 36 cosH2 tL sin2 HtL cos4HtL + 36 cosH2 tL sin4HtL cos2HtL + 18 sin5HtL sinH2 tL cosHtL<
Упростим Simplify[%] 3 4 4 3 9-75 cos HtL sin HtL, - 75 cos HtL sin HtL, 0= 4.5. Отлично! Теперь запишем уравнение главной нормали кривой nl(a, t) = r(t) + a nv(t) или nl[r_][t_, a_]:= r[t] + a*nv[r][t]
Пример. Найдем главную нормаль кривой в точке t=1 Simplify[nl[f1][1,a]] 3 4 4 3 9-cos H1L I 75 a sin H 1L - 1M , -I 75 a cos H1L - 1M sin H1L, cosH2L= N[%] {-0.157729 (37.6026a-1.), -0.595823 (6.39158a-1.), -0.416147} Нарисуем кривую и главную нормаль в точке t0 (см. рисунок 24): t0=Pi/4; plot1=ParametricPlot3D[Evaluate[nl[f1][t0, a]], {a, -1, 1}, ViewPoint->{-2.659, -1.717, 1.196}, Axes->False, Boxed → False, DisplayFunction->Identity]; plot2=ParametricPlot3D[Evaluate[f1[t]], {t, -Pi/4, Pi/2}, ViewPoint->{-2.659, -1.717, 1.196}, Axes->False, Boxed->False, DisplayFunction->Identity]; Show[plot1, plot2, Boxed → True, DisplayFunction->$DisplayFunction];
24
Рис. 24. Нарисуем поверхность, образованную всеми главными нормалями кривой (см. рисунок 25): ParametricPlot3D[Evaluate[nl[f1][t,a]], {a,-1,1}, {t,-Pi/4,Pi/4}, ViewPoint->{-2.659, -1.717, 1.196}, Axes->False,Boxed>False,Lighting →False,Shading →False, PlotPoints->{20,20}];
Рис. 25. 4.6. Теперь направляющий вектор бинормали кривой: bv[r_][t_]:= Cross[D[r[u],u],D[r[u],{u,2}]]/.u->t
Пример. Найдем направляющий вектор бинормали в нашем примере точке t0=Pi/4: bv[f1][Pi/4] 3 9 3 è!!!!! è !!!!! :+ 3 2 , 3 2 , > è!!!!! è !!!!! 4 2 2
в
4.7. Теперь запишем уравнение бинормали bl[r_][t_, a_]:= r[t] + a*bv[r][t] 25
Пример. Найдем бинормаль в нашем примере в точке t0=Pi/4: bl[f1][0, a] {1,0,1} Нарисуем кривую и бинормаль в точке t0 (см. рисунок 26): t0=Pi/4; plot1=ParametricPlot3D[Evaluate[bl[f1][t0, a]], {a, -1, 1}, ViewPoint->{3.384, -2.223, 2.967}, Axes->False, Boxed->False, DisplayFunction->Identity]; plot2=ParametricPlot3D[Evaluate[f1[t]], {t, -Pi/4, Pi/2}, ViewPoint->{3.384, -2.223, 2.967}, Axes->False, Boxed->False, DisplayFunction->Identity]; Show[plot1, plot2, DisplayFunction->$DisplayFunction];
Рис. 26. А теперь нарисуем все вместе (см. рисунок 27). t0=Pi/4; plot1=ParametricPlot3D[Evaluate[{tl[f1][t0,a], nl[f1][t0,a],bl[f1][t0,a]}],{a,-1,1}, ViewPoint→{3.384,-2.223,2.967}, Axes→False,Boxed→False,DisplayFunction→Identity]; plot2=ParametricPlot3D[Evaluate[f1[t]], 26
{t,-Pi/4,Pi/2}, ViewPoint→{3.384,-2.223,2.967}, Axes→False,Boxed→False,DisplayFunction→Identity]; Show[plot1,plot2,DisplayFunction→$DisplayFunction, Boxed→True];
Рис. 27. 4.8. Нормальная плоскость в данной точке кривой проходит ортогонально касательной прямой или параллельно главной нормали и бинормали: R(a, t) = r(t) + u n(t) + v b(t) NP[r_][t_,u_,v_]:=r[q]+u nv[r][q]+v bv[r][q]/.q→t
Пример. Нарисуем кривую и нормальную плоскость в точке t0 (см. рисунок 28): BoxData[t0=Pi/4; plot1=ParametricPlot3D[Evaluate[NP[f1][t0,u,v]], {u,-1,1},{v,-1,1}, Shading→False,PlotPoints→{5,5}, ViewPoint→{-2.659,-1.717,1.196}, Axes→False,Boxed→False,DisplayFunction→Identity]; plot2=ParametricPlot3D[Evaluate[f1[t]],{t,-1,3}, ViewPoint→{-2.659,-1.717,1.196}, Axes→False,Boxed→False,DisplayFunction→Identity]; Show[plot1,plot2,DisplayFunction→$DisplayFunction]]
27
Рис. 28. 4.9. Спрямляющая плоскость в данной точке кривой проходит ортогонально главной нормали или параллельно касательной и бинормали: R(a, t) = r(t) + u r'(t) + v b(t) или SP[r_][t_,u_,v_]:=r[q]+u D[r[q],q]+v bv[r][q]/.q→t
Пример. Нарисуем кривую и спрямляющую плоскость в точке t0 (см. рисунок 29): BoxData[t0=-Pi/4; plot1=ParametricPlot3D[Evaluate[SP[f1][t0,u,v]], {u,-1,1}, {v,-1,1}, Shading→False,PlotPoints→{5,5}, ViewPoint→{-2.386,-4.339,0.824}, Axes→False,Boxed→False,DisplayFunction→Identity]; plot2=ParametricPlot3D[Evaluate[f1[t]],{t,-1,3}, ViewPoint→ViewPoint->{-2.386, -4.339, 0.824}, Axes→False,Boxed→False,DisplayFunction→Identity]; Show[plot1,plot2,DisplayFunction→$DisplayFunction]]
28
Рис. 29.
Задачи на сопровождающий трехгранник пространственной кривой Здесь нам понадобятся следующие команды. Векторное произведение двух векторов. Cross[x,y] xäy
Пример. Cross[{1,0,0},{0,0,1}] {0, -1, 0} Касательный вектор D[r[t],t] r£H tL Вектор главной нормали nv[r_][t_]:=Cross[D[r[u],u],Cross[D[r[u],u], D[r[u],{u,2}]]]/.u→t Бинормальный вектор bv[r_][t_]:=Cross[D[r[u],u],D[r[u],{u,2}]]/.u→t Задача 463. 29
Найти единичные векторы касательной, главной нормали и бинормали в произвольной точке следующей кривой: x=cos3(t), y=sin3(t) , z=cos(2t). Зададим кривую: f[t_]:={Cos[t]^3,Sin[t]^3,Cos[2t]} Построим ее: ParametricPlot3D[Evaluate[f[t]],{t,0,2Pi}] 1 0.5 0 -0.5 -1 1
0.5
0 -0.5 -1 -1 -0.5 0 0.5 1
Рис. 30. Так как вектора надо искать единичные, введем норму вектора: Norm[v_]:=Sqrt[v.v] Теперь единичный касательный вектор: utv[t]=D[f[u],u]/Norm[D[f[u],u]]/.u→t 3cos2HtL sinHtL :- è!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! , 9 sin2HtL cos4HtL + 9sin4HtL cos2HtL + 4 sin2H2 tL
3 cosHtL sin2HtL 2 sinH2tL , - è!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! > è!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 9 sin2HtL cos4HtL + 9 sin4HtL cos2HtL + 4sin2H2tL 9sin2HtL cos4HtL + 9 sin4HtL cos2HtL + 4sin2H2tL
Упростим Simplify[%] 6 cos2HtL sinHtL 6 cosHtL sin2 HtL 4 "################## :, , - cscH2 tL sin2H2 tL > "################## "####### ########### 5 5 sin2 H2 tL 5 sin2H2 tL PowerExpand[%] 6 4 6 2 cosHtL cscH2 tL sin2HtL, - > :- cos H tL cscH 2 tL sinH tL , 5 5 5 Теперь единичный вектор главной нормали: unv[t]=nv[f][u]/Norm[nv[f][u]]/.u→t
30
8H-27cos3HtL sin6HtL - 27cos5HtL sin4HtL - 24cosHtL sin2H2tL sin2HtL - 24cos2HtL cosH2tL sinH2tL sinHtL + 12cos3HtL sin2H2tLL ê , H HH-18sinHtL sinH2tL cos5HtL + 36cosH2tL sin2HtL cos4HtL + 36cosH2tL sin4HtL cos2HtL + 18sin5HtL sinH2tL cosHtLL^2 + H-27cos3HtL sin6HtL - 27cos5HtL sin4HtL - 24cosHtL sin2H2tL sin2HtL - 24cos2HtL cosH2tL sinH2tL sinHtL + 12cos3HtL sin2H2tLL^2 + H-27sin3HtL cos6HtL - 27sin5HtL cos4HtL 24sinHtL sin2H2tL cos2HtL + 24cosH2tL sin2HtL sinH2tL cosHtL + 12sin3HtL sin2H2tLL ^2LL, H-27sin3HtL cos6HtL - 27sin5HtL cos4HtL - 24sinHtL sin2H2tL cos2HtL + 24cosH2tL sin2HtL sinH2tL cosHtL + 12sin3HtL sin2H2tLL ê , H HH-18sinHtL sinH2tL cos5HtL + 36cosH2tL sin2HtL cos4HtL + 36cosH2tL sin4HtL cos2HtL + 18sin5HtL sinH2tL cosHtLL^2 + H-27cos3HtL sin6HtL - 27cos5HtL sin4HtL - 24cosHtL sin2H2tL sin2HtL - 24cos2HtL cosH2tL sinH2tL sinHtL + 12cos3HtL sin2H2tLL^2 + H-27sin3HtL cos6HtL - 27sin5HtL cos4HtL 24sinHtL sin2H2tL cos2HtL + 24cosH2tL sin2HtL sinH2tL cosHtL + 12sin3HtL sin2H2tLL ^2LL, H-18sinHtL sinH2tL cos5HtL + 36cosH2tL sin2HtL cos4HtL + 36cosH2tL sin4HtL cos2HtL + 18sin5HtL sinH2tL cosHtLLê , H HH-18sinHtL sinH2tL cos5HtL + 36cosH2tL sin2HtL cos4HtL + 36cosH2tL sin4HtL cos2HtL + 18sin5HtL sinH2tL cosHtLL^2 + H-27cos3HtL sin6HtL - 27cos5HtL sin4HtL - 24cosHtL sin2H2tL sin2HtL - 24cos2HtL cosH2tL sinH2tL sinHtL + 12cos3HtL sin2H2tLL^2 + H-27sin3HtL cos6HtL - 27sin5HtL cos4HtL 24sinHtL sin2H2tL cos2HtL + 24cosH2tL sin2HtL sinH2tL cosHtL + 12sin3HtL sin2H2tLL ^2LL<
FullSimplify[%] 1 1 2 3 "################## 3 2 "################## :- csc H tL sec H tL sin6 H 2 tL , - csc H tL sec H tL sin6 H 2 tL , 0> 8 8 PowerExpand[%] 1 1 2 3 3 3 2 3 :- csc H tL sec H tL sin H 2 tL , - csc H tL sec H tL sin H 2 tL , 0> 8 8 А единичный вектор бинормали: ubv[t]=bv[f][u]/Norm[bv[f][u]]/.u→t 9H-6 sinH2 tL sin3HtL - 12 cosHtL cosH2 tL sin2HtL + 12 cos2HtL sinH2 tL sinHtLL ë I, IH-9 sin2HtL cos4HtL - 9 sin4HtL cos2HtLL2 +
H6 sinH2 tL cos3HtL - 12 cosH2 tL sinHtL cos2HtL - 12 sin2HtL sinH2 tL cosHtLL ^2 +
H-6 sinH2 tL sin3HtL - 12 cosHtL cosH2 tL sin2HtL + 12 cos2HtL sinH2 tL sinHtLL ^2MM,
H6 sinH2 tL cos3HtL - 12 cosH2 tL sinHtL cos2HtL - 12 sin2HtL sinH2 tL cosHtLLë 2 I, IH-9 sin2HtL cos4HtL - 9 sin4HtL cos2HtLL +
H6 sinH2 tL cos3HtL - 12 cosH2 tL sinHtL cos2HtL - 12 sin2HtL sinH2 tL cosHtLL ^2 +
H-6 sinH2 tL sin3HtL - 12 cosHtL cosH2 tL sin2HtL + 12 cos2HtL sinH2 tL sinHtLL ^2MM, 2 H-9 sin2HtL cos4HtL - 9 sin4HtL cos2HtLL ëI, IH-9 sin2HtL cos4HtL - 9 sin4HtL cos2HtLL + H6 sinH2 tL cos3HtL - 12 cosH2 tL sinHtL cos2HtL - 12 sin2HtL sinH2 tL cosHtLL ^2 +
H-6 sinH2 tL sin3HtL - 12 cosHtL cosH2 tL sin2HtL + 12 cos2HtL sinH2 tL sinHtLL ^2MM= FullSimplify[%] 1 1 3 "################## "################## 2 2 "################## 2 : csc H tL secH tL sin4 H 2 tL , - cscH tL sec H tL sin4H 2 tL , - csc H 2 tL sin4 H 2 tL > 5 5 5 PowerExpand[%] 1 1 3 2 2 2 2 : csc H tL secH tL sin H 2 tL , - cscH tL sec H tL sin H 2 tL , - > 5 5 5 31
Задача 460. Найти точки на кривой x=2/t, y=Log t, z =-t2 , в которых бинормаль параллельна плоскости x-y+8z+2=0. Задаем кривую r[t_]:={2/t,Log[t],-t^2} Строим ее ParametricPlot3D[Evaluate[r[t]],{t,0.1,2}] 0 2.5 5 7.5 0 -1 -2 -3 -4 0 -1 -2
Рис. 31. И решаем уравнение: скалярное произведение вектора бинормали и нормального вектора плоскости (он имеет координаты (1, -1, 8) !) равно 0. Сначала bv[r][t].{1,-1,8} 4 12 16 -
+ t t2 t4 Упростим Simplify[bv[r][t].{1,-1,8}*t^4] -4 Ht - 2L2 Ht + 1L Solve[% 0,t] {{tØ-1}, {tØ2}, {tØ2}} NSolve[%% 0,t] {{tØ-1.}, {tØ2.}, {tØ2.}}
32
Задачи 1. Найти длину дуги винтовой линии x = a cos t, y = a sin t, z = b t. 2. Вычислить кривизну и кручение кривой x = a cos t, y = a sin t, z = b t. 3. Вычислить кривизну и кручение кривой x=cos3(t), y=sin3(t), z = cos(2t). 4. Составить уравнения главной нормали и бинормали кривой x = t, y = t2 , z = t3 в точке t =1. 5. Написать уравнения касательной прямой, нормальной плоскости, бинормали, соприкасающейся плоскости, главной нормали и спрямляющей плоскости винтовой линии x =cos t, y = sin t, z = t.
33
Список литературы 1. Аминов Ю. А. Дифференциальная геометрия и топология кривых. М.: Наука, 1987. 2. Белько И. В. и др. Сборник задач по дифференциальной геометрии. М.: Наука, 1979. 3. Воробьев Е. М. Введение в систему “Математика” 1998. 4. Бураго Ю. Д., Залгаллер В. А. Введение в риманову геометрию. – СПб.: Наука, 1994. 5. Дубровин Б. А., Новиков С. П., Фоменко А. Т. Современная геометрия. Методы и приложения: В 3 т. – М.: УРСС, 2001. 6. Ефимов Н. В. Высшая геометрия. - М.: Наука, 1971. 7. Мищенко А. С., Фоменко А. Т. Курс дифференциальной геометрии и топологии. - М.: Изд-во Моск. ун-та, 1980. 8. Погорелов А. В. Дифференциальная геометрия. - М.: Наука, 1974. 9. Позняк Э. Г., Шикин Е. В. Дифференциальная геометрия: Первое знакомство. - М.: УРСС, 2003. 10. Рашевский П. К. Риманова геометрия и тензорный анализ. - М.: УРСС, 2003. 11. Розендорн Э. Р. Задачи по дифференциальной геометрии. - М.: Наука, 1971.
34