ドラゴン曲線 [統計]
Rで描くフラクタル曲線。今回はドラゴン曲線。
source("turtle.R") dragon <- function(turtle, level, length, left = TRUE) { if (level == 1) { forward(turtle, length) } else if (level > 1) { if (left) { left(turtle, 45) dragon(turtle, level - 1, length / sqrt(2), TRUE) right(turtle, 90) dragon(turtle, level - 1, length / sqrt(2), FALSE) left(turtle, 45) } else { right(turtle, 45) dragon(turtle, level - 1, length / sqrt(2), TRUE) left(turtle, 90) dragon(turtle, level - 1, length / sqrt(2), FALSE) right(turtle, 45) } } else { stop("level must be positive") } } t <- turtle.init() set.location(t, c(-0.4, -0.1)) set.angle(t, 0) set.color(t, "blue") level <- 15 length <- 1.0 dragon(t, level, length, TRUE)
タグ:R library(grid)
コメント 0