#' @title Create cells space
#'
#' Place initial position of the cell center
#' @param all_layers The layer dataframe
#' @param random_fact The random factor
#' @keywords root
#' @export
#' @examples
#' # all_cells = create_cells(all_layers, random_fact)
#'
create_cells <- function(all_layers, random_fact){
center <- max(all_layers$radius)
all_cells <- NULL
k <- 1
for(i in c(1:nrow(all_layers))){
radius <- all_layers$radius[i]
if(all_layers$angle_inc[i] > 0){
angles <- seq(from = 0, to = (2*pi), by = all_layers$angle_inc[i])[-1]
}else{
angles <- 0
}
k1 <- k+all_layers$n_cell[i]-1
ks <- c(k:k1)
k <- k1+1
if(all_layers$name[i] == "outside"){
x <- center + (radius * cos(angles))
y <- center + (radius * sin(angles))
}else if(all_layers$name[i] == "stele"){
x <- center + (radius * cos(angles)) + stats::runif(all_layers$n_cell[i], -random_fact, random_fact)#* runif(all_layers$n_cell[i], 1-(random_fact*2), 1+(random_fact*2))
y <- center + (radius * sin(angles)) + stats::runif(all_layers$n_cell[i], -random_fact, random_fact)
}else if(substr(all_layers$name[i], 1,6) == "cortex"){
x <- center + (radius * cos(angles)) + stats::runif(all_layers$n_cell[i], -random_fact*3, random_fact*3)#* runif(all_layers$n_cell[i], 1-(random_fact*2), 1+(random_fact*2))
y <- center + (radius * sin(angles)) + stats::runif(all_layers$n_cell[i], -random_fact*3, random_fact*3)##* runif(all_layers$n_cell[i], 1-(random_fact*2), 1+(random_fact*2))
}else{
x <- center + (radius * cos(angles)) + stats::runif(all_layers$n_cell[i], -random_fact, random_fact)#* runif(all_layers$n_cell[i], 1-random_fact, 1+random_fact)
y <- center + (radius * sin(angles)) + stats::runif(all_layers$n_cell[i], -random_fact, random_fact)#* runif(all_layers$n_cell[i], 1-random_fact, 1+random_fact)
}
all_cells <- rbind(all_cells, data.frame(
angle = angles,
radius = radius,
x = x,
y = y,
id_layer = i,
id_cell = ks,
type = all_layers$name[i],
order = all_layers$order[i]
)
)
}
return(all_cells)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.