メニュー
Infomation
■お知らせ
[スパム対策]コメントにURLを含めると自動的に削除されます。
■このサイトについて
一応残していますが、全時代の遺物。全ての情報は古く役に立ちません 連絡先:メールアドレス
■日記更新情報
RSSRSS|RSS(本文のみ)|lirs
実験&リサーチ
巡回先
製作環境
 

 



2004|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|11|12|
2011|01|
2014|05|08|
2017|07|
2018|03|
2020|08|10|
2021|11|

2006年03月30日(Thursday) [長年日記]

_ 月のかたちの計算

とあるソフトを作るために欠けた月をプログラムで書こうと思ったのですが・・・意外とメンドイような・・。

月齢の計算方法なんてよく本とかあるんだけど、月の形状の描き方という資料がどこを探しても(あんま探してないけど)みつからない。

そもそも月の(みかけの)形がどんなだか考えてみると、おそらく半球を回転させれば良いんだと思う。

しかし球形のものを計算するのは大変すぎる事に気づき却下。

手で書くときによくやる方法は円を二つ書く方法ですよねえ。

こんな感じで。

という訳でこの手法を採用。

後は中学生1年生レベルの計算で全て事足りるのですが、いざソースエディタに向かって打ち込もうと思ってもうまくできない。。

やっぱり図に書きながら計算しないとダメか。

ってことでその図。


求めたい答えとしては月の輪郭になる小さい円に対して、下の図のような3点に外接する円の中心と半径を求めればOK。

y軸が下向きなのは僕の頭の中だと座標軸はこうだから、というかプログラムの都合。

これだけだと暗算でもいけそうだけど、今回は傾きもつけたいので以下のような感じになりますね。

この図のR2の半径と中心を求めます。


まず手始めに点A,B,Cの座標は以下のとおり。

ここでのαは月の欠け具合を角度表記にしたものでα=0のとき満月、α=πのとき新月。

で、外接円の中心三角形A,B,Cそれぞれの辺の垂直2等分線の交点なので、図にすると以下のような感じ。


図の2等分点P1P2の座標は足して2で割るだけなので、

そしてこの点を通り、三角形の辺に直行する線を求めるには傾きに関してx軸とy軸を入れ替えて、2等分点を通る直線を求めればよいので、

で、この二つの線が交点を求めると答えがでますね。

↓というわけで答え



・・・・間違ってたら超ごめんなさい。

α=π/2(半月)の場合とα>π/2(半月よりふくらんでる)の場合は省略しましたが別に考える必要あり。

これで簡易的ながら月を描写する事ができるようになりました。

で、、、

_ バッテリーメーター

ThinkPadやLinux使っているときのバッテリーメーターは見やすいので良いのですが、モバイル用途に使ってる他のマシンのバッテリーメーターが見づらくて外出先で困ります。

タスクトレイのアイコン超ファジーだし。

という訳で作ってみました。


最初は普通にThinkPadのみたいな分かりやすいの作ろうと思ったんですがそれでは芸がないので、バッテリー残量が月齢で表示されるような月の形のにしてみましたよ。つまりこれが上の計算を要したソフト

一応地平線に対する白道の傾きなんかも考えてみましたが小さすぎて表現できねw

 

↑動作の様子。

ちょっと凝って他のウインドウからフォーカスを奪わないだとか、表示・非表示はフェード効果付きとかにしてみた。

バッテリーが95%以上かつ電源が接続されているときは表示されませんが、バッテリー稼動状態になると月が出てくるようになってます。

バッテリー残量が減ってくると月が欠けて傾いていきます。

OSが残り時間を計算できるときは数字で表示されます。

上の図の場合、左が充電中で残量59%のとき。右が残量95%で残り稼動時間が6時間30分といった感じ。

モバイラーな方で使いたい方はどうぞ。

■ダウンロードKNOMoonMeter100.exe

本日のコメント(全2件) [コメントを投稿]
§ ひかりん (2006年03月31日(Friday) 00:15)

うぉっ、難しい計算が!<br>でも、月も楕円軌道だったら同じ欠け方じゃないと思うんですけどね。<br>あと、月の軌道と地球の公転軌道が平行じゃないので綺麗に計算じゃ出ないと思うんですよ。<br>ここら辺は専門家じゃないと分からないのですが。<br>天文関連が羅列している「理科年表」でも細かく書いていないので分からないだろうなぁ・・。

§ Suika (2006年03月31日(Friday) 00:47)

ひかりんさん>><br>しかも地球には大気があるので、そこで屈折してかなり位置と形が変わりますしねえ。<br>天体計算のほとんどはデータに基づく近似解を出すもので、近い時間ならそこそこ出るんですけど。<br>細かい事言い出すと、相対性理論に基づく時空のゆがみだとかそんなのまで長い時間では影響してきて大変みたいです。<br>ちなみに『天体の位置計算』という本を所有していますが、、むずいですw


最近のコメント

364,000 at 2008.06.14
Copyright (c) Suika KNOnline.NET