home Balloting Simple trig Logistic map The Attractor of Henon Number doubling Barnsley's Fern The Sierpinski Triangle Barnsley's Fern A simple four part algorithm, which incorporates randomly selected parts of the algorithm, produces a realistic looking fern. Invented by Michael Barnsley. Part one of the algorithm is selected 1% of the time. Part two of the algorithm is selected 85% of the time. Part three of the algorithm is selected 7% of the time. Part four of the algorithm is selected 7% of the time. (See program code further down.) Visual BASIC program code: Private Sub fernbtn1_Click() MAG = Val(movebox) ITER = Val(itera.Text) yshift = Val(yshiftbox.Text) Randomize Timer For a = 1 To ITER RN = Rnd(1) If RN < 0.01 Then GoTo 100 If RN < 0.86 Then GoTo 200 If RN < 0.93 Then GoTo 300 GoTo 400 100: X = 0 Y = 0.16 GoTo 500 200: X = (0.85 * X) + (0.04 * Y) Y = (-0.04 * X) + (0.85 * Y + 1.6) GoTo 500 300: X = (0.2 * X) - (0.26 * Y) Y = (0.23 * X + 0.22 * Y + 1.6) GoTo 500 400: X = (-0.15 * X) + (0.28 * Y) Y = (0.26 * X) + (0.24 * Y) + 0.44 500: TX = (X * 80 * MAG) + 600 TY = (Y * 80 * MAG) + 50 + yshift viewport.PSet (TX, TY), RGB(26, 125, 0) Next a End Sub ====================================================== home Balloting Simple trig Logistic map The Attractor of Henon Number doubling Barnsley's Fern The Sierpinski Triangle |