巴恩斯利蕨 The Barnsley Fern
巴恩斯利蕨学习链接
下面用R画一下:
npts<-50000
point_mat<-matrix(data=NA,nrow=npts,ncol=2)
list_fun<-list(
f1=function(x,y){c(0., 0.16*y)} # R里的匿名函数
f2=function(x,y){c(0.85*x + 0.04*y, -0.04*x + 0.85*y + 1.6)},
f3=function(x,y){c(0.2*x - 0.26*y, 0.23*x + 0.22*y + 1.6)},
f4=function(x,y){c(-0.15*x + 0.28*y, 0.26*x + 0.24*y + 0.44)}
)
x<-0;y<-0
for (i in 1:npts) {
point_mat[i,]<-c(x,y)
random<-sample(list_fun,size=1,replace=TRUE,
prob=c(0.01, 0.85, 0.07, 0.07))[[1]]
vec<-random(x,y)
x<-vec[1];y<-vec[2]
}
# 画图
plot(point_mat[,1],point_mat[,2],
type='p',pch=19,col='#008000',cex=0.1,
xlab='',ylab='')
图形如下: