巴恩斯利蕨在R

时间:2018-03-10 18:22:12

标签: r fractals

我试图在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='.')

1 个答案:

答案 0 :(得分:3)

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

enter image description here