前に作ったはずなのに見つからなかった
ドラゴンカーブのプログラムとほんのちょっとの違いで,結果はかなり違うものになる
drawC <- function(a.x, a.y, b.x, b.y, n)
{
x <- b.x-a.x
y <- a.y-b.y
c.x <- a.x+(x-y)/2
c.y <- b.y-(x-y)/2
if (n == 0) {
lines(c(a.x, c.x, b.x), c(a.y, c.y, b.y), col="red")
}
else {
drawC(a.x, a.y, c.x, c.y, n-1)
drawC(c.x, c.y, b.x, b.y, n-1)
}
}
old <- par(mar=c(0, 0, 0, 0))
plot(c(-6, 4), c(-8, 8), type="n", axes=FALSE, xlab="", ylab="", asp=1)
drawC(0, 4, 0, -4, 15)
par(old)
描画結果
n=15

n=12


n=10
ドラゴンカーブのプログラムとほんのちょっとの違いで,結果はかなり違うものになる
drawC <- function(a.x, a.y, b.x, b.y, n)
{
x <- b.x-a.x
y <- a.y-b.y
c.x <- a.x+(x-y)/2
c.y <- b.y-(x-y)/2
if (n == 0) {
lines(c(a.x, c.x, b.x), c(a.y, c.y, b.y), col="red")
}
else {
drawC(a.x, a.y, c.x, c.y, n-1)
drawC(c.x, c.y, b.x, b.y, n-1)
}
}
old <- par(mar=c(0, 0, 0, 0))
plot(c(-6, 4), c(-8, 8), type="n", axes=FALSE, xlab="", ylab="", asp=1)
drawC(0, 4, 0, -4, 15)
par(old)
描画結果
n=15

n=12


n=10
