The book Mathographics by Robert Dixon was first published in 1987, reprinted by Dover in 1991. It has many suggested projects. His published code is in Basic. His method was to outline the approach rather than spell it out. He has a good list of exercises on p. 138 that i will attempt. I almost called this posting “Homework” but gave it the more useful book title.
Dixon, R. (1991). Mathographics (Dover ed.). New York: Dover Publications.
Exercises p. 138
1a. Draw Archimedes spiral, R=K*A for A=0 to 3600. Try several values of K.
1b. Fermat’s spiral. R=K * SQR(A), for A= 0 to 3600.
1c. The complete Fermat spiral. This is the set of points (R,A) counting both solutions to the equation R^2 = K^2A,. for A = 0 to 3600.
1d. The hyperbolic spiral. R=K/A, for A = 30 to 7200. Try K=7200. This spiral corresponds to a perspective view down the axis of a regular helix.
1e. The lituus (Bishop’s crook) R = K/ SWR(A) , for A = 30 to 7200, try k=100.
1f. The logarithmic or equiangular spiral. R = K^A, for A=0 to 3600. Experiment widely with values of K.
2. False daisies with polygons. Use a hundred minimum polygons. Adjust K (spiral tightness) until the polygons are nearly touching. Note the divergent angle Dixon defines as D=360/C
2a. C= SQR (2) 2b. C = e = 2.718 2c. c= pi 2d. C=cube root 2 2e. C=5 2f. C=5/8
3. True daisy C= 1.618034
4. Program a true daisy with polygons growing exponentially, RR= 1.01^S and R=K^A. note RR is the length of a side of the polygon, S is the number of “seeds”, hence the loop counter, R=K^A is the logarithmic spiral in 1f.
5. Program a true daisy with polygons growing logistically RR=10/(1+(1.1)^(S-50)) and R=R+K*SQR(RR), for S= 0 to 100.
6. Program the following polar curves.
6a. Rose curves R=80*Sin(M*A). try M=1,2,3,4,5,6,7,10, ½, 1/3. Let A range from 0 to 360 for whole number values of M, and 0 to 360/M for the last two examples for fractional M. Odd M gives M petals ; even M gives 2M petals.
6b. Cardioid. R= 40* (1+Sin(A)), for A=0 to 360.
6c. Freeth’s nephroid. R=25*(1+2*Cos(A/2)), for A=0 to 720.
6d. Cayley’s sextic. R=80*Sin(A/3)^3), for A=0 to 1080.
6e. The cochleoid. R=80*Sin(A), for A=-1080 to 1080, except for R=80 when A=0.
6f. Conchoid of Nicomedes. R= 10/Sin(A) + K, for A=3 to 177 and A=183 to 357. Try several values of K, such as K=70, 40, 20 and 10.
6g. Cissoid of Diocles. R=20*(Cos(A)^2)/Sin(A), for A=3 to 177.
7. Conics (focus at pole). R=L/1+E*Cos(A)), for A=0 to 360. L is the semilatus rectum; try L=30 , E is the eccentricity of the conic. Try several values of E to obtain the following.
7a. The circle: E=0.
7b. Ellipses: 0 is less than E is less than 1 (some weird wordpress thing not liking less than symbol)
7c. The parabola: E=1
7d. Hyperbolae: E is greater than 1.
General note: you may need to set a trap to discontinue a curve when R exceeds some large value.