Points to be represented
front axis
back axis
front beginning of tire
back beginning of tire
handlebar low
handlebar high
saddle front
saddle back
pedals
Coordinate system: Point 1 is front axis, point 2 is back of saddle.
loc_names <- c ('front_axis' ,
'back_axis' ,
'front_beginning_of_tire' ,
'back_beginning_of_tire' ,
'handlebar_low' ,
'handlebar_high' ,
'saddle_front' ,
'saddle_back' ,
'pedals' )
library ('digitize' )
load ('not_yet_formatted.Rdata' )
# save(list = c('koga_new', 'koga_old', 'hammerbacher'), file = 'not_yet_formatted.Rdata')
# help(package = 'digitize')
# koga_old <- digitize('koga_old.jpeg')
# koga_new <- digitize('koga_new.jpeg')
# hammerbacher <- digitize('hammerbacher.jpeg')
#
tidy_digit <- function (dat) {
var_name <- deparse (substitute (dat))
dat |>
as_tibble () |>
mutate (var_name = var_name,
loc = loc_names)
}
tidy_digit (koga_new)
# A tibble: 9 × 4
x y var_name loc
<dbl> <dbl> <chr> <chr>
1 -0.00334 -0.00309 koga_new front_axis
2 1.07 0.0401 koga_new back_axis
3 -0.321 -0.0679 koga_new front_beginning_of_tire
4 1.08 -0.383 koga_new back_beginning_of_tire
5 0.207 1.02 koga_new handlebar_low
6 0.0870 1.12 koga_new handlebar_high
7 0.722 0.978 koga_new saddle_front
8 0.997 0.994 koga_new saddle_back
9 0.622 -0.0432 koga_new pedals
# A tibble: 9 × 4
x y var_name loc
<dbl> <dbl> <chr> <chr>
1 3.33e-16 -0.00317 koga_old front_axis
2 1.14e+ 0 0.0190 koga_old back_axis
3 -3.33e- 1 0.0254 koga_old front_beginning_of_tire
4 1.15e+ 0 -0.410 koga_old back_beginning_of_tire
5 2.46e- 1 1.03 koga_old handlebar_low
6 1.01e- 1 1.19 koga_old handlebar_high
7 7.25e- 1 0.952 koga_old saddle_front
8 9.96e- 1 0.997 koga_old saddle_back
9 6.63e- 1 -0.0698 koga_old pedals
# A tibble: 9 × 4
x y var_name loc
<dbl> <dbl> <chr> <chr>
1 0.00376 0.00599 hammerbacher front_axis
2 1.20 0.0659 hammerbacher back_axis
3 -0.331 -0.150 hammerbacher front_beginning_of_tire
4 0.932 -0.275 hammerbacher back_beginning_of_tire
5 0.256 1.32 hammerbacher handlebar_low
6 0.256 1.32 hammerbacher handlebar_high
7 0.737 0.946 hammerbacher saddle_front
8 0.996 0.994 hammerbacher saddle_back
9 0.695 -0.0419 hammerbacher pedals
dd <- bind_rows (tidy_digit (koga_old),
tidy_digit (koga_new),
tidy_digit (hammerbacher))
dd |>
ggplot (aes (x, y, color = var_name)) +
geom_point ()
write_csv (dd, 'bikes.csv' )
Todo:
measure distance between axes
measure distance between