Danielle Navarro
Time | Activity |
---|---|
09:00 - 10:30 | Session 1: Get started |
10:30 - 11:00 | Coffee break |
11:00 - 12:30 | Session 2: Spatial noise tricks |
12:30 - 13:30 | Lunch break |
13:30 - 15:00 | Session 3: Polygon tricks |
15:00 - 15:30 | Coffee break |
15:30 - 17:00 | Session 4: Shading tricks |
Time | Activity |
---|---|
09:00 - 10:30 | Session 1: Iterated function systems |
10:30 - 11:00 | Coffee break |
11:00 - 12:30 | Session 2: Tiles and tesselations |
12:30 - 13:30 | Lunch break |
13:30 - 15:00 | Session 3: Pixel shaders |
15:00 - 15:30 | Coffee break |
15:30 - 17:00 | Session 4: Wrap up |
Art is personal. So I want you to have scope to explore!
Session 1: Hands on introduction to generative art. Make your own pieces using ggplot2 and dplyr
polar_art(seed = 1, n = 500, palette = c("antiquewhite", "orange", "bisque"))
polar_art(seed = 1, n = 500, palette = c("red", "black", "white"))
polar_art(seed = 2, n = 50, palette = c("red", "black", "white"))
Session 2: Multidimensional noise generators. Flow fields, fractals, and more using the ambient package
What if we want fancier patterns? Use ambient!
long_grid()
gen_perlin()
geom_raster()
blank_canvas |>
mutate(
lf_noise = gen_simplex(x, y, frequency = 1, seed = 1234),
mf_noise = gen_simplex(x, y, frequency = 20, seed = 1234),
hf_noise = gen_simplex(x, y, frequency = 99, seed = 1234),
paint = lf_noise + mf_noise + hf_noise
)
fractal_art(ridged, gen_simplex, seed = 2, octaves = 1)
fractal_art(ridged, gen_simplex, seed = 2, octaves = 2)
fractal_art(ridged, gen_simplex, seed = 2, octaves = 20)
Session 3: Create textures with recursive polygon deformation, draw wonky hearts as animated gifs, and convert boring lines to textured strokes
show_multipolygon(splotch_1, "#f51720", alpha = .2)
show_multipolygon(splotch_2, "#f8d210", alpha = .2)
show_multipolygon(splotch_3, "#059dc0", alpha = .2)
show_multipolygon(splotch_4, "#81b622", alpha = .2)
save_gif()
Session 4: Use rayshader to add depth to 2D plots, and generate 3D graphics from generative art
Session 1: Embrace the chaotic joy of the fractal flame and render quickly with Rcpp. This one is a bit technical
Session 2: Make lovely things by subdividing a rectangle, explore Voronoi tesselations, and have a passing encounter with Truchet tiles
Session 3: Manipulate ggplot objects as if they were raster graphics using ggfx: learn to dither, mask, displace, blend, and more. The flametree package makes as special guest appearance
Session 4: In which we end things by making things up as we go along, because this is, after all, an art workshop!