Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Topic: Help needed on how plot a stereographic projection
Replies: 7   Last Post: May 31, 2013 3:18 AM

 Messages: [ Previous | Next ]
 Murray Eisenberg Posts: 2,105 Registered: 12/6/04
Re: Help needed on how plot a stereographic projection
Posted: May 31, 2013 3:16 AM

You may wish to take a look at David Park's "Presentations" add-on:

http://home.comcast.net/~djmpark/DrawGraphicsPage.html

This 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.html

written by David and me. That paper, which you may view in static form
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.edu
Mathematics & 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-1801
Amherst, MA 01003-9305

Date Subject Author
5/31/13 Bob Hanlon
5/31/13 Murray Eisenberg
5/31/13 Bob Hanlon
5/31/13 emammendes@gmail.com
5/31/13 emammendes@gmail.com