diffgeometry_vzor.mws

>    restart;

Nastavíme cestu, kde je uložena knihovna. Pokud je knihovna ve stejném adresáři jako tento pracovní sešit tak použijeme následující řádek

>    libname:=libname,".";

libname :=

Pokud je knihovna uložena v jiném adresáři, můžeme zapsat celou cestu, nebo použít stejnou syntaxi, jako při programování odkazů v html

>    #libname:=libname,"D:/Sarka/Maple/diffgeometry/libsarka";
#libname:=libname,"../libsarka";

>    with(diffgeometry);with(linalg,det);with(plots,implicitplot);

[AsymptoticDir, D1, D2, E, EFG, F, G, GaussCurvature, L, LMN, M, MeanCurvature, N, PrincipalMatrix, arclength, arclengthNumeric, curvature, dp, dupin, frenet, l, m, n, normalize, nrm, revolve, screw, t...
[AsymptoticDir, D1, D2, E, EFG, F, G, GaussCurvature, L, LMN, M, MeanCurvature, N, PrincipalMatrix, arclength, arclengthNumeric, curvature, dp, dupin, frenet, l, m, n, normalize, nrm, revolve, screw, t...

[det]

[implicitplot]

Procedury pro výpočet skalárního  součinu, normy vektoru a jeho normování

>    [xp([1,2,3],[5,2,3]), nrm([1,2,3]),normalize([1,2,3])];

[[0, 12, -8], 14^(1/2), [1/14*14^(1/2), 1/7*14^(1/2), 3/14*14^(1/2)]]

>    V:=[cos(t),sin(t),1/4*t];normalize(V);

V := [cos(t), sin(t), 1/4*t]

[4*cos(t)/(t^2+16)^(1/2), 4*sin(t)/(t^2+16)^(1/2), t/(t^2+16)^(1/2)]

Křivost a torze křivky

>    [kappa,tau]=[curvature(V,t),torsion(V,t)];

[kappa, tau] = [16/17, 4/17]

Délka oblouku

>    arclength(V,t,0,Pi);[numericky,vzorec]=[arclengthNumeric(V,t,0,Pi,20),evalf(arclength(V,t,0,1*Pi),10)];

1/4*17^(1/2)*Pi

[numericky, vzorec] = [3.235147258, 3.238279588]

Rotační a šroubové plochy

>    k:=[0,cos(t)+2,sin(t)];

k := [0, cos(t)+2, sin(t)]

>    P:=revolve(k,z,alpha);

P := [sin(alpha)*(cos(t)+2), cos(alpha)*(cos(t)+2), sin(t)]

>    plot3d(P,alpha=0..2*Pi,t=0..2*Pi);

[Maple Plot]

>    P:=screw(k,1/4,z,alpha);

P := [sin(alpha)*(cos(t)+2), cos(alpha)*(cos(t)+2), sin(t)+1/4*alpha]

>    plot3d(P,alpha=0..3*Pi,t=0..2*Pi);

[Maple Plot]

 Gaussova a střední křivost  sféry s poloměrem R

>    S:=[R*cos(u)*cos(v),R*sin(u)*cos(v),R*sin(v)];

S := [R*cos(u)*cos(v), R*sin(u)*cos(v), R*sin(v)]

>    `křivosti plochy`=[GaussCurvature(S,u,v),MeanCurvature(S,u,v)];

`křivosti plochy` = [1/(R^2), -1/R]

Koeficienty první kvadratické formy plochy

>    [E(S,u,v),F(S,u,v),G(S,u,v)];diskriminanty:=[D1(S,u,v),D2(S,u,v)];

[R^2*cos(v)^2, 0, R^2]

diskriminanty := [R^4*cos(v)^2, R^2*cos(v)^2]

Matice pro určení hlavních směrů

>    PrincipalMatrix(S,u,v);

matrix([[x^2, -x*y, y^2], [R^2, 0, R^2*cos(v)^2], [-R, 0, -R*cos(v)^2]])

Implicitní rovnice pro Dupinovu indikatrix plochy v daném bodě

>    dupin(S,u,v,0,0);

[-R*x^2+1-R*y^2, -R*x^2-1-R*y^2]

>    implicitplot(subs(R=1,dupin(S,u,v,0,0)[1]),x=-1..1,y=-1..1);

[Maple Plot]

Rotační plocha je zparametrizována hlavními křivkami.  

>    Rot:=[cos(u)*y(v),sin(u)*y(v),1*z(v)];

Rot := [cos(u)*y(v), sin(u)*y(v), z(v)]

>    EFG:=[E(Rot,u,v),F(Rot,u,v),G(Rot,u,v)];

EFG := [y(v)^2, 0, diff(y(v),v)^2+diff(z(v),v)^2]

>    LMN:=[L(Rot,u,v),M(Rot,u,v),N(Rot,u,v)];

LMN := [-y(v)*diff(z(v),v)/(diff(y(v),v)^2+diff(z(v),v)^2)^(1/2), 0, -(-diff(y(v),`$`(v,2))*diff(z(v),v)+diff(z(v),`$`(v,2))*diff(y(v),v))/(diff(y(v),v)^2+diff(z(v),v)^2)^(1/2)]

Anuloid

>    An:=[(2+cos(v))*cos(u),(2+cos(v))*sin(u),sin(v)];

An := [(2+cos(v))*cos(u), (2+cos(v))*sin(u), sin(v)]

Gaussova křivost plochy je funkcí parametru v  tvořícího meridiánu, tedy pro body na téže rovnoběžkové kružnici je konstantní

>    GK:=GaussCurvature(An,u,v);

GK := cos(v)/(2+cos(v))

>    plot3d(An,u=0..2*Pi,v=0..2*Pi,color=COLOR(RGB,ceil(GK),0,-GK),scaling=constrained);

[Maple Plot]

Graf závislosti Gaussovy křivosti na parametru meridiánu anuloidu. Gaussova křivost je záporná pro hyperbolické body, kladná pro eliptické body a nulová ve všech parabolických bodech, tj na kráterových rovnoběžkových kružnicích

>    plot(GK,v=0..2*Pi,thickness=3);

[Maple Plot]

Katenoid - minimální plocha, která vznikne rotací řetězovky

>    catenoid:=[u,cosh(u)*cos(v),cosh(u)*sin(v)];plot3d(catenoid,u=-1.6...1.6,v=-Pi..Pi);
`Střední křivost`=MeanCurvature(catenoid,u,v);

catenoid := [u, cosh(u)*cos(v), cosh(u)*sin(v)]

[Maple Plot]

`Střední křivost` = 0

>