Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
23
Task/Mandelbrot-set/R/mandelbrot-set-1.r
Normal file
23
Task/Mandelbrot-set/R/mandelbrot-set-1.r
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
iterate.until.escape <- function(z, c, trans, cond, max=50, response=dwell) {
|
||||
#we iterate all active points in the same array operation,
|
||||
#and keeping track of which points are still iterating.
|
||||
active <- seq_along(z)
|
||||
dwell <- z
|
||||
dwell[] <- 0
|
||||
for (i in 1:max) {
|
||||
z[active] <- trans(z[active], c[active]);
|
||||
survived <- cond(z[active])
|
||||
dwell[active[!survived]] <- i
|
||||
active <- active[survived]
|
||||
if (length(active) == 0) break
|
||||
}
|
||||
eval(substitute(response))
|
||||
}
|
||||
|
||||
re = seq(-2, 1, len=500)
|
||||
im = seq(-1.5, 1.5, len=500)
|
||||
c <- outer(re, im, function(x,y) complex(real=x, imaginary=y))
|
||||
x <- iterate.until.escape(array(0, dim(c)), c,
|
||||
function(z,c)z^2+c, function(z)abs(z) <= 2,
|
||||
max=100)
|
||||
image(x)
|
||||
16
Task/Mandelbrot-set/R/mandelbrot-set-2.r
Normal file
16
Task/Mandelbrot-set/R/mandelbrot-set-2.r
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#install.packages("caTools") # install external package (if missing)
|
||||
library(caTools) # external package providing write.gif function
|
||||
jet.colors <- colorRampPalette(c("red", "blue", "#007FFF", "cyan", "#7FFF7F",
|
||||
"yellow", "#FF7F00", "red", "#7F0000"))
|
||||
dx <- 800 # define width
|
||||
dy <- 600 # define height
|
||||
C <- complex(real = rep(seq(-2.5, 1.5, length.out = dx), each = dy),
|
||||
imag = rep(seq(-1.5, 1.5, length.out = dy), dx))
|
||||
C <- matrix(C, dy, dx) # reshape as square matrix of complex numbers
|
||||
Z <- 0 # initialize Z to zero
|
||||
X <- array(0, c(dy, dx, 20)) # initialize output 3D array
|
||||
for (k in 1:20) { # loop with 20 iterations
|
||||
Z <- Z^2 + C # the central difference equation
|
||||
X[, , k] <- exp(-abs(Z)) # capture results
|
||||
}
|
||||
write.gif(X, "Mandelbrot.gif", col = jet.colors, delay = 100)
|
||||
Loading…
Add table
Add a link
Reference in a new issue