早朝4時に「破水したかも」と起こされる。 さっそく妻を病院につれていく。
玄関を出たら、ちょうど正面に満月が輝いていた。
妻を病院に送っていって、pomで調べると
matz@x31[~] pom 2004102804 Thu 2004 Oct 28 04:00:00 (JST): The Moon was Full
だそうだ。そういえば、「出産は満月に多い」と聞いたことがある。
うちの子で調べてみると、長女は新月(5% full)だったが、次女はほぼ満月(98% full)、 長男はちょっと足りない(67% full)だった。サンプル数が少なすぎるが、 なんとなく満月に近い傾向はあるような気がする。
pomはThe Epoch(1970-01-01 00:00 UTC)以前は計算できないようで、 自分の産まれた時は計算できなかった。年寄り。
後でアルゴリズムを調べてRubyで計算してみよう。
追記
pomのソースをベースにハックしてみた。
# Copyright (c) 1989, 1993
# The Regents of the University of California. All rights reserved.
require 'time'
EPOCH_MINUS_1970=(20 * 365 + 5 - 1) # 20 years, 5 leaps, back 1 day to Jan 0
EPSILONg=279.403303 # solar ecliptic long at EPOCH
RHOg=282.768422 # solar ecliptic long of perigee at EPOCH
ECCEN=0.016713 # solar orbit eccentricity
LZERO=318.351648 # lunar mean long at EPOCH
Pzero=36.340410 # lunar mean long of perigee at EPOCH
Nzero=318.510107 # lunar mean long of node at EPOCH
include Math
def potm(days)
n = 360 * days / 365.242191
n = adj360(n)
msol = n + EPSILONg - RHOg
msol = adj360(msol)
ec = 360 / PI * ECCEN * sin(dtor(msol))
lambdasol = n + ec + EPSILONg
lambdasol = adj360(lambdasol)
l = 13.1763966 * days + LZERO
l = adj360(l);
mm = l - (0.1114041 * days) - Pzero
mm = adj360(mm);
nm = Nzero - (0.0529539 * days)
nm = adj360(nm);
ev = 1.2739 * sin(dtor(2*(l - lambdasol) - mm))
ac = 0.1858 * sin(dtor(msol))
a3 = 0.37 * sin(dtor(msol))
mmprime = mm + ev - ac - a3
ec = 6.2886 * sin(dtor(mmprime))
a4 = 0.214 * sin(dtor(2 * mmprime))
lprime = l + ev + ec - ac + a4
v = 0.6583 * sin(dtor(2 * (lprime - lambdasol)))
ldprime = lprime + v
d = ldprime - lambdasol
return(50.0 * (1 - cos(dtor(d))))
end
def dtor(deg)
deg * Math::PI / 180
end
def adj360(deg)
loop do
if (deg < 0)
deg += 360;
elsif (deg > 360)
deg -= 360;
else
return deg
end
end
end
tmpt = (ARGV[0] ? Time.parse(ARGV[0]) : Time.now).to_i
days = (tmpt - EPOCH_MINUS_1970 * 86400) / 86400.0
printf "%1.0f%% full\n", potm(days) + 0.5
これによると私の誕生日は94% full、妻の誕生日は32% fullのようだ。 もうちょっとサンプルを取らないと本当に多いかどうかは断定できないが、 6人中3人が満月近くというのは結構偏っている印象がある。
追記
多いのは大潮の時だそうだ。 大潮だと新月の時も含むからうちの場合4/6になる。 日記巡回してみても確かにそんな感じだな。
追記
ライセンス表示が抜けていた。Ruby版もBSDライセンスに従う。 pom.cにはオリジナルBSDが記述されていたが、修正BSDライセンスを適用してかまわない。
This work is licensed under a Creative Commons License.
少なくともruby 1.8.1 (2003-12-25) [i586-linux-gnu]ではadj360(deg)はdeg % 360でもいいみたいです。
出産が多いのは満潮のときです。太古の昔からのDNAの記憶。自然ってすごいですよね。
知り合いの看護婦さんが、満月の時には破水が多いと言ってました。
出産が多くなるのは満潮というか、いわゆる大潮、ってやつですよね。<br>http://www1.kaiho.mlit.go.jp/KAN6/mame/topic1.html
うちの場合も長男 18% full,双子 52% fullですた。長男の時は病室で本当に「バシャンっ」って音がして破水しました。<br>それはともかく、無事産まれますように。
おめでとうございます。<br>日記にソースコードを張るほど嬉しいのが伝わってきます。
おめでとうございます。
おめでとうございます!
おめでとうございます
おめでとーございますっ!
おめでとうございます!
Congratulations.
おめでとうございます〜
おめでとうございます。なまえじゅーよー。
おめでとう!
おめでとうございます。
満月に出産が多いというのは迷信であると、マーティン・ガードナーが証明してました。本のタイトルは忘れました。
一目で使い方が分かるような名前を…付けてどうするおめでとう!
そうでした。満潮じゃなくて大潮です。>かくたにさん<br>おめでとうございます。>Matzさん
おめでとうございます。<br>落ちついてコード書いてるな、と思ったら後付けですね。<br><br>移動中にコード書いてるとか思ってしまった私はだめですね。
おめでとうございますー。
おめでとうございます!!! # 同級生だー。
おめでとうございます。
コード書いてたのは病院から帰った早朝です。>でんすけさん<br>時間的にもう一度寝るには遅かった(5:00AM)せいもありますが、妙な方向でエキサイトしてたのかもしれませんね。
まずは一安心ですね。おめでとうございます。
おめでとうございます〜!
おめでとうございます!!!
おめでとうございます!お子さんの人生が一生幸せでありますように。
おめでとうございます!
母子ともにお元気なようでよかったですね。
おめでとうございます。
おめでとうございます
おめでとうございます!
おめでとうございます。
おめでとうございます。<br>ご家族みなさま健やかでありますように。<br><br>なお私の知人も、同じ日に男の子を授かりました。<br>別の知人は新月の日に授かったそうです。
おめでとうございます.<br>元気に育つといいですね.
おめでとうございます!
おめでとうございます!<br>生まれるって嬉しいですよね。
おめでとうございます!
おめでとうございます。
おめでとうございます。どうか、お健やかに成長されますように。
おめでとうございます。
おめでとうございます。<br>一人くらいはお子様がGeekに育ちますように:-)
おめでとうございます。うちはもう「打ち止め」と主人にいわれてしまいました。いいなぁ。
おめでとうございます!<br>遅れ馳せながらお祝い申し上げます.
おめでとうございます!
おめでとうございます!!!<br>お子様と皆様のご多幸をお祈り致します。
遅ればせながら、おめでとうございす。
おめでとー。全然気がついていなかった(^^;; これからは、毎日Matz日記チェックしないと... また、いつ生まれてくるかも知れないし(^^;;;
おめでと!