Slides the coordinates so that the id-th point become the first one.
Arguments
- coo
matrix
of(x; y)
coordinates or any Coo object.- id
numeric
the id of the point that will become the new first point. See details below for the method on Coo objects.- ldk
numeric
the id of the ldk to use as id, only onOut
Value
a matrix
of (x; y) coordinates, or a Coo object.
Details
For Coo objects, and in particular for Out and Opn three different ways of coo_sliding are available:
no ldk passed and a single id is passed: all id-th points within the shapes will become the first points. $ldk will be slided accordingly.
no ldk passed and a vector of ids matching the length of the Coo: for every shape, the id-th point will be used as the id-th point. $ldk will be slided accordingly.
a single ldk is passed: the ldk-th ldk will be used to slide every shape. If an id is (also) passed, it is ignored with a message.
See examples.
See also
coo_slice and friends.
Other sliding functions:
coo_slidedirection()
,
coo_slidegap()
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_is_closed()
,
coo_jitter()
,
coo_left()
,
coo_likely_clockwise()
,
coo_nb()
,
coo_perim()
,
coo_range()
,
coo_rev()
,
coo_right()
,
coo_rotatecenter()
,
coo_rotate()
,
coo_sample_prop()
,
coo_samplerr()
,
coo_sample()
,
coo_scale()
,
coo_shearx()
,
coo_slice()
,
coo_slidedirection()
,
coo_slidegap()
,
coo_smoothcurve()
,
coo_smooth()
,
coo_template()
,
coo_trans()
,
coo_trimbottom()
,
coo_trimtop()
,
coo_trim()
,
coo_untiltx()
,
coo_up()
,
is_equallyspacedradii()
Examples
h <- hearts %>% slice(1:5) # for speed sake
stack(h)
# set the first landmark as the starting point
stack(coo_slide(h, ldk=1))
# set the 50th point as the starting point (everywhere)
stack(coo_slide(h, id=50))
# set the id-random-th point as the starting point (everywhere)
set.seed(123) # just for the reproducibility
id_random <- sample(x=min(sapply(h$coo, nrow)), size=length(h),
replace=TRUE)
stack(coo_slide(h, id=id_random))