植物の葉の絵をRの正葉曲線を使って描いてみる。
正葉曲線は、
x = a cos(θ)
y = a sin(θ)
で表せる。
例えば、Rで9枚の葉を描く場合、Rのコンソールに以下の行を順番に入力する。
> t<-c(1:3600)
> u<-2*pi*t/3600
> x<-sin(u*9)
> y<-x*(cos(u))
> z<-x*(sin(u))
> plot(y, z, col = "darkgreen")
せっかくなのでScriptを書いてみる。
これをテキストファイルleaves.Rとしてにデスクトップに保存し、Rで読み込んでスクリプトをrunする。
> source('~/Desktop/leaves.R', chdir = TRUE)
> leaves(5)
奇数の場合は、これでOK。
だが、「5」のところに偶数の数値を入れると、2n枚になってしまう。
例えば、6を入力した場合には12枚になる。
偶数の場合には「奇数を入力してください」とメッセージを出すようにした。
次に、偶数の場合にn=n/2として計算させる。
ちょっとだけ解決する。
ただし、2, 6, 10, 14, 18…と、n/2 が奇数になる場合には解決できないので、エラーを返すようにした。
errorを返すスクリプト
さらに、近似値の葉の枚数を描くようにした。
近似値を描くスクリプト
追記:時間のあるときにもう少し工夫してみるかも。