#==========
Julia の修行をするときに,いろいろなプログラムを書き換えるのは有効な方法だ。
以下のプログラムを Julia に翻訳してみる。
奥村先生のページ
ドラゴンカーブを描く
https://oku.edu.mie-u.ac.jp/~okumura/python/dragoncurve.html
ファイル名: dragon.jl 関数名: maindragon
翻訳するときに書いたメモ
関数内の関数にすることで,global 宣言しなくてもよいことになる
ついでに,関数の引数で描画パラメータを関数の引数で与える
==========#
using Plots
function maindragon(i=10, dx=200, dy=0, sign=1)
function dragon(i, dx, dy, sign)
if i == 0
plot!([x, x+dx], [y, y+dy])
x += dx
y += dy
else
dragon(i-1, (dx-sign*dy)/2, (dy+sign*dx)/2, 1)
dragon(i-1, (dx+sign*dy)/2, (dy-sign*dx)/2, -1)
end
end
pyplot(grid=false, showaxis=false, color=:black, ticks=false,
aspect_ratio=1, label=false)
x = y = 0
plt = plot()
dragon(i, dx, dy, sign)
savefig("dragoncurve.png")
end
maindragon() # 10, 200, 0, 1
maindragon(12)
※コメント投稿者のブログIDはブログ作成者のみに通知されます