GaussCurvature - Gaussova křivost bodů plochy
Calling Sequence
GaussCurvature(X(u,v),u,v)
Parameters
X(u,v) - plocha daná vektorovou funkcí [x(u,v), y(u,v), z(u,v)] parametrů u, v.
u,v - parametry plochy
Description
Nejprve je třeba nastavit cestu, kde máte uloženou knihovnu "diffgeometry", např
> | restart; |
> | libname:=libname,"D:/Sarka/Maple/diffgeometry/libsarka"; |
> | with(diffgeometry); |
Výpočet Gaussovy křivosti sféry o poloměru R.
> | S:=[R*cos(u)*cos(v),R*sin(u)*cos(v),R*sin(v)];GaussCurvature(S,u,v); |
Gaussova křivost hyperbolického paraboloidu - přímkové plochy nad zborceným čtyřúhelníkem. Pro grafické znázornění použijeme Gaussovu křivost jako funkci barvy..
> | hypparaboloid:=[u,v,u-2*v*u +v];GK:=GaussCurvature(hypparaboloid,u,v):plot3d(hypparaboloid, u=0..1, v=0..1,color=GK); |
Gaussova křivost helikoidu je funkcí parametru křivky a tedy je podél šroubovic stejná. Pro grafické znázornění použijeme Gaussovu křivost jako funkci barvy.
> | helicoid:=[u*cos(v),u*sin(v),v];GK:=GaussCurvature(helicoid,u,v); plot3d(helicoid, u=0..2, v=0..2*Pi,color=GK); |
Izometrické zobrazeni helikoidu na katenoid.
Dle věty Theorema Egregium existuje izometrické (délkojevné) zobrazení ploch, jestliž mají v odpovídajících si bodech stejnou křivost. Je zadán jednoparametrický systém ploch, pro specielní hodnoty parametru t tento systém obsahuje i helikoid a katenoid. Gaussova křivost všech ploch systému je stejná, není závislá na paremetru t systému, tedy všechny plochy lze na sebe vzájemně rozvinout.
> | helicatenoid:=[cos(Pi*t/2)*sinh(v)*sin(u)+sin(Pi*t/2)*cosh(v)*cos(u), -cos(Pi*t/2)*sinh(v)*cos(u)+sin(Pi*t/2)*cosh(v)*sin(u), u*cos(Pi*t/2)+v*sin(Pi*t/2)]; |
> | GC:=GaussCurvature(helicatenoid,u,v); |
Animace izometrického zobrazeni helikoidu na katenoid. Plochy jsou obarveny Gaussovou křivostí
> | helcatplot := proc(t) |
> | local X; |
> | X := [cos(Pi*t/2)*sinh(v)*sin(u)+sin(Pi*t/2)*cosh(v)*cos(u), -cos(Pi*t/2)*sinh(v)*cos(u)+sin(Pi*t/2)*cosh(v)*sin(u), u*cos(Pi*t/2)+v*sin(Pi*t/2)]; |
> | plot3d(X,u=0..2*Pi,v=-1..1,scaling=constrained,color=GC,orientation=[40,68],grid=[25,5],lightmodel= light2,numpoints=400) |
> | end: |
> | plots[display3d](seq(helcatplot(t/20),t=0..20),insequence=true); |
> |