Learn R Programming

Momocs (version 1.1.6)

coo_slide: Slides coordinates

Description

Slides the coordinates so that the id1-th point become the first one.

Usage

coo_slide(coo, id1, ldk)

Arguments

coo
a matrix of (x; y) coordinates or a list, or any Coo object.
id1
numeric the id(s) 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 id1, only on Out

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 id1 is passed: all id1-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 id1-th point will be used as the id1-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 ldk is passed, id1 is ignored with a message.
See examples.

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_smoothcurve, coo_smooth, coo_template, coo_trans, coo_trimbottom, coo_trimtop, coo_trim, coo_up, is_clockwise, is_closed, is_equallyspacedradii Other sliding functions: coo_slidedirection, coo_slidegap

Examples

Run this code
stack(hearts)
# set the first landmark as the starting point
stack(coo_slide(hearts, ldk=1))
# set the 50th point as the starting point (everywhere)
stack(coo_slide(hearts, id1=50))
# set the id1-random-th point as the starting point (everywhere)
set.seed(123) # just for the reproducibility
id1_random <- sample(x=min(sapply(hearts$coo, nrow)), size=length(hearts),
replace=TRUE)
stack(coo_slide(hearts, id1=id1_random))

Run the code above in your browser using DataLab