R/spiral-coords.R

Defines functions spiral_coords

Documented in spiral_coords

#' Create spiral coordinates
#'
#' @param xo Spiral origin x coordinate
#' @param yo Spiral origin y coordinate
#' @param n_points Number of points on whole spiral (equally spaced in angle)
#' @param n_turns Number of turns in spital
#' @param r0 Spiral inner radius
#' @param r1 Spiral outer radius
#' @param offset_angle Offset angle for start of spiral (in degrees)
#'
#' @return A tibble of x and y coordinates
spiral_coords <- function(xo, yo, n_points, n_turns, r0, r1, offset_angle){

  b <- (r1 - r0)/(2*pi*n_turns)
  l <- seq(0, 2*pi*n_turns, l=n_points)

  # Create spiral coordinates as lines
  tibble::tibble(x = (r0 + (b*l))*cos(l + offset_angle*(pi/180)) + xo,
                 y = (r0 + (b*l))*sin(l + offset_angle*(pi/180)) + yo)
}
cj-holmes/spiraplot documentation built on Dec. 19, 2021, 4:59 p.m.