sfera[r_][u_,v_]:= r*{Cos[v]Cos[u], Cos[v]Sin[u],Sin[v]}

ellissoide[a_, b_, c_][u_,v_] := {a*Cos[v]Cos[u], b*Cos[v]Sin[u], c*Sin[v]}

iper1fa[a_,b_,c_][u_,v_] :={a*Cosh[v]Cos[u],b*Cosh[v]Sin[u], c*Sinh[v]}

sds[u_,v_] := {u, v, u^3-3u*v^2}

torov[a_, b_][u_,v_] :={Cos[u]*(a+Cos[v]), Sin[u]*(b+Cos[v]), Sin[v]}

unitnormal[x_][u_,v_]:=Simplify[(Cross[D[x[uu,vv],uu],D[x[uu,vv],vv]].Cross[D[x[uu,vv],uu],D[x[uu,vv],vv]])^(-1/2)* Cross[D[x[uu,vv],uu],D[x[uu,vv],vv]]]/. {uu->u,vv->v}

unitnormal[sfera[2]][u,v]

pt[x_][u0_, v0_][u_,v_] := x[u0,v0]+D[x[uu0, vv0], uu0]*u+D[x[uu0, vv0], vv0]*v /. {uu0-> u0, vv0 -> v0}

Show[{ParametricPlot3D[sfera[2][u,v], {u, 0,Pi},{v, 0, 2Pi}, PlotRange->3.3, PlotStyle->Directive[Green,Opacity[0.8]]], ParametricPlot3D[pt[sfera[2]][0,0][u,v], {u, -.4,.4}, {v,-.4,.4}, Mesh -> None], Graphics3D[{Arrow[{sfera[2][0,0], sfera[2][0,0]+unitnormal[sfera[2]][0,0]}]}]}]

Graphics3D[{Arrow[{sfera[1][0,0], sfera[1][0,0]+unitnormal[sfera[1]][0,0]}]}]

iper1flsta[u_,v_] := {Cosh[v]Cos[u],Cosh[v]Sin[u], 2*Sinh[v]}

Show[{ParametricPlot3D[iper1flsta[u,v], {u, -2Pi,2Pi} ,{ v, -2Pi, 2Pi}, PlotRange-> {{-4,4},{-4,4},{-4,4}},PlotStyle -> {Yellow}], ParametricPlot3D[pt[iper1flsta][0,0][u,v], {u, -.4,.4}, {v,-.4,.4}, Mesh -> None,PlotStyle -> {Blue}]}]

Show[{ParametricPlot3D[torov[2,3][u,v], {u, -2Pi,2Pi} ,{ v, -2Pi, 2Pi}, PlotRange-> {{-4,4},{-4,4},{-4,4}},PlotStyle -> {Yellow}], ParametricPlot3D[pt[torov[2,3]][0,0][u,v], {u, -.4,.4}, {v,-.4,.4}, Mesh -> None,PlotStyle -> {Blue}]}]

elicoide[a_,b_][u_,v_]:={a*v*Cos[u],a*v*Sin[u],b*u}

Show[{ParametricPlot3D[torov[2,3][u,v], {u, -2Pi,2Pi} ,{ v, -2Pi, 2Pi}, PlotRange-> {{-4,4},{-4,4},{-4,4}},PlotStyle -> {Yellow}, ImageSize->Large], ParametricPlot3D[torov[2,3][u,u/2], {u, -2Pi,2Pi} , PlotRange-> {{-4,4},{-4,4},{-4,4}},PlotStyle -> {Red, Thickness[0.01]}]}]

Show[{ParametricPlot3D[torov[2,3][u,v], {u, -2Pi,2Pi} ,{ v, -2Pi, 2Pi}, PlotRange-> {{-4,4},{-4,4},{-4,4}},PlotStyle -> {Yellow}, ImageSize->Large], ParametricPlot3D[torov[2,3][u,u^2], {u, -2Pi,2Pi} , PlotRange-> {{-4,4},{-4,4},{-4,4}},PlotStyle -> {Red, Thickness[0.01]}]}]