小西 弘将です。

>|最新のものでもbiorhythm.rbは完走しないので...
>|下のをコミットしても良いでしょうか?
>
>どうせならこうしたいです。
>
>-  for z in (dd - bd)..(dd - bd + display_period)
>+  (dd - bd).step(dd - bd + display_period) do |z|
なるほど、そのほうがきれいですね。そう変えると、

 1.
   -    phys, emot, geist = getPosition(z)
   +    phys, emot, geist = getPosition(z.to_i)
 2.
   -  phys = (50.0 * (1.0 + sin((z / 23.0 - (z / 23)) * 360.0 * pi / 180.
0))).to_i
   -  emot = (50.0 * (1.0 + sin((z / 28.0 - (z / 28)) * 360.0 * pi / 180.
0))).to_i
   -  geist =(50.0 * (1.0 + sin((z / 33.0 - (z / 33)) * 360.0 * pi / 180.
0))).to_i
   +  phys = (50.0 * (1.0 + sin(pi * ((z % 23)/23*360/180)) )).to_i
   +  emot = (50.0 * (1.0 + sin(pi * ((z % 28)/28*360/180)) )).to_i
   +  geist =(50.0 * (1.0 + sin(pi * ((z % 33)/33*360/180)) )).to_i
のどちらかを加える必要があります。
2.の方がRationalを使っているという感じはします。

#〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
# 小西 弘将 ( KONISHI Hiromasa )
# konishih / fd6.so-net.ne.jp
#〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜