mirror of
https://github.com/ryantimpe/brickr.git
synced 2026-01-04 12:51:15 -06:00
Nudge all brick collection calculations to the right and up. This reduces the # of smaller bricks. A 24x24 is now only comprised of 2x4 bricks. As it should be.
This commit is contained in:
@@ -13,147 +13,147 @@ collect_bricks <- function(image_list, mosaic_type = "flat"){
|
||||
img <- in_list$Img_lego %>%
|
||||
dplyr::select(Level, x, y, Lego_name, Lego_color) %>%
|
||||
#4x2 bricks - horizontal
|
||||
dplyr::group_by(Level, xg = x %/% 4, yg = y %/% 2) %>%
|
||||
dplyr::group_by(Level, xg = (x-1) %/% 4, yg = (y-1) %/% 2) %>%
|
||||
dplyr::mutate(g_1_x4y2_0 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 8,
|
||||
paste0("x4y2_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x2 bricks - horizontal- offset 1,0
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+1) %/% 4, yg = y %/% 2) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+0) %/% 4, yg = (y-1) %/% 2) %>%
|
||||
dplyr::mutate(g_1_x4y2_1 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 8,
|
||||
paste0("x4y2_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x2 bricks - horizontal- offset 2,0
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+2) %/% 4, yg = y %/% 2) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+1) %/% 4, yg = (y-1) %/% 2) %>%
|
||||
dplyr::mutate(g_1_x4y2_2 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 8,
|
||||
paste0("x4y2_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x2 bricks - horizontal- offset 3,0
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+3) %/% 4, yg = y %/% 2) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+2) %/% 4, yg = (y-1) %/% 2) %>%
|
||||
dplyr::mutate(g_1_x4y2_3 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 8,
|
||||
paste0("x4y2_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x2 bricks - horizontal- offset 0,1
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+0) %/% 4, yg = (y+1) %/% 2) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x-1) %/% 4, yg = (y+0) %/% 2) %>%
|
||||
dplyr::mutate(g_1_x4y2_4 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 8,
|
||||
paste0("x4y2_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x2 bricks - horizontal- offset 1,1
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+1) %/% 4, yg = (y+1) %/% 2) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+0) %/% 4, yg = (y+0) %/% 2) %>%
|
||||
dplyr::mutate(g_1_x4y2_5 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 8,
|
||||
paste0("x4y2_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x2 bricks - horizontal- offset 2,1
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+2) %/% 4, yg = (y+1) %/% 2) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+1) %/% 4, yg = (y+0) %/% 2) %>%
|
||||
dplyr::mutate(g_1_x4y2_6 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 8,
|
||||
paste0("x4y2_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x2 bricks - horizontal- offset 3,1
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+3) %/% 4, yg = (y+1) %/% 2) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+2) %/% 4, yg = (y+0) %/% 2) %>%
|
||||
dplyr::mutate(g_1_x4y2_7 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 8,
|
||||
paste0("x4y2_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x2 bricks - vertical
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x %/% 2, yg = y %/% 4) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x %/% 2, yg = (y-1) %/% 4) %>%
|
||||
dplyr::mutate(g_2_x2y4_0 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 8,
|
||||
paste0("x2y4_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x2 bricks - vertical - offset 0,1
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x) %/% 2, yg = (y+1) %/% 4) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x-1) %/% 2, yg = (y+0) %/% 4) %>%
|
||||
dplyr::mutate(g_2_x2y4_1 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 8,
|
||||
paste0("x2y4_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x2 bricks - vertical - offset 0,2
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+0) %/% 2, yg = (y+2) %/% 4) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x-1) %/% 2, yg = (y+1) %/% 4) %>%
|
||||
dplyr::mutate(g_2_x2y4_2 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 8,
|
||||
paste0("x2y4_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x2 bricks - vertical - offset 0,3
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+0) %/% 2, yg = (y+3) %/% 4) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x-1) %/% 2, yg = (y+2) %/% 4) %>%
|
||||
dplyr::mutate(g_2_x2y4_3 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 8,
|
||||
paste0("x2y4_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x2 bricks - vertical - offset 1, 0
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+1) %/% 2, yg = y %/% 4) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+0) %/% 2, yg = (y-1) %/% 4) %>%
|
||||
dplyr::mutate(g_2_x2y4_4 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 8,
|
||||
paste0("x2y4_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x2 bricks - vertical - offset 1,1
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+1) %/% 2, yg = (y+1) %/% 4) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+0) %/% 2, yg = (y+0) %/% 4) %>%
|
||||
dplyr::mutate(g_2_x2y4_5 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 8,
|
||||
paste0("x2y4_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x2 bricks - vertical - offset 1,2
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+1) %/% 2, yg = (y+2) %/% 4) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+0) %/% 2, yg = (y+1) %/% 4) %>%
|
||||
dplyr::mutate(g_2_x2y4_6 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 8,
|
||||
paste0("x2y4_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x2 bricks - vertical - offset 1,3
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+1) %/% 2, yg = (y+3) %/% 4) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+0) %/% 2, yg = (y+2) %/% 4) %>%
|
||||
dplyr::mutate(g_2_x2y4_7 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 8,
|
||||
paste0("x2y4_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#2x2 bricks
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x %/% 2, yg = y %/% 2) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x-1) %/% 2, yg = (y-1) %/% 2) %>%
|
||||
dplyr::mutate(g_5_x2y2_0 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 4,
|
||||
paste0("x2y2_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#2x2 bricks - offset by 1,1
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+1) %/% 2, yg = (y+1) %/% 2) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+0) %/% 2, yg = (y+0) %/% 2) %>%
|
||||
dplyr::mutate(g_5_x2y2_1 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 4,
|
||||
paste0("x2y2_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x1 bricks - horizontal
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x %/% 4, yg = y ) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x-1) %/% 4, yg = (y-1) ) %>%
|
||||
dplyr::mutate(g_7_x4y1_0 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 4,
|
||||
paste0("x4y1_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x1 bricks - horizontal - offset 1
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+1) %/% 4, yg = y ) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+0) %/% 4, yg = (y-1) ) %>%
|
||||
dplyr::mutate(g_7_x4y1_1 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 4,
|
||||
paste0("x4y1_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x1 bricks - horizontal - offset 2
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+2) %/% 4, yg = y ) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+1) %/% 4, yg = (y-1) ) %>%
|
||||
dplyr::mutate(g_7_x4y1_2 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 4,
|
||||
paste0("x4y1_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x1 bricks - horizontal - offset 3
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+3) %/% 4, yg = y ) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+2) %/% 4, yg = (y-1) ) %>%
|
||||
dplyr::mutate(g_7_x4y1_3 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 4,
|
||||
paste0("x4y1_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x1 bricks - vertical
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x, yg = y %/% 4) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x, yg = (y-1) %/% 4) %>%
|
||||
dplyr::mutate(g_8_x1y4_0 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 4,
|
||||
paste0("x1y4_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x1 bricks - vertical - offset 1
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x, yg = (y+1) %/% 4) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x, yg = (y+0) %/% 4) %>%
|
||||
dplyr::mutate(g_8_x1y4_1 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 4,
|
||||
paste0("x1y4_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x1 bricks - vertical - offset 2
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x, yg = (y+2) %/% 4) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x, yg = (y+1) %/% 4) %>%
|
||||
dplyr::mutate(g_8_x1y4_2 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 4,
|
||||
paste0("x1y4_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#4x1 bricks - vertical - offset 3
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x, yg = (y+3) %/% 4) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x, yg = (y+2) %/% 4) %>%
|
||||
dplyr::mutate(g_8_x1y4_3 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 4,
|
||||
paste0("x1y4_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#3x1 bricks - horizontal
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x %/% 3, yg = y ) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x-1) %/% 3, yg = y ) %>%
|
||||
dplyr::mutate(g_7_x3y1_0 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 3,
|
||||
paste0("x3y1_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#3x1 bricks - horizontal - offset 1
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+1) %/% 3, yg = y ) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+0) %/% 3, yg = y ) %>%
|
||||
dplyr::mutate(g_7_x3y1_1 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 3,
|
||||
paste0("x3y1_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#3x1 bricks - horizontal - offset 2
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+2) %/% 3, yg = y ) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+1) %/% 3, yg = y ) %>%
|
||||
dplyr::mutate(g_7_x3y1_2 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 3,
|
||||
paste0("x3y1_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#3x1 bricks - vertical
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x, yg = y %/% 3) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x, yg = (y-1) %/% 3) %>%
|
||||
dplyr::mutate(g_8_x1y3_0 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 3,
|
||||
paste0("x1y3_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#3x1 bricks - vertical - offset 1
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x, yg = (y+1) %/% 3) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x, yg = (y+0) %/% 3) %>%
|
||||
dplyr::mutate(g_8_x1y3_1 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 3,
|
||||
paste0("x1y3_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#3x1 bricks - vertical - offset 2
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x, yg = (y+2) %/% 3) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x, yg = (y+1) %/% 3) %>%
|
||||
dplyr::mutate(g_8_x1y3_2 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 3,
|
||||
paste0("x1y3_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#2x1 bricks - horizontal
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x %/% 2, yg = y ) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x-1) %/% 2, yg = y ) %>%
|
||||
dplyr::mutate(g_9_x2y1_0 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 2,
|
||||
paste0("x2y1_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#2x1 bricks - horizontal - offset 1
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+1) %/% 2, yg = y ) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = (x+0) %/% 2, yg = y ) %>%
|
||||
dplyr::mutate(g_9_x2y1_1 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 2,
|
||||
paste0("x2y1_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#2x1 bricks - vertical
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x, yg = y %/% 2) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x, yg = (y-1) %/% 2) %>%
|
||||
dplyr::mutate(g_a_x1y2_0 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 2,
|
||||
paste0("x1y2_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
#2x1 bricks - vertical - offset 1
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x, yg = (y+1) %/% 2) %>%
|
||||
dplyr::ungroup() %>% dplyr::group_by(Level, xg = x, yg = (y+0) %/% 2) %>%
|
||||
dplyr::mutate(g_a_x1y2_1 = ifelse(length(unique(Lego_name)) == 1 & dplyr::n() == 2,
|
||||
paste0("x1y2_", "x", min(x), "_y", min(y), "_", Level), NA)) %>%
|
||||
dplyr::ungroup() %>%
|
||||
|
||||
Reference in New Issue
Block a user