#
# R
# Sistemas Caóticos
# Lorentz
# Rössler
# Burke-Shaw
# Chua
# Chen
# Arneodo
#
# 2026 março dom, 8 — qua, 11
# by
# j
#
x <- c()
y <- c()
z <- c()
t <- c()
x3D <- c()
y3D <- c()
teta <- 7
j <- c()
k <- c()
l <- c()
xx3D <- c()
yy3D <- c()
g <- 0.2
phi <- 30
sys3D <- function(h) {
j <- c(j,+g); k <- c(k,+g); l <- c(l,-g/2)
j <- c(j,-g); k <- c(k,+g); l <- c(l,-g/2)
j <- c(j,-g); k <- c(k,-g); l <- c(l,-g/2)
j <- c(j,+g); k <- c(k,-g); l <- c(l,-g/2)
j <- c(j,+g); k <- c(k,+g); l <- c(l,+g/2)
j <- c(j,-g); k <- c(k,+g); l <- c(l,+g/2)
j <- c(j,-g); k <- c(k,-g); l <- c(l,+g/2)
j <- c(j,+g); k <- c(k,-g); l <- c(l,+g/2)
for (i in 1:8) {
xx3D <- c(xx3D,j[i]-l[i]*cos(phi*pi/180))
yy3D <- c(yy3D,k[i]-l[i]*sin(phi*pi/180))
}
# lines(xx3D,yy3D)
segments(x0=xx3D[1]+0.5, y0=yy3D[1], x1=xx3D[2]+0.5, y1=yy3D[2], col="red", lwd=2)
segments(x0=xx3D[2]+0.5, y0=yy3D[2], x1=xx3D[3]+0.5, y1=yy3D[3], col="red", lwd=2)
segments(x0=xx3D[3]+0.5, y0=yy3D[3], x1=xx3D[4]+0.5, y1=yy3D[4], col="red", lwd=2)
segments(x0=xx3D[4]+0.5, y0=yy3D[4], x1=xx3D[1]+0.5, y1=yy3D[1], col="red", lwd=2)
segments(x0=xx3D[5]+0.5, y0=yy3D[5], x1=xx3D[6]+0.5, y1=yy3D[6], col="red", lwd=2)
segments(x0=xx3D[6]+0.5, y0=yy3D[6], x1=xx3D[7]+0.5, y1=yy3D[7], col="red", lwd=2)
segments(x0=xx3D[7]+0.5, y0=yy3D[7], x1=xx3D[8]+0.5, y1=yy3D[8], col="red", lwd=2)
segments(x0=xx3D[8]+0.5, y0=yy3D[8], x1=xx3D[5]+0.5, y1=yy3D[5], col="red", lwd=2)
segments(x0=xx3D[1]+0.5, y0=yy3D[1], x1=xx3D[5]+0.5, y1=yy3D[5], col="red", lwd=2)
segments(x0=xx3D[2]+0.5, y0=yy3D[2], x1=xx3D[6]+0.5, y1=yy3D[6], col="red", lwd=2)
segments(x0=xx3D[3]+0.5, y0=yy3D[3], x1=xx3D[7]+0.5, y1=yy3D[7], col="red", lwd=2)
segments(x0=xx3D[4]+0.5, y0=yy3D[4], x1=xx3D[8]+0.5, y1=yy3D[8], col="red", lwd=2)
}
atrator <- function(q,p,w) {
switch(q,
"1" = {
#
# Lorentz
#
tit = "Atrator de Lorentz"
x0 <- 0.1 # 8.4852813742
y0 <- 0.1 # 8.4852813742
z0 <- 0.1 # 27
sigma <- 10;
ro <- 28;
beta <- 8/3;
maxT <- 30;
dt <- 0.0025
startT <- 0.000
},
"2" = {
#
# Rössler
#
tit = "Atrator de Rossler"
x0 <- 5;
y0 <- 1;
z0 <- 3;
a <- 0.2;
b <- 0.2;
c <- 5.7;
maxT <- 100;
dt <- 0.0075
startT <- 0.000
},
"3" = {
#
# Burke-Shaw
#
tit = "Atrator de Burke-Shaw"
x0 <- 0.1
y0 <- 0.1
z0 <- 0.1
s <- 10;
V <- 4.272;
b <- 0.5;
maxT <- 150;
dt <- 0.0075
startT <- 0.000
},
"4" = {
#
# Chua
#
tit = "Circuito de Chua"
x0 <- 0.1;
y0 <- 0.1;
z0 <- 0.1;
alpha <- 3.8499 ; # 3
beta <- 4.4328; # 14
m0 = -1.7724
m1 = -0.7192
maxT <- 150;
dt <- 0.0075
startT <- 0.000
},
"5" = {
#
# Chen
#
tit = "Sistema de Chen"
x0 <- 1;
y0 <- 1;
z0 <- 1;
a <- 35
b <- 3
c <- 28
maxT <- 50;
dt <- 0.0025
startT <- 15.000
},
"6" = {
#
# Arneodo
#
tit = 'Atrator de Arneodo'
x0 <- 0.2 # 1
y0 <- 0.1 # 1
z0 <- 0
a <- 1.833 # 5.5 # 1.833
b <- 2.333 # 3.5 # 2.833
c <- 8.333 # 1.0 ×# 8.33
maxT <- 40
dt <- 0.0025
startT <- 0.000
}
)
xk <- x0
yk <- y0
zk <- z0
tm <- 0.00
while (tm <= maxT ) {
switch(q,
"1" = {
drx <- sigma*(yk-xk);
dry <- xk*(ro-zk)-yk;
drz <- xk*yk - beta*zk
},
"2" = {
drx <- -yk -zk;
dry <- xk + a*yk;
drz <- b + zk*(xk - c)
},
"3" = {
drx <- -s*(xk + yk)
dry <- -yk - s*xk*zk
drz <- s*xk*yk + V
},
"4" = {
fx <- m1*xk + (1/2)*(m0 - m1)*( abs(xk+1) - abs(xk-1) );
drx <- alpha*(yk - xk - fx);
dry <- xk - yk + zk;
drz <- -beta*yk
},
"5" = {
drx <- a*(yk - xk)
dry <- (c-a)*xk - xk*zk + c*yk
drz <- xk*yk - b*zk
},
"6" = {
drx <- yk;
dry <- zk;
drz <- a*xk - b*yk - zk - c*xk^3
}
)
xk <- xk + drx*dt
yk <- yk + dry*dt
zk <- zk + drz*dt
tm <- tm + dt
x3DD <- xk - zk*cos(teta*pi/180)
y3DD <- yk - zk*sin(teta*pi/180)
if ( tm > startT ) {
x <- c(x,xk)
y <- c(y,yk)
z <- c(z,zk)
t <- c(t,tm)
x3D <- c(x3D,x3DD)
y3D <- c(y3D,y3DD)
}
}
r = switch(p,x,x,y,y,z,z)
s = switch(p,y,z,x,z,x,y)
if ( w == 0 ) {
XR <- r
YR <- s
}
else {
XR <- x3D
YR <- y3D
}
plot(XR,YR, main = tit, pch=24, col="blue", cex = 0.25)
sys3D(0)
}
atrator("1",2,0)
To embed this project on your website, copy the following code and paste it into your website's HTML: