Re: Mathematica loop question
- To: mathgroup at smc.vnet.net
- Subject: [mg118392] Re: Mathematica loop question
- From: Stefan <wutchamacallit27 at gmail.com>
- Date: Tue, 26 Apr 2011 06:50:37 -0400 (EDT)
- References: <ip60j0$aan$1@smc.vnet.net>
On Apr 26, 4:43 am, Sol Lederman <sol.leder... at gmail.com> wrote: > Hi, > > I'm teaching myself Mathematica. > > I've plotted this: > > Graphics[{ > Blue, > Disk[{5, 10}, .25], > Disk[{4, 9}, .25], > Disk[{6, 9}, .25], > Disk[{3, 8}, .25], > Disk[{5, 8}, .25], > Disk[{7, 8}, .25], > Disk[{2, 7}, .25], > Disk[{4, 7}, .25], > Disk[{6, 7}, .25], > Disk[{8, 7}, .25], > Disk[{1, 6}, .25], > Disk[{3, 6}, .25], > Disk[{5, 6}, .25], > Disk[{7, 6}, .25], > Disk[{9, 6}, .25] > }] > > Is there an elegant way to write this without a bunch of Disk statements? > I'm imagining that this would be a double nested loop. > > Thanks. > > Sol Sol, First of all, cheers to teaching yourself Mathematica, I'm also self taught (and still learning). I'd recommend attending some of the online seminars (free!) if you havent already. Second, below is what I would do, though I have shifted your points down by 5 (the top point is not at {5,10}, but {5,5} instead) because this simplified things. A quick fix would just be to add this term back in, but it makes no visual difference. The code is for a general n, where n is the number of points in the bottom row, and consequently the number of rows. In[1]:= n = 5; In[2]:= Graphics[Table[ Table[Disk[{x, y}, 0.25], {x, y, 2 n + 1 - y, 2}], {y, 1, n}]] or just for fun (takes a few seconds) In[6]:= n = 100; In[7]:= Graphics[Table[Table[{Hue[(-2Mod[x,y])/n],Disk[{x,y},x*y/n^2]}, {x,y,2 n+1-y,2}],{y,1,n}], ImageSize->{621,325},Background->Black] I did indeed use nested Table statements. Hope this helps! -Stefan S