R day 1:
Fractal Background
I am reading Godel, Escher, Bach, and recursion is one of the main topics the book discussed. Recursion is a pattern and never ends, or goes to infinite. ( EX. Bach’s Fugue, Escher’s stairs, Godel incompleteness theorem).
I remember there was a Fractal Artbook in my home, i used to flip through when i didnt want to study. I think Fractal Art is one of the most interesting recursion topics!

geralt / Pixabay
Fractal Art is a never-ending self -similar pattern across different scales, like the snowflakes (Koch Snowflake).
Today we will be using GGPLOT2 to draw a fractal!
Fractal Basic
we use complex plain to express fractals.
Z=(a+b*i), i= sqrt(-1)
General Recursive formula algorithm
the initial value is C, then we repeating the calculations!
Z_{N}=Z_{n-1}^{2} +C, C=a+b*i
R Code
library(ggplot2) max_iter=25 cl=colours() step=seq(-2,0.8,by=0.005) points=array(0,dim=c(length(step)^2,3)) t=0 for(a in step) { for(b in step+0.6) { x=0;y=0;n=0;dist=0 while(n<max_iter & dist<4) { n=n+1 newx=a+x^2-y^2 newy=b+2*x*y dist=newx^2+newy^2 x=newx;y=newy } if(dist<4) { color=24 # black } else { color=n*floor(length(cl)/max_iter) } t=t+1 points[t,]=c(a,b,color) } } df=as.data.frame(points) ggplot(data=df, aes(V1, V2, color=cl[V3]))+ geom_point() + theme(legend.position = 'none', axis.text.x=element_blank(), axis.text.y=element_blank(), panel.background=element_blank(), axis.title.x=element_blank(), axis.title.y=element_blank(), panel.grid.major=element_blank(), panel.grid.minor=element_blank(), axis.ticks=element_blank() )
Summary
Besides fun to look at the fractal artwork, it has practical applications. Such as fractal dimensions provide a solution to measuring the coastline (coastline Paradox).
Reference:
http://www.r-chart.com/2010/08/fractals-in-r.html