Differenciálgeometria - Második Házi Feladat - 1. Feladat

Készítette : Gyebrószki Gergely
2009. november 21.
(C) Szabadon felhasználható

Ajánlott Mathematica verzió : 6 vagy magasabb
Amennyiben más állomány is használta az aktuális kernelt, ne felejtse el újraindítani azt a kiértékelés megkezdése előtt.

Adja meg az alábbi gömbfelületrésznek azt a pontját, amelyhez tartozó érintősík a koordinátasíkokkal a legkisebb térfogatú tetraédert alkotja.

A gömbfelület egyenlete :
r(u,v) = a Sin[u] Cos[v] i + a Sin[u] Sin[v] j + a Cos[u] k

A paraméterek tartománya :
0≤u≤(π/2),0≤v≤(π/2)

Megoldás :

A felület egyenlete :

r[u_,v_] = {a Sin[u] Cos[v],a Sin[u] Sin[v],a Cos[u]};

Parciális deriváltak :

ru[u_,v_]=D[r[u,v],u]

rv[u_,v_]=D[r[u,v],v]

A felületi normális :

m[u_,v_]=FullSimplify[Cross[ru[u,v],rv[u,v]]]

Az érintősík egyenlete :

esik=({x,y,z}-r[u,v]).m[u,v]== 0

z = f (x, y) alakban :

Solve[esik,z]

A tetraéder területének kiszámításához, meg kell keresni az érintősík és a koordinátatengelyek metszéspontjait.

x0[u_,v_]=x/.FullSimplify[Solve[esik/.{y->0,z->0},x]]

y0[u_,v_]=y/.FullSimplify[Solve[esik/.{x->0,z->0},y]]

z0[u_,v_]=z/.FullSimplify[Solve[esik/.{y->0,x->0},z]]

A tetraéder térfogata pontosan az x0, y0, z0 élhosszakkal rendelkező téglatest térfogatának hatoda, így :

V[u_,v_]=FullSimplify[x0[u,v] y0[u,v]z0[u,v]/6]

Keressük meg a térfogat ((a^3) konstanssal leosztott) értékének minimumát :

FindMinimum[{(1/6)((Csc[u])^2) Csc[2 v] Sec[u],u<π/2,v<π/2},{{u,0.1},{v,0.1}}]

Így a keresett ((Subscript[u, min]), (Subscript[v, min])) koordináta :

(Subscript[u, min]) = 0.9553165112805456`
(Subscript[v, min]) = 0.7853957618806554`

Az eredmények megjelenítése :

Manipulate[
Column[{
Row[{
Dynamic[
Show[
ParametricPlot[{π/2,t},{t,0,2},PlotStyle->Blue,PlotRange->{{0,2},{0,2}},AxesLabel->{Style[u,18],Style[v,18]},PlotLabel->Style["Paramétersík",16]],
ParametricPlot[{t,π/2},{t,0,2},PlotStyle->Blue,PlotRange->{{0,2},{0,2}}],
ParametricPlot[{u0,t},{t,0,2},PlotStyle->{Red,Thick}],
ParametricPlot[{t,v0},{t,0,2},PlotStyle->{Orange,Thick}],
ParametricPlot[{u,v},{u,0,π/2},{v,0,π/2},Mesh->None,PlotStyle->Green],
Graphics[Locator[Dynamic[{u0,v0}]]]
]
],
Column[{
Button["(Subscript[u, min]) = 0.955316",u0=0.9553165112805456`],
Button["(Subscript[v, min]) = 0.785395",v0=0.7853957618806554`]
}]
}
],
Dynamic[Row[{Style["A tetraéder térfogata: V = ",16],Style[(a^3) ((Csc[u0])^2) Csc[2 v0] Sec[u0]/6,16]," ",Style[Superscript[e,3],16]}]],
Dynamic[
Show[
ParametricPlot3D[{a Sin[u] Cos[v],a Sin[u] Sin[v],a Cos[u]},{u,0,π/2},{v,0,π/2},Mesh->None,ColorFunction->"BlueGreenYellow",PlotStyle->Opacity[0.5],PlotLabel->Style["Axonometrikus ábra",16],AxesLabel->{Style[x,18],Style[y,18],Style[z,18]},PlotRange->{{0,a},{0,a},{0,a}}],
ParametricPlot3D[{a Sin[u0] Cos[v],a Sin[u0] Sin[v],a Cos[u0]},{v,0,π/2},PlotStyle->{Red,Thick}],
ParametricPlot3D[{a Sin[u] Cos[v0],a Sin[u] Sin[v0],a Cos[u]},{u,0,π/2},PlotStyle->{Orange,Thick}],
Graphics3D[{Dashed,Blue,Line[{{0,0,0},{a Sin[u0] Cos[v0],a Sin[u0] Sin[v0],a Cos[u0]}}]}],
Graphics3D[{Thick,Black,Line[{{a Sin[u0] Cos[v0],a Sin[u0] Sin[v0],a Cos[u0]},{(a^2) Cos[v0] ((Sin[u0])^2),(a^2) ((Sin[u0])^2) Sin[v0],(a^2) Cos[u0] Sin[u0]}}]}],
Plot3D[Csc[u0] Sec[u0] (a ((Cos[u0])^2) Sin[u0]-x Cos[v0] ((Sin[u0])^2)+a ((Cos[v0])^2) ((Sin[u0])^3)-y ((Sin[u0])^2) Sin[v0]+a ((Sin[u0])^3) ((Sin[v0])^2)),{x,0,a},{y,0,a},Mesh->None,ColorFunction->"RustTones",PlotStyle->Opacity[0.5]]
]
]
}
],
{a,1,4},
{u0,0.01,π/2},
{v0,0.01,π/2}
]

Jelmagyarázat : 
 zöld tartomány (paramétersíkon) - a paraméterek tartománya,
 piros - u0 paramétervonal,
 narancs - v0 paramétervonal,
 kék sárga átmenetes felület - a vizsgált felület,
 barna - (u0, v0) paraméterekhez tartozó érintősík,
 fekete - (u0, v0) paraméterekhez tartozó felületi normális,
 kék szaggatott - (u0, v0) paraméterekhez tartozó felületi pont normálvektora.
A szálkeresztet mozgatva tetszőleges (u0,v0) paraméter állítható be, 
 a két gombbal pedig az előzőekben kiszámolt (Subscript[u, min]) és (Subscript[v, min]) paraméter állítható be.