おいて、計算ミスが発覚しました。方位角の計算にミスがありました。計算対象の天体(ここでは、太陽か月)が、地平線近くにあるときは、たまたま、かなり良い結果になります。(誤差が2度以内)しかし、高度が大きくなるに従って、誤差が大きくなってきます。ダウンロードされた方は、再度ダウンロードをお願いします。日の出・日の入り・夜明け(明六ツ)・日暮れ(暮六ツ)・月の出・月の入りの算出をしています。ここでは、そのために使用してるプログラムをご紹介いたします。プログラムは、2系統があります。・『新こよみ便利帳』(暦計算研究会編,恒星社厚生閣)をベースにしたもの・『日の出・日の入りの計算』(長沢工著,地人書館)をベースにしたもの以上です。ここでは、それぞれのプログラムを紹介いたします。書き直して、さらに、読み出しのインターフェイスを改造したものです。当初、「何もわからずにC++に焼き直しただけ」というものでしたが、他のプログラムを見るうちに、全体の流れがわかってきました。風のプログラムにしあげてあります。ソースファイルヘッダファイルテスト用のメインです。jisa)での日の出・日の入り(getHinodeHinoiri())、夜明け・日暮れ(getAkeKure())が求まります。始まり)に準じたものです。日の出・日の出・日の入りの判定条件にマッチするように、時刻を調整するというものです。この流れ自体は標準的なものですが、太陽の黄経決定を非常に短いプログラムで実現しています。簡単な計算で求めている割には、精度は非常によくて、おおむね、1分以内の誤差に収まっています。時々、2分近い誤差もみられますが、2分に達することはないようです。『日の出・日の入りの計算』によるものソースファイルヘッダファイルです。こちらのプログラムは、様々な補正を行っており、前者よりもさらによい精度で計算が可能です。プログラムの流れは、前者と同様ですが、たとえば、日の出判定の高度算出にも、その時点の太陽の距離(これが変わると、見かけの太陽の大きさが変わる)も反映したものになっています。おおむね、1分以内の精度で計算可能です。太陽の黄経も、非常に精度よく求められており、二十四節気の基準となる太陽位置なども、1分ちょっとの誤差で収まっています。使用しており、これに依存しています。そのため、これがある処理系だとそのまま使えますが、そうでなければ、この点は変更が必要です。プログラム作成に当たって、全体を、C++のクラスが持っている、「継承」の仕掛けでまとめてあります。すべての計算方法を知っている。違っている場合、それは、仮想関数を使って解決します。黄経・黄緯の計算は、それぞれの天体で個別に定義をすることになります。(分離して)黄緯を得るなどとできます。赤経・赤緯,時角なども同様です。構造的に大きく変わったのは、月相・月齢の算出関数です。いう別のクラスに分離しました。いうのを作成してみました。こんな感じで、いろいろと表示します。実行ファイルプロジェクトファイル(ソースファイルも)です。Japan.E-mail:k1@axis.blue。