<<  SURFS.m

surfs

ParametricPlot3D[sphere[3][u, v] // Evaluate, {u, 0, Pi}, {v, 0, 
        2  Pi}]

?sphere

?torus

ee[x_][u_, v_] := 
      Simplify[D[x[uu, vv], uu] . D[x[uu, vv], uu]] /. {uu -> u, 
          vv -> v}

ff[x_][u_, v_] := 
      Simplify[D[x[uu, vv], uu] . D[x[uu, vv], vv]] /. {uu -> u, 
          vv -> v}

gg[x_][u_, v_] := 
      Simplify[D[x[uu, vv], vv] . D[x[uu, vv], vv]] /. {uu -> u, 
          vv -> v}

ee[sphere[a]][u, v]

pff[x_][u_, 
        v_] := {{ee[x][uu, vv], ff[x][uu, vv]}, {ff[x][uu, 
              vv], gg[x][uu, vv]}}/.{uu -> u, 
          vv -> v}

pff[sphere[a]][u, v] // MatrixForm

Det[pff[sphere[a]][u, v]]

?torus

pff[torus[a, b]][u, v] // MatrixForm

eee[x_][u_, 
        v_] := Simplify[
          Det[{D[x[uu, vv], uu, uu], D[x[uu, vv], uu], D[x[uu, vv], vv]}]/
            Sqrt[Det[pff[x][uu, vv]]]]/.{uu -> u, 
          vv -> v}

fff[x_][u_, 
        v_] := Simplify[
          Det[{D[x[uu, vv], uu, vv], D[x[uu, vv], uu], D[x[uu, vv], vv]}]/
            Sqrt[Det[pff[x][uu, vv]]]]/.{uu -> u, 
          vv -> v}

ggg[x_][u_, 
        v_] := Simplify[
          Det[{D[x[uu, vv], vv, vv], D[x[uu, vv], uu], D[x[uu, vv], vv]}]/
            Sqrt[Det[pff[x][uu, vv]]]]/.{uu -> u, 
          vv -> v}

sff[x_][u_, 
        v_] := {{eee[x][uu, vv], fff[x][uu, vv]}, {fff[x][uu, 
              vv], ggg[x][uu, vv]}}/.{uu -> u, 
          vv -> v}

sff[sphere[a]][u, v] // PowerExpand // MatrixForm

sff[torus[a, b]][u, v] // PowerExpand // MatrixForm

cgauss[x_][u_, 
        v_] := Simplify[
          Det[sff[x][uu, vv] . 
              Inverse[pff[x][uu, vv]]]]/.{uu -> u, 
          vv -> v}

cgauss[sphere[a]][u, v]

cgauss[torus[a, b]][u, v]

cmedia[x_][u_, 
        v_] := Simplify[
          Tr[sff[x][uu, vv] . Inverse[pff[x][uu, vv]]]/
            2]/.{uu -> u, vv -> v}

cmedia[sphere[a]][u, v] // PowerExpand

cmedia[torus[a, b]][u, v] // PowerExpand

?catenoid

ParametricPlot3D[catenoid[1][u, v] // Evaluate, {u, 0, 
        3  Pi/ 2}, {v, -1.5, 1.5}, 
      ViewPoint -> {-0.241,  -1.462,  3.042}]

pff[catenoid[a]][u, v] // MatrixForm

sff[catenoid[a]][u, v] // MatrixForm // PowerExpand

cgauss[catenoid[a]][u, v] // MatrixForm

cmedia[catenoid[a]][u, v] // MatrixForm

?ellipsoid

pff[ellipsoid[a, b, c]][u, v] // MatrixForm // 
      PowerExpand
sff[ellipsoid[a, b, c]][u, v] // MatrixForm // 
      PowerExpand
cgauss[ellipsoid[a, b, c]][u, v] // MatrixForm // 
      PowerExpand
cmedia[ellipsoid[a, b, c]][u, v] // MatrixForm // 
      PowerExpand

?helicoid

ParametricPlot3D[helicoid[1, 1, 0.3][u, v] // Evaluate, {u, 0, 
        4  Pi}, {v, -1, 1}, ViewPoint -> {1.228,  -2.776,  1.495}, 
      Boxed -> False, Axes -> None]

pff[helicoid[a, a, c]][u, v] // MatrixForm // 
      PowerExpand
sff[helicoid[a, a, c]][u, v] // MatrixForm // 
      PowerExpand
cgauss[helicoid[a, a, c]][u, v] // MatrixForm // 
      PowerExpand
cmedia[helicoid[a, a, c]][u, v] // MatrixForm // 
      PowerExpand

?monkeysaddle

ParametricPlot3D[
      monkeysaddle[u, v], {u, -1.1, 1.1}, {v, -1.1, 1.1}, 
      ViewPoint -> {1.228,  -2.776,  1.495}, Boxed -> False, 
      Axes -> None, AspectRatio -> 1.2]

pff[monkeysaddle][u, v] // MatrixForm // 
      PowerExpand
sff[monkeysaddle][u, v] // MatrixForm // 
      PowerExpand
cgauss[monkeysaddle][u, v] // MatrixForm // 
      PowerExpand
cmedia[monkeysaddle][u, v] // MatrixForm // 
      PowerExpand

Plot3D[-((36 ((u^2) + 
                      (v^2)))/(((1 + 9 (u^4) + 18 (u^2) (v^2) + 9 (v^4)))^2)),{u, -2, 2},{v, -2, 2}]

?moebiusstrip

ParametricPlot3D[moebiusstrip[1][u, v] // Evaluate, {u, 0, 
        2  Pi}, {v, -0.3, 0.3}, 
      ViewPoint -> {1.228,  -2.776,  1.495}, Boxed -> False, 
      Axes -> None, AspectRatio -> 1.2]

pff[moebiusstrip[1]][u, v] // MatrixForm
sff[moebiusstrip[1]][u, v] // MatrixForm
cgauss[moebiusstrip[1]][u, v]
cmedia[moebiusstrip[1]][u, v]