```Date: May 31, 2013 3:16 AM
Author: Murray Eisenberg
Subject: Re: Help needed on how plot a stereographic projection

You may wish to take a look at David Park's "Presentations" add-on:  http://home.comcast.net/~djmpark/DrawGraphicsPage.htmlThis includes, among a host of useful things, a built-in stereographic projection function as well as built-in functions for displaying graphics objects defined directly in terms of complex numbers (i.e. without your having to tear them apart in to real and imaginary part) and complex functions, including the Riemann sphere.Some examples of what's possible with complex numbers and complex functions, among other things (and aside from those in the extensive Presentations documentation), are available at  http://www.st-andrews.ac.uk/~pl10/c/djmpark/(you can view the pdf versions there without needing the package) and in the paper "Visualizing Complex Functions with the Presentations Application"  http://www.mathematica-journal.com/issue/v11i2/EisenbergPark.htmlwritten by David and me. That paper, which you may view in static form in the pdf version, includes an example of using stereographic projection to lift a complex function to the Riemann sphere.On May 30, 2013, at 6:14 AM, Eduardo M. A. M. Mendes <emammendes@gmail.com> wrote:>> Although I have been using Mathematica for more than year, I feel that I haven't barely scratched the surface of what Mathematica can do. >> The following example gives the result that I need but the outcome is ugly and slow.>> ClearAll[stereographicProjection];>> stereographicProjection::usage="stereographicProjection[complexnumber] will return the stereoprojection of a complex point considering the Riemann sphere";>> SyntaxInformation[stereographicProjection]={"ArgumentsPattern"->{_}};>> stereographicProjection[complexnumber_]:=> Module[{a1,a2,a3},> If[ComplexExpand[Abs[complexnumber]]==Infinity,> a1=0;a2=0;a3=1,> > a1=ComplexExpand[Re[complexnumber]]/(1+ComplexExpand[Abs[complexnumber]]^2);>> a2=ComplexExpand[Im[complexnumber]]/(1+ComplexExpand[Abs[complexnumber]]^2);> > a3=ComplexExpand[Abs[complexnumber]]^2/(1+ComplexExpand[Abs[complexnumber]]^2)];> {a1,a2,a3}> ]>> tab3=Table[stereographicProjection[(s+1)/(s^2 (s-1))/.{s-> I \[Omega]}],{\[Omega],-1000,1000,0.1}];>> > Show[ContourPlot3D[x^2+y^2+(z-1/2)^2==(1/2)^2,{x,-1,1},{y,-1,1},{z,0,1},Mesh->Automatic,AxesLabel-> {"x","y","z"},BoxRatios->{1,1,1/2},ImageSize->  Large],ListPointPlot3D[tab3,PlotStyle->Directive[PointSize[Large],Magenta],ImageSize-> > Large],ListPointPlot3D[{stereographicProjection[-1]},PlotStyle->Directive[PointSize[0.02],Red]],ImageSize-> Large]>> a) Is there another way of getting the same plot?> b) How to get the points of tab3 connected?> c) How to change the opacity of the sphere?>>> Improvements, suggestion and critiscims are welcome. >> Many thanks>> Ed>---Murray Eisenberg                                    murray@math.umass.eduMathematics & Statistics Dept.      Lederle Graduate Research Tower            phone 413 549-1020 (H)University of Massachusetts                               413 545-2838 (W)710 North Pleasant Street                         fax   413 545-1801Amherst, MA 01003-9305
```