Sphere de Riemann (projection f(z)=1/z or f(z)=z^2

Author:
ortollj
Topic:
Sphere

Script Geogebra

# https://www.youtube.com/watch?v=4kLoc8eacro&t=19s at 20 minutes zeroDistant=Slider(0.01,0.1,0.01) SetValue(zeroDistant,0.01) bounds=Slider(zeroDistant,2*pi,0.01) SetValue(bounds,pi) granularity=Slider(0.2,1,0.001) SetValue(granularity,0.5) Toggle_{z^2,1/z}=Checkbox("Z^2OrZ^-1") # choose between function z^2 or 1/z # f(z)=1/z =1/(x+i*y)=(x-i*y)/(x+i*y)*(x-i*y)= (x/(x^2-y^2),-y/(x^2-y^2)) # or # f(z)=z^2 =(x+i*y)^2=x^2-y^2+2*x*y*i=((x^2-y^2),(2*x*y*i)) #Code line inside the checkbox Ellipse (update script tab) if(Toggle_{z^2,1/z},execute({"Z_x(x,y)=x/(x^2-y^2)","Z_y(x,y)=-y/(x^2-y^2)"}),execute({"Z_x(x,y)=(x^2-y^2)","Z_y(x,y)=2*x*y"}) ) t(x, y) = 2 / (x^2 + y^2 + 1) Sphere: x^2 + y^2 + z^2 = 1 ShowLabel(Sphere,false ) SetColor(Sphere, "yellow" ) SetColor(t, "pink" ) # grid of complex H plane points of complex numbers z that will be inversed (f(z)=1/z ) Z_{x,y} = Sequence(Sequence((θ_{x},θ_{y}), θ_{x}, -bounds, bounds, granularity), θ_{y}, 0, bounds, granularity) SetColor(Z_{x,y}, "black" ) # 1/z points Z_{1/z} = Sequence(Sequence((Z_x((θ_{x},θ_{y})), Z_y((θ_{x},θ_{y}))), θ_{x}, -bounds, bounds, granularity), θ_{y}, 0, bounds, granularity) SetColor(Z_{1/z}, "green" ) SetVisibleInView( t, -1, false ) SetVisibleInView( Z_x, -1, false ) SetVisibleInView( Z_y, -1, false ) SetVisibleInView( Z_{1/z}, -1, false ) # Stereographic Projection ProjectionZ_{1/z} = Sequence(Sequence((x(Element(Z_{1/z}, n_{x},n_{y})) * t(x(Element(Z_{1/z}, n_{x},n_{y})),y(Element(Z_{1/z}, n_{x},n_{y}))),y(Element(Z_{1/z}, n_{x},n_{y})) * t(x(Element(Z_{1/z}, n_{x},n_{y})),y(Element(Z_{1/z}, n_{x},n_{y}))),t(x(Element(Z_{1/z}, n_{x},n_{y})),y(Element(Z_{1/z}, n_{x},n_{y})))-1) , n_{x}, 1, Length(Element(Z_{1/z},1)), n_{y}), n_{y}, 1, Length(Z_{1/z}), 1) SetColor(ProjectionZ_{1/z}, "blue" )