Re: simplifying ulam spiral code

*To*: mathgroup at smc.vnet.net*Subject*: [mg56477] Re: simplifying ulam spiral code*From*: Paul Abbott <paul at physics.uwa.edu.au>*Date*: Tue, 26 Apr 2005 21:52:32 -0400 (EDT)*Organization*: The University of Western Australia*References*: <d4cmlr$39e$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

In article <d4cmlr$39e$1 at smc.vnet.net>, zak <chocolatez at gmail.com> wrote: > in the site: > http://teachers.crescentschool.org/weissworld/m3/spiral/spiral.html > there is a mathematica code for drawing ULAM'S SPIRAL > .... > > Please i hope someone transform it to a functional programming code. Ulam's spiral appeared in the second issue of The Mathematica Journal, 1(2): 39 (1990). It uses functional programming and complex numbers. I've updated that code here: - Spiral on an Integer Lattice The following code creates a spiral on an integer lattice: IntegerSpiral[n_] := {Re[#],Im[#]}& /@ Fold[Join[#1, Last[#1]+I^#2 Range[#2/2]]&, {0}, Range[n]] For example, spiral = IntegerSpiral[60]; Indexing the points on the spiral, select those points that have prime index (Pick is new in 5.1): primes = Pick[spiral, PrimeQ[Range[Length[spiral]]]]; Draw the spiral and display those with prime index as dots: spiralplot = ListPlot[spiral, PlotJoined->True, Axes -> False, AspectRatio->Automatic, Epilog -> {PointSize[0.02], Point /@ primes}]; Some patterns in the distribution of the primes are apparent. -- Paul Abbott Phone: +61 8 6488 2734 School of Physics, M013 Fax: +61 8 6488 1014 The University of Western Australia (CRICOS Provider No 00126G) 35 Stirling Highway Crawley WA 6009 mailto:paul at physics.uwa.edu.au AUSTRALIA http://physics.uwa.edu.au/~paul