## ----setup, include=FALSE----------------------------------------------------- library(RandomWalker) knitr::opts_chunk$set(collapse = TRUE, comment = "#>", eval = requireNamespace("deSolve", quietly = TRUE)) ## ----generate----------------------------------------------------------------- set.seed(287) walks <- double_pendulum_walk(.num_walks = 2, .n = 101) head(walks) attr(walks, "initial_states") ## ----deterministic------------------------------------------------------------ fixed <- double_pendulum_walk(.num_walks = 2, .n = 21, .angle_sd = 0) ## ----static, eval=requireNamespace("deSolve", quietly=TRUE) && requireNamespace("ggplot2", quietly=TRUE)---- plot_double_pendulum(walks, .walk = 1) ## ----integration, warning=FALSE, eval=requireNamespace("deSolve", quietly=TRUE) && requireNamespace("ggplot2", quietly=TRUE)---- summarize_walks(walks, .value = x) visualize_walks(walks, .pluck = c("x", "y")) ## ----animation, eval=FALSE---------------------------------------------------- # animation <- animate_double_pendulum(walks, .walk = 1, .trail_length = 30) # gif <- gganimate::animate( # animation, # nframes = attr(walks, "n"), # fps = 1 / attr(walks, "delta_time"), # width = 500, height = 500, # renderer = gganimate::gifski_renderer() # ) # gganimate::anim_save("double-pendulum.gif", animation = gif)