2015年1月27日 (火)

Sunrise::実験室

■Sunrise::実験室
 
●グラフ3に南中高度を追加
Testa06
 
●テストキーのためのグラフ描画モード(nodraw, redraw, superpose)
グラフ2:
重畳モード下,テストキーで日付変更(1月おき1年分)
Testa07
東京:12月~6月
Testa04  
 
グラフ1:
部分表示では,横軸が可変.日出日入の画面位置は固定.12月~6月
Testb03  
全体表示では,横軸固定. 6月~12月
Testb04  
 
[HP200LX/LXDIC]

|

2015年1月23日 (金)

Sunrise Ver.11.4

■Sunrise Ver.11.4
ダウンロード
http://hp200lx.cocolog-nifty.com/blog/download.html
 
注意
・このプログラムは,LXDICの認証機能を利用する.
 起動時に,A:\_DAT\LXDIC.KEY をチェックし,認証を行う.
・著作権は kiz に帰属する.
・問題が発生した場合は,予告なく配布を中止し,プログラムを
 回収する.
  
 
10.4 からの主な変更点
 
・方位図の表示仕様を変更
 昼は太陽を黒丸で円の外側に,夜は白丸で内側に表示
・指定時刻増減の幅を変更できるようにする.
  時刻変更操作:'+','-' キー
  時間幅選択 :'='キー(60==>1==>5==>10==>30==>60分)
 
・太陽高度-時間グラフ(グラフ1)の全体表示を追加
  高度:-90~90度, 時刻:0~24h
・太陽高度-方位グラフ(グラフ2)の全体表示を追加
  高度:-90~90度, 方位:0~360度
・日出日入がなく1日中夜の場合でも,正中時刻と高度を表示するよう変更
・操作キー割当て(変更,追加)
  標高補正ON/OFF  : 'h'  //Zoomから変更
  グラフ12全体表示 : Zoom
  グラフ2の時刻表示: '*'  //数値表示のON/OFF
  グラフ2の原点変更: '.'  //横軸:0度中心/180度中心
  Fガイド表示   : 'f'    //メイン画面のファンクションガイド
・起動時に表示するグラフ番号と小数桁数を指定できるようにした.
 ==> 設定ファイル
 
 
(バグ修正)
・高緯度地域の一覧表画面で,スクロール時に一部表示が乱れ
 ゴミ(数字,記号)が残る不具合,を修正した.
 
(補足)
・グラフの全体表示では,表示がファンクションガイドと重なる.
 必要に応じて,どちらかを上書表示することができる.
  再描画(F2) ==> グラフを表示
  Fガイド表示 ==> ファンクションガイドを表示
 
 
太陽高度-時間(グラフ1)の全体表示(全日)
S11102b
 
太陽高度-方位(グラフ2):全体表示(全日)
S112b2
 
●グラフ2の部分表示/全体表示の横軸の違い
部分表示では,正中する方向を横軸の中心にする.(枠内に納めるため固定)
S112c1
 
全体表示:常に180度(南)を横軸の中心にする場合(正中方向が一目瞭然)
S112c2  
全体表示:北中時に0度(北)を中央にとる場合(南中と混同しやすい)
S112d1
 
日出がない場合でも,正中時刻/高度を表示する 
S113tbl
 
ファンクションガイドの有無
Fkey01_2  
Fkey02_2  
 
[HP200LX/LXDIC]

|

2015年1月19日 (月)

太陽高度-方位グラフ(続)

■太陽高度-方位グラフ(続)
 
赤道上の場合:
赤緯の絶対値は,緯度(0度)の絶対値より常に大きい.==> 閉じた曲線
 
180度を中心とした閉曲線
Sr112z11
Sr112z12
 
0度=360度を中心とした閉曲線
Sr112z13
Sr112z14
 
※この高度方位曲線が,特異な形状になるのは,3次元極座標の2変数を
 抜出して,2次元直交座標においてグラフ化しているためであり,実際
 の太陽の動きに特別の異変があるわけではない.
 
[HP200LX/LXDIC]

|

太陽高度-方位グラフ

■太陽高度-方位グラフ
 
赤緯δの絶対値が,緯度の絶対値より大きくなる場合に,閉じた曲線になる.
 
低緯度地域の表示例  
Sr11201
Sr11202
Sr11203
Sr11204
Sr11205
Sr11206
Sr11207
Sr11208
Sr11209
Sr11210  
Sr11211  
Sr11212
 
[HP200LX/LXDIC]

|

2015年1月17日 (土)

真夜中の太陽

■太陽方位の不思議
 
低緯度地域の太陽方位図では,不自然に見える現象が発生する.
真夜中 0時の太陽方位が,昼の12時の太陽方位の近傍にあり,何れもほぼ
南(180度近辺)になることがある.(計算のバグではない)
 [図1] 0時の方位が不自然?
Houi01
 
 
0時近辺の方位を詳しく調べると,23時から1時の間に,一気に逆方向へ
戻っていることが判る.
 [図2] 23:00~1:00の10分おきの方位(240度==>110度)
Houi02
 
 
結局,この場合の太陽方位は,1日中北側に向くことはない.
 [図3] 1時間ごとの方位:24時間分(白丸は夜間,黒丸は昼間)
Houi03
(識別のため,昼は黒丸で外側に,夜は白丸で内側に描画)
 
 
東京の場合と比べると,違いは一目瞭然.
 [図4] 1/17 東京の太陽方位
Houi04
 
 
太陽高度と方位の関係の1日の変化を,夜間も含めて図示する.
 [図5]1/17 閉じた曲線:方位は南側(90-270)の範囲に限定される
Houi05
(曲線底部の0時近傍では,方位角は短時間で大きく変化する)
 
 [図6]10/17 開いた曲線:方位は南から北へ回り1周(0-360)する
Houi06
 
低緯度地域では,日中南方向にあった太陽が,地平線下に沈んだ後も,
依然として南方向のまま推移することがある.(真下よりも南側)
 
(追加) 
常に北向になることもある.(曲線は閉じている:0度=360度)
S11104
 
[HP200LX/LXDIC]

|

2015年1月15日 (木)

■Sunrise テスト版

■Sunrise テスト版
 
・日出日入等の時刻表示を,小数第2位まで拡張
  小数部桁数変更(Tabキー):2桁 ==>1桁 ==>0桁 ==>2桁
・一覧表画面の正中時刻/高度の表示様式を変更
  南中時:ノーマルフォント表示
  北中時:反転表示/アンダーライン表示 (アンダースコアキーで切替)
・一覧表画面の表示速度を改善
 日出/正中/日入については,時刻と角度の表示文字列を連結して一括表示
 することにより,テキスト描画関数の実行回数を減らす.(8==>5回/行)
  20ページ更新時間
     南中時:7.5秒 ==> 6.5秒 (8==>5回/行)
     北中時:7.5秒 ==> 6.8秒 (8==>6回/行)
 
 
(公開版)小数第1位まで表示.北中時は反転表示.
Sris104a
 
(テスト版)小数第2位まで表示. 北中高度のアンダーライン表示
Sris108a
(テスト版)小数第2位まで表示. 北中高度の反転表示
Sris108r  

[HP200LX/LXDIC]

|

2015年1月11日 (日)

Sunrise Ver.10.4

■Sunrise Ver.10.4
計算の基礎となる太陽赤緯/均時差データを表示できるようにする.
・グラフ:1年の変化をグラフ化(365点)
・一覧表:日々の値を小数第3位まで表示
・データ一覧画面の表示速度改善
 20ページ更新時間: 8.5秒 ==> 7.5秒
 
ダウンロード
http://hp200lx.cocolog-nifty.com/blog/download.html
 
  
メイン画面:グラフ3
Bval00  
  
データ一覧画面:最終列=昼長/赤緯/均時差(表示切替キー:F12)
Bval01
Bval02
Bval03  
 
[HP200LX/LXDIC]

|

2015年1月 2日 (金)

日出日入時刻と昼長のピークのずれ

■日出日入時刻と昼長のピークのずれ
 
例えば冬の場合,それぞれのピークは,次のようなる.
・昼長が最も短い日は,冬至(12/22頃)
・日出が最も遅いのは,1/7頃
・日入が最も速いのは,12/6頃
 
(夏の場合:ずれ日数は冬の半分程度で,冬とは逆方向へずれる) 
 
この"ずれ"の原因は,均時差(最大で17分程度)にある.
均時差を考慮しない計算では,日出日入時刻のピークは冬至に一致する.
均時差を考慮すると,日入のピークは前へ,日出のピークは後へずれる.
 
●ずれ日数の概算値
冬至近辺では,均時差を考慮しなければ,
季節変化に起因する日出日入時刻の変化は次第に小さくなり,変化率0
を経てゆるやかに反転する.これを2次曲線で近似する.
  日入時刻(分) t-ts = ax^2
  日出時刻(分) t-tr = -ax^2
   t:日出日入時刻(分)
   ts:冬至の日入時刻(分), tr:冬至の日出時刻(分)
   x:冬至からの日数
   a = 0.0136(2014年の概算値)
さらに,均時差はプラスからマイナスへ大きく変化し,かつ,ほぼ線型
になる.
  均時差(分) e = -b(x-3.5)
   b = 0.46(2014年の概算値)
   
均時差補正後の時刻は,以下のようになる.
  日入時刻 t-ts = ax^2 + b(x-3.5)
  日出時刻 t-tr = -ax^2 + b(x-3.5)
 
ピークのずれ日数
 問題は,2次関数の最大最小位置の問題に帰着された.
  日入時刻:t=0 ==> t = -b/2a = -16.9 (前へずれる)
  日出時刻:t=0 ==> t = b/2a  = 16.9  (後へずれる)
(日入時刻に対応するグラフ)
Ss_peak2b_2
2次の項は大きな数値から減少した後,やがて反転し増加に転じるが,
これに,常に一定の割合で増加する1次の項が加わると,その増加分の
効果で,早期に増加に転じることになる.

 
 
●均時差が生じる原因
・地球の公転軌道が円ではなく,楕円になっている.(1年周期の変化)
・地球の自転軸が23.4度傾いている.(半年周期の変化)
  
(均時差)冬に比べて夏の変化は小さい ==> ずれの規模小
Knj01
 
 
備考
冬至付近の実際の計算値
  
 補正時刻=補正前時刻-均時差
 
             均時差なし  均時差なし              均時差補正  均時差補正 
日付          日出時刻    日入時刻    均時差      日出時刻    日入時刻   
              6:00+分    16:00+分   (分)      6:00+分    16:00+分    
12月 2日      43.0        39.2        10.8        32.2        28.4   
12月 3日      43.5        38.7        10.4        33.1        28.3   
12月 4日      43.9        38.2        10.0        33.9        28.2   
12月 5日      44.4        37.7        9.6         34.8        28.1   
12月 6日      44.8        37.3        9.2         35.6        28.1 ※ 日入最早
12月 7日      45.2        36.8        8.7         36.5        28.1   
12月 8日      45.6        36.5        8.3         37.3        28.2   
12月 9日      46.0        36.2        7.9         38.1        28.3   
12月10日      46.3        35.8        7.4         38.9        28.4   
12月11日      46.6        35.5        7.0         39.6        28.5   
12月12日      46.9        35.2        6.5         40.4        28.7   
12月13日      47.2        35.0        6.1         41.1        28.9   
12月14日      47.4        34.8        5.6         41.8        29.2   
12月15日      47.6        34.5        5.1         42.5        29.4   
12月16日      47.8        34.3        4.6         43.2        29.7   
12月17日      47.9        34.1        4.1         43.8        30.0   
12月18日      48.0        34.0        3.6         44.4        30.4   
12月19日      48.1        33.9        3.1         45.0        30.8   
12月20日      48.3        33.9        2.7         45.6        31.2   
12月21日      48.3        33.9        2.2         46.1        31.7   
12月22日      48.3 ※     33.8 ※     1.7         46.6        32.1    冬至
12月23日      48.3        33.9        1.2         47.1        32.7   
12月24日      48.2        33.9        0.7         47.5        33.2   
12月25日      48.2        34.0        0.2         48.0        33.8   
12月26日      48.1        34.1        -0.3        48.4        34.4   
12月27日      47.9        34.2        -0.8        48.7        35.0   
12月28日      47.8        34.3        -1.3        49.1        35.6   
12月29日      47.6        34.5        -1.8        49.4        36.3   
12月30日      47.3        34.7        -2.3        49.6        37.0   
12月31日      47.1        34.9        -2.8        49.9        37.7   
1月 1日      46.8        35.1        -3.3        50.1        38.4   
1月 2日      46.6        35.5        -3.7        50.3        39.2   
1月 3日      46.3        35.8        -4.2        50.5        40.0   
1月 4日      46.0        36.2        -4.6        50.6        40.8   
1月 5日      45.6        36.5        -5.1        50.7        41.6   
1月 6日      45.2        37.0        -5.5        50.7        42.5   
1月 7日      44.7        37.3        -6.0        50.7 ※     43.3    日出最遅
1月 8日      44.3        37.8        -6.4        50.7        44.2   
1月 9日      43.9        38.2        -6.8        50.7        45.0   
1月10日      43.4        38.8        -7.2        50.6        46.0   
 
 
[HP200LX/LXDIC]

|

2014年12月23日 (火)

主な自作プログラム

■主な自作プログラム
 HP200LX用
  
 
====================(DOS常駐プログラム)==========================
 
●Awake
-------------------------------------
 電池駆動時のHP200LXの動作を高速化
-------------------------------------
極端に省電力側に傾き過ぎているHP200LX のライトスリープ制御を,
省電力性を維持する範囲内で最大限に高速動作側へ変更し,高速か
つ長時間の電池駆動を可能にする.
・電池駆動時でも,AC電源使用時の動作速度が得られる.
・標準速機の場合,電池駆動時の比較に限れば,倍速化と同等の
 効果がある.
 
 
=====================(EXMプログラム)============================= 

●LXDIC
-------------------------------------
 EPWING辞書ビューア(辞書2GB以下)
-------------------------------------
通常の検索に加え,複合検索,画像表示,および,辞書圧縮に対応
している.
・画像コンバーターで処理すれば,画像表示ができる.
・独自形式での辞書圧縮が可能になっている.
・指定可能なアドレスは2GBまで(long)
 辞書は,圧縮前のサイズが2GB以下のものに限る.
 
 
●FV(EXMプログラム)
-------------------------------------
 漢字拡大表示プログラム
-------------------------------------
・LXDICで表示中の漢字を拡大表示する.(96ドットフォント)
・外字の表示も可能(広辞苑の外字のみ)(48ドットフォント)
 
 
●Sunrise(EXMプログラム)
-------------------------------------
 太陽高度方位計算プログラム
-------------------------------------
・各地の日出/日入/南中時刻,太陽高度および方位を計算する.
・固定小数による高速な計算
・標高に起因する補正を行う.
 
[HP200LX/LXDIC]

|

2014年12月18日 (木)

Sunrise::標高補正の誤差評価

■Sunrise::標高補正の誤差評価
 
国立天文台のこよみの計算
http://eco.mtk.nao.ac.jp/cgi-bin/koyomi/koyomix.cgi
と比較では,概ね良好な結果になった.
 
※以下の設定数値は必ずしも正確な値ではないが,同一の数値で計算して
 いるので,比較上の問題はない.
 
  
●松本: 東経137.97,北緯36.25,標高610m
Matu2b
 
Srmatu2
 
●富士山頂:東経138.73,北緯35.36,標高3772m
Huji2c
  
Srhuji2  
 
富士山頂:補正がない場合(0m)
Srhuji0
 
[HP200LX/LXDIC]

|

«Sunrise::公開版