算額あれこれ

算額問題をコンピュータで解きます

ダメ出し:簡明直截なプログラミングをすれば,誤りもなくなる

円を描く」にて

t <- seq(0, 2, pi/1000) * pi
x <- cos(t)
y <- sin(t)
plot(x, y, type = "l", asp = 1)

などと書いているが,

なんで,t <- seq(0, 2, pi/1000) * pi なのだろうか?意味不明である。
引数か何か誤解があるのでは?

それに,描かれた円は,閉じていない!!!

座標(1,0) のあたりを拡大すると,以下のようになっている!!

こんなことがないように,

t <- seq(0, 2*pi, length=1000)

でよいだろ

t <- seq(0, 2*pi, by=0.001)

は端点の処理という点で(t に 2*pi が含まれない),元のプログラムと同じで,今回の目的には合わない。

> t <- seq(0, 2, pi/1000) * pi
> sin(t[length(t)])
[1] -0.00611687              # 0に近くないとマズイ

> t <- seq(0, 2*pi, length=1000)
> sin(t[length(t)])
[1] -2.449294e-16            # ちゃんとやればこうなる。こうならないとだめ。