Basic Abstract Spiral
## Data
ab.seq <- as.data.frame(seq(from = 1,
to = 100,
by = 1))
ab.seq$V1 <- rep(0, times = 100)
colnames(ab.seq) <- c("ab", "V1")
## Plot
ggplot() +
geom_polygon(data = (ab.seq + 250), mapping = aes(x = 1:100, y = V1),
alpha = 0.5) +
geom_point(data = (ab.seq - 150), mapping = aes(x = 1:100, y = ab)) +
geom_point(data = (ab.seq - 100), mapping = aes(x = 1:100, y = ab)) +
geom_point(data = (ab.seq - 50), mapping = aes(x = 1:100, y = ab)) +
geom_point(data = (ab.seq), mapping = aes(x = 1:100, y = ab)) +
geom_point(data = (ab.seq + 50), mapping = aes(x = 1:100, y = ab)) +
geom_point(data = (ab.seq + 100), mapping = aes(x = 1:100, y = ab)) +
geom_point(data = (ab.seq + 150), mapping = aes(x = 1:100, y = ab)) +
ylim(-100, 250) +
theme_void() +
coord_polar()
Colourful Spiral V1
## Data
ab.seq.2 <- as.data.frame(seq(from = 0,
to = 99.99,
by = 0.01))
ab.seq.2$ab2 <- seq(from = 99.99,
to = 0,
by = -0.01)
ab.seq.2$col <- rep(seq(from = 1,
to = 5,
by = 1))
ab.seq.2$V1 <- rep(0, time = 10000)
colnames(ab.seq.2) <- c("ab", "ab2", "col", "V1")
ggplot() +
geom_polygon(data = (ab.seq.2 + 200),
mapping = aes(x = 1:10000, y = (V1)), fill = "grey") +
geom_point(data = (ab.seq.2 - 100),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2 - 50),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2 + 50),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2 + 100),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2 + 150),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2 + 200),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2 - 75),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2 - 25),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2 + 25),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2 + 75),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2 + 125),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2 + 175),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
ylim(0, 200) + xlim(0, 10000) +
theme_void() +
theme(legend.position = "none") +
coord_polar()
Colourful Spiral V2
## Data
ab.seq.2 <- as.data.frame(seq(from = 0,
to = 99.99,
by = 0.01))
ab.seq.2$ab2 <- seq(from = 99.99,
to = 0,
by = -0.01)
ab.seq.2$col <- (rep(seq(from = 1,
to = 5,
by = 1)))
ab.seq.2$V1 <- rep(0, time = 10000)
colnames(ab.seq.2) <- c("ab", "ab2", "col", "V1")
ggplot() +
geom_polygon(data = (ab.seq.2 + 200),
mapping = aes(x = 1:10000, y = (V1)), fill = "lightblue") +
geom_point(data = (ab.seq.2 - 100),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2 - 50),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2 + 50),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2 + 100),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2 + 150),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2 + 200),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2 - 75),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2 - 25),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2 + 25),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2 + 75),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2 + 125),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
geom_point(data = (ab.seq.2 + 175),
mapping = aes(x = 1:10000, y = ab, colour = ab)) +
scale_colour_gradient(
low = "purple", high = "lightblue") +
ylim(0, 200) + xlim(0, 10000) +
theme_void() +
theme(legend.position = "none") +
coord_polar()
Sin Celtic Circlular Weave
fs.seq <- as.data.frame(seq(from = 1,
to = 51.3,
by = 0.25))
fs.seq$alpha <- rep(0, times = 202)
colnames(fs.seq) <- c("fs", "alpha")
ggplot() +
geom_polygon(data = fs.seq,
mapping = aes(x = 1:202, y = (alpha - 2))) +
geom_polygon(data = fs.seq,
mapping = aes(x = 1:202, y = (alpha + 2)), alpha = 0.2) +
geom_polygon(data = fs.seq,
mapping = aes(x = 1:202, y = (alpha + 4)), alpha = 0.2) +
geom_point(data = fs.seq,
mapping = aes(x = 1:202, y = (sin(fs) - 3))) +
geom_point(data = fs.seq,
mapping = aes(x = 1:202, y = (-sin(fs) - 3))) +
geom_point(data = fs.seq,
mapping = aes(x = 1:202, y = sin(fs))) +
geom_point(data = fs.seq,
mapping = aes(x = 1:202, y = -sin(fs))) +
geom_point(data = fs.seq,
mapping = aes(x = 1:202, y = (sin(fs) + 3))) +
geom_point(data = fs.seq,
mapping = aes(x = 1:202, y = (-sin(fs) + 3))) +
ylim(-10, 10) +
theme_void() +
coord_polar()
Colourful cos Celtic Circlular Weave
fs.seq <- as.data.frame(seq(from = 1,
to = 51.3,
by = 0.25))
fs.seq$alpha <- rep(0, times = 202)
colnames(fs.seq) <- c("fs", "alpha")
ggplot() +
geom_polygon(data = fs.seq,
mapping = aes(x = 1:202, y = (alpha - 2)),
alpha = 0.2, fill = "purple") +
geom_polygon(data = fs.seq,
mapping = aes(x = 1:202, y = (alpha + 2)),
alpha = 0.2, fill = "purple") +
geom_polygon(data = fs.seq,
mapping = aes(x = 1:202, y = (alpha + 4)),
alpha = 0.2, fill = "purple") +
geom_point(data = fs.seq,
mapping = aes(x = 1:202, y = ((cos(fs)-7))),
alpha = 0.8, colour = "blue") +
geom_point(data = fs.seq,
mapping = aes(x = 1:202, y = ((-cos(fs)-7))),
alpha = 0.8, colour = "red") +
geom_point(data = fs.seq,
mapping = aes(x = 1:202, y = (cos(fs) - 3)),
alpha = 0.8, colour = "blue") +
geom_point(data = fs.seq,
mapping = aes(x = 1:202, y = (-cos(fs) - 3)),
alpha = 0.8, colour = "red") +
geom_point(data = fs.seq,
mapping = aes(x = 1:202, y = cos(fs)),
alpha = 0.5, colour = "blue") +
geom_point(data = fs.seq,
mapping = aes(x = 1:202, y = -cos(fs)),
alpha = 0.5, colour = "red") +
geom_point(data = fs.seq,
mapping = aes(x = 1:202, y = (cos(fs) + 3)),
alpha = 0.2, colour = "blue") +
geom_point(data = fs.seq,
mapping = aes(x = 1:202, y = (-cos(fs) + 3)),
alpha = 0.2, colour = "red") +
ylim(-10, 10) +
theme_void() +
coord_polar()
Square Weaves
kw.seq <- (seq(from = -10,
to = 10,
by = 0.05)) %>%
expand.grid(x = ., y = .)
## Celtic Square Weave
ggplot() +
geom_point(data = kw.seq,
mapping = aes(x = (x + sin(y)), y = (y + cos(x))),
alpha = 0.01, colour = "white") +
coord_fixed() +
theme_void() +
theme(panel.background = element_rect(fill = "orange"))
## Wave Weave
ggplot() +
geom_point(data = kw.seq,
mapping = aes(x = ((x*x) + sin(y)), y = ((y*y) + cos(x))),
alpha = 0.01, colour = "white") +
coord_fixed() +
theme_void() +
theme(panel.background = element_rect(fill = "blue"))
## Multiple Square Panel Weave
ggplot() +
geom_point(data = kw.seq,
mapping = aes(x = (sin(x) + cos(x)), y = (sin(y) + cos(y))),
alpha = 0.02, colour = "white") +
geom_point(data = kw.seq,
mapping = aes(x = (sin(x) + cos(x) - 2), y = (sin(y) + cos(y) - 2)),
alpha = 0.02, colour = "blue") +
coord_fixed() +
theme_void() +
theme(panel.background = element_rect(fill = "green"))
## Square tan Weave
ggplot() +
geom_point(data = kw.seq,
mapping = aes(x = (2*x + tan(y)), y = (2*y + tan(x))),
alpha = 0.02, colour = "white") +
ylim(-50, 50) + xlim(-50, 50) +
coord_fixed() +
theme_void() +
theme(panel.background = element_rect(fill = "green"))
## Jellyfish
ggplot() +
geom_point(data = kw.seq,
mapping = aes(x = (sqrt(x) + (sin(y))), y = (sqrt(y) + (sin(x)))),
alpha = 0.1, colour = "blue") +
coord_fixed() +
theme_void() +
theme(panel.background = element_rect(fill = "orange"))
## Random Square
ggplot() +
geom_point(data = (kw.seq + 25),
mapping = aes(x = (sqrt(x) + (sin(y))), y = (sqrt(y) + (sin(x)))),
alpha = 0.02, colour = "blue") +
coord_fixed() +
theme_void() +
theme(panel.background = element_rect(fill = "lightpink"))
##
ggplot() +
geom_point(data = (kw.seq),
mapping = aes(x = (cos(x^2)^2 + sin(y)), y = (cos(y^2)^2 + sin(x)),
colour = x, alpha = y)) +
geom_point(data = (kw.seq),
mapping = aes(x = (cos(x^2)^2 + sin(y)), y = (cos(y^2)^2 + sin(x)),
colour = -x, alpha = -y)) +
coord_fixed() +
theme_void() +
theme(panel.background = element_rect(fill = "blue"),
legend.position = "none")
Complex Designs
Based on Fronkonstin’s blog
Summoning Cthulhu
sc.seq <- seq(from = -3,
to = 3,
by = 0.01) %>%
expand.grid(x = ., y = .)
ggplot(data = sc.seq,
mapping = aes(x=(x^3-sin(y^2)), y=(y^3-cos(x^2)))) +
geom_point(alpha=.1, shape=20, size=0, color="white") +
theme_void() +
theme(panel.background = element_rect(fill="black")) +
coord_polar()
Marine Creature
mc.seq <- seq(from = -10,
to = 10,
by = 0.05) %>%
expand.grid(x = ., y = .)
ggplot(data = mc.seq,
mapping = aes(x=(x^2+pi*cos(y)^2), y=(y+pi*sin(x)))) +
geom_point(alpha=.1, shape=20, size=1, color="black")+
theme_void()+coord_fixed()