#
# R
#
# Fractais
#
# • Mandelbrot
# • Conjuntos de Julia
# • Domínio de McMullen
# • Navio Ardente
# • Tricórnio
#
# março 2026 23, seg — 25, qua
# by
# j
#
x <- c()
y <- c()
fractal <- function(tipo,q) {
switch(tipo,
"1" = {
xmin <- -2.0
xmax <- +2.0
ymin <- -2.0
ymax <- +2.0
n <- 500
maxiter <- 81
tit = "Fractal de Mandelbrot"
},
"2" = {
xmin <- -1.2
xmax <- +1.2
ymin <- -1.2
ymax <- +1.2
n <- 300
C <- switch(q,
0.25 - 0.55i,
0.25 + 0.55i,
0.24 + 0.54i,
0.33 + 0.57i
)
maxiter <- 81
alpha = as.character(C)
tit = paste("Conjunto de Julia | C = ",alpha)
},
"3" = {
xmin <- -2
xmax <- +2
ymin <- -2
ymax <- +2
n <- 500
lbd <- switch(q,
0.000 + 0.000i,
0.00025 + 0.000i,
0.00050 + 0.000i,
0.001 + 0.000i,
0.0025 - 0.0055i
)
p <- 3
maxiter <- 81
alpha <- as.character(lbd)
beta <- as.character(p)
tit = paste("Mapa de McMullen | p = ",beta)
tit = paste(tit," | L = ")
tit = paste(tit,alpha)
},
"4" = {
xmin <- -2
xmax <- +1
ymin <- -1.5
ymax <- +1.5
n <- 300
maxiter <- 81
tit = "Navio Ardente"
},
"5" = {
xmin <- -1.5
xmax <- +1.5
ymin <- -1.5
ymax <- +1.5
n <- 500
maxiter <- 81
tit = "Tricornio"
}
)
dx <- (xmax - xmin)/n
dy <- (ymax - ymin)/n
xn <- xmin
while (xn <= xmax) {
yn <- ymin
while (yn <= ymax) {
switch(tipo,
"1" = {
z = 0
C = xn + yn*1i
},
"2" = {
z <- xn + yn*1i
},
"3" = {
z <- xn + yn*1i
},
"4" = {
z = 0
C <- xn + yn*1i
},
"5" = {
z = 0
C = xn + yn*1i
}
)
iter <- 0
flag <- TRUE
while (iter <= maxiter && flag) {#[3]
switch(tipo,
"1" = {
z <- z^2 + C
},
"2" = {
z <- z*z + C
},
"3" = {
if (Mod(z) > 0.1) {
z = z^p + lbd/(z^p) - 1i
}
},
"4" = {
z = ( Mod(Re(z)) + 1i*Mod(Im(z)) )^2 + C
},
"5" = {
z <- Conj(z)^2 + C
}
)
if (Mod(z) > 2) {
flag <- FALSE
}
iter <- iter + 1
}
if ( flag ) {
if ( tipo == "4") {
x <- c(x,xn)
y <- c(y,-yn)
}
else {
x <- c(x,xn)
y <- c(y,yn)
}
}
yn <- yn + dy
}
xn <- xn + dx
}
plot(x, y, pch=19, main = tit, col="darkblue", cex = 0.15 )
}
fractal("5",1)
To embed this project on your website, copy the following code and paste it into your website's HTML: