R 中的巴恩斯利蕨类植物

Barnsley fern in R

我试图在 R 中制作这个分形,它看起来几乎是正确的,但缺少主干。 我做错了什么? 这是代码:

max_i<-100000

x <- rep(0, times=max_i)
y <- x

for (i in 2:(max_i)) {
rand=runif(1, 1, 100)

if (rand<1) {
    x[i]<-0
    y[i]<-0.16*y[i-1]
}

else if (rand<7){
    x[i]<- -0.15*x[i-1]+0.28*y[i-1]
    y[i]<-0.26*x[i-1]+0.24*y[i-1]+0.44
}

else if (rand<14){
    x[i]<-0.2*x[i-1]-0.26*y[i-1]
    y[i]<-0.23*x[i-1]+0.22*y[i-1]+1.6
}

else {
    x[i]<-0.85*x[i-1]+0.04*y[i-1]
    y[i]<- -0.04*x[i-1]+0.85*y[i-1]+1.6
    }
}
plot(x,y, pch='.')

rand=runif(1, 1, 100) 应该读作 rand=runif(1, 0, 100)。在前一种情况下,rand 不能小于 1,因此永远不会使用第一个 if 语句(即词干部分)。