In[]:=
Module{Δθ,Δr,δr,δθ,quadraticForm,q,vertices,numberOfSpokes,numberOfRings,indexList,vertexNormals,xx,yy,curveGraph,rHatL,u1L={1,0},u2L={0,1}},rHatL[ζ_]:={Cos[ζ],Sin[ζ]};quadraticForm[a_,b_,c_][x_,y_]:=a+2bxy+c;Δθ=2π;δθ=;Δr=1.5;δr=;q[x_,y_]:=quadraticForm[1,0,-1][x,y];q[_]:=q@@;curveGraph[_,f_]:=Append[,f[]];vertices=Table[Append[r{Cos[θ],Sin[θ]},q[rCos[θ],rSin[θ]]],{r,0,Δr,δr},{θ,0,Δθ,δθ}];vertexNormals=Table[{1,0,D[q[xx,yy],xx]}{0,1,D[q[xx,yy],yy]}/.{xx->rCos[θ],yy->rSin[θ]},{r,0,Δr,δr},{θ,0,Δθ,δθ}];numberOfSpokes=Dimensions[vertices]2;numberOfRings=Dimensions[vertices]1;indexList=Table[{i,If[Mod[i,numberOfSpokes]0,i-numberOfSpokes+1,i+1],If[Mod[i,numberOfSpokes]0,i-numberOfSpokes+1,i+1]+numberOfSpokes,i+numberOfSpokes},{i,1,(numberOfRings-1)numberOfSpokes}];Graphics3DEdgeForm[],{Opacity[.8],GraphicsComplex[Flatten[vertices,1],Polygon[indexList]]},Line[curveGraph[rHatL[#],q]&/@Range[0,2π,δθ]],{Opacity[.2],LightGray,Polygon[{Cos[#],Sin[#],0}&/@Range[0,2π,δθ]]},Line[{Cos[#],Sin[#],0}&/@Range[0,2π,δθ]],Red,Arrow[Tube[1.3Δr{{-1,0,0},{1,0,0}}]],,LinecurveGraph[u1L#,q]&/@Range-Δr,Δr,,Green,Arrow[Tube[1.3Δr{{0,-1,0},{0,1,0}}]],LinecurveGraph[u2L#,q]&/@Range-Δr,Δr,,{Blue,Arrow[Tube[1.3Δr{{0,0,-1},{0,0,1}}]]},BoxedFalse
2
x
2
y
Δθ
72
Δr
18
Δr
20
Δr
20
Out[]=