早朝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ライセンスを適用してかまわない。
15時42分に産まれました。女の子。2826g。 母子ともに健康そうです。