coo_chull_onion: Peeling points by recursively removing their convex hulls

Description Usage Arguments Value See Also Examples

View source: R/coo-shapedescriptors.R

Description

Given a population of points, recursively find their convex hull, and removed them, until less than 3 points are left. See examples below.

Usage

1

Arguments

coo

any 2-col 'matrix' or 'data.frame'

close

logical, TRUE by default, whether to close or not each onion ring

Value

a list with two components: ids and coo, ids and coordinates of the successive chull rings removed.

See Also

Other coo_ utilities: coo_aligncalliper, coo_alignminradius, coo_alignxax, coo_align, coo_baseline, coo_bookstein, coo_boundingbox, coo_calliper, coo_centdist, coo_center, coo_centpos, coo_close, coo_down, coo_dxy, coo_extract, coo_flipx, coo_force2close, coo_interpolate, coo_jitter, coo_left, coo_nb, coo_perimcum, coo_perimpts, coo_perim, coo_rev, coo_right, coo_rotatecenter, coo_rotate, coo_samplerr, coo_sample, coo_scalex, coo_scale, coo_shearx, coo_slice, coo_slidedirection, coo_slidegap, coo_slide, coo_smoothcurve, coo_smooth, coo_template, coo_trans, coo_trimbottom, coo_trimtop, coo_trim, coo_up, is_clockwise, is_closed, is_equallyspacedradii

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
x <- bot %>% efourier(6) %>% PCA
all_whisky_points <- x %>% as_df() %>% filter(type=="whisky") %>% select(PC1, PC2)
plot(x, ~type, eig=FALSE)
peeling_the_whisky_onion <- all_whisky_points %>% as.matrix %>% coo_chull_onion()
# you may need to par(xpd=NA) to ensure all segments
# even those outside the graphical window are drawn
peeling_the_whisky_onion$coo %>% lapply(coo_draw)
# simulated data
xy <- replicate(2, rnorm(50))
coo_plot(xy, poly=FALSE)
xy %>% coo_chull_onion() %$% coo %>%
lapply(polygon, col="#00000022")

Momocs documentation built on Sept. 28, 2017, 9:04 a.m.