# Cracking TLP's flowing feilds
library(tidyverse)
library(ambient)
perlin_circles <- function(cx, cy, n, noise_max, octaves, r_min, r_max, seed){
if(is.null(seed)){
seed <- ambient:::random_seed()
}
tibble(
angle = seq(0, 2*pi, length.out = n),
xoff = scales::rescale(cos(angle), from = c(-1, 1), to = c(0, noise_max)),
yoff = scales::rescale(sin(angle), from = c(-1, 1), to = c(0, noise_max)),
r = scales::rescale(ambient::fracture(gen_simplex, fbm, x = xoff, y = yoff, octaves = 2, seed=seed),
from = c(-0.5, 0.5), to = c(r_min, r_max)),
x = r * cos(angle)+ cx,
y = r * sin(angle)+ cy
)
}
df <- perlin_circles(c(-5:5),c(-5:5), 1000, 0, 0, 1, 1, seed = 42)
df2 <- perlin_circles(c(-5:5),c(5:(-5)), 1000, 0, 0, 1, 1, seed = 42)
df3 <- perlin_circles(c(-5:3), c(0:3), 100000, 0, 0, 1, 1, seed = 42)
test <- perlin_circles(c(0:3),c(1:4), 100000, 3, 10, 1, 5, seed = 42)
test %>%
mutate(
layer1 = ambient::gen_perlin(
x,y, seed = 42,
frequency = .25,
fractal = "billow",
octaves = 5,
pertubation = "fractal"
),
layer2 = ambient::gen_perlin(
x,y, seed = 42,
frequency = .5,
fractal = "billow",
octaves = 10,
pertubation = "fractal"
)*layer1,
layer3 = ambient::gen_perlin(
x,y, seed = 42,
frequency = .75,
fractal = "billow",
octaves = 10,
pertubation = "fractal"
)*layer2,
layer4 = ambient::gen_perlin(
x,y, seed = 42,
frequency = .80,
fractal = "billow",
octaves = 10,
pertubation = "fractal"
)*layer3,
) %>%
ggplot()+
geom_polygon(aes(x+cos(45)*layer4,y+sin(45)*layer4, fill = "layer4"), alpha =.25)+
geom_polygon(aes(x+cos(45)*layer3,y+sin(45)*layer3, fill = "layer3"), alpha =.25)+
geom_polygon(aes(x+cos(45)*layer2,y+sin(45)*layer2, fill = "layer2"), alpha =.25)+
geom_polygon(aes(x+cos(45)*layer1,y+sin(45)*layer1, fill = "layer1"), alpha =.25)+
theme_canvas("black")+
delabj::scale_fill_delabj("retro",reverse = TRUE)+
coord_cartesian(ylim=c(1,7), xlim=c(-1.5, 8))
ggsave("ice.png", height = 10, width =10, units = "in", device = ragg::agg_png(), dpi = 320)
test %>%
mutate(
layer1 = ambient::gen_perlin(
x,y, seed = 42,
frequency = .25,
fractal = "billow",
octaves = 5,
pertubation = "fractal"
),
layer2 = ambient::gen_perlin(
x,y, seed = 42,
frequency = .5,
fractal = "billow",
octaves = 10,
pertubation = "fractal"
)*layer1,
layer3 = ambient::gen_perlin(
x,y, seed = 42,
frequency = .75,
fractal = "billow",
octaves = 10,
pertubation = "fractal"
)*layer2,
layer4 = ambient::gen_perlin(
x,y, seed = 42,
frequency = .80,
fractal = "billow",
octaves = 10,
pertubation = "fractal"
)*layer3,
) %>%
ggplot()+
geom_tile(aes(x+cos(45)*layer4,y+sin(45)*layer4, fill = "layer4"), alpha =.25, interpolate = TRUE)+
geom_tile(aes(x+cos(45)*layer3,y+sin(45)*layer3, fill = "layer3"), alpha =.25, interpolate = TRUE)+
geom_tile(aes(x+cos(45)*layer2,y+sin(45)*layer2, fill = "layer2"), alpha =.25, interpolate = TRUE)+
geom_tile(aes(x+cos(45)*layer1,y+sin(45)*layer1, fill = "layer1"), alpha =.25, interpolate = TRUE)+
theme_canvas("black")+
delabj::scale_fill_delabj("retro",reverse = TRUE)+
coord_cartesian(ylim=c(1,7), xlim=c(-1.5, 8))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.