Skip to contents

Shapes are centered and then, according to direction, the point northwards, southwards, eastwards or westwards the centroid, becomes the first point with coo_slide. 'right' is possibly the most sensible option (and is by default), since 0 radians points eastwards, relatively to the origin. This should be followed by a coo_untiltx is most cases to remove any rotationnal dephasing/bias.

Usage

coo_slidedirection(
  coo,
  direction = c("down", "left", "up", "right")[4],
  center,
  id
)

Arguments

coo

matrix of (x; y) coordinates or any Coo object.

direction

character one of "down", "left", "up", "right" ("right" by default)

center

logical whether to center or not before sliding

id

numeric whether to return the id of the point or the slided shapes

Value

a matrix of (x; y) coordinates, or a Coo object.

Examples

b <- coo_rotate(bot[1], pi/6) # dummy example just to make it obvious
coo_plot(b) # not the first point

coo_plot(coo_slidedirection(b, "up"))

coo_plot(coo_slidedirection(b, "right"))

coo_plot(coo_slidedirection(b, "left"))

coo_plot(coo_slidedirection(b, "down"))


# on Coo objects
b <- bot %>% slice(1:5) # for speed sake
stack(b)

stack(coo_slidedirection(b, "right"))


# This should be followed by a [coo_untiltx] in most (if not all) cases
stack(coo_slidedirection(b, "right") %>% coo_untiltx)