#!/usr/bin/env Rscript
# Create a progress bar
cat_progress <- function(current, total, progress_len = 31, prefix = "", postfix = "") {
progress <- floor(100 * current / total)
progress_bar_progress <- floor(progress_len * progress * 0.01)
if (progress_bar_progress != 0) {
unprogressed <- progress_len - progress_bar_progress
} else {
unprogressed <- progress_len - 1
}
progress_bar <- "["
progress_bar <- paste(
c(
progress_bar,
`if`(
progress_bar_progress - 2 > 0,
rep("█", progress_bar_progress - 2),
""
)
),
collapse = ""
)
progress_bar <- paste(c(progress_bar, rep(" ", unprogressed), "]"), collapse = "")
progress_percent <- paste(c(progress, "%"), collapse = "")
postfix <- paste(c(postfix, `if`(progress == 100, "\n", "")), collapse = "")
cat(sprintf("\r%s %s %s %s", prefix, progress_bar, progress_percent, postfix))
}
# Find the Euclidean distance between the points p and q
euc_dist <- function(p, q) {
return(sqrt(sum((p - q)**2)))
}
# Find the gap needed for a circles to cover a square surface
compute_gap <- function(radius) {
return(round(sqrt(2 * radius**2) * params$gap_factor))
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.