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!