以前書いた記事 写真から撮影方向を分析する-βテスト公開 の続編です。
離角表ファイルの離角を2.02~4.0度まで対応。
離角表ファイルをバイナリファイルにし、サイズを100MB(4度時、400MB)程度に圧縮。
読み込みも劇的に速くなりました。
結果出力もこれまでは1つだけだったのに対して、すべてに出力するよう変更。
プログラムをすべて見直して高速化しました。
とりあえず当初の目的は達成したのでいったん区切ります。
入力ファイルと読み込み方法が変わったことに伴い、前プログラムとの互換性はなくなりました。
なので、いままでのプログラムは捨てて、新規にダウンロードしていただきたいと思います。
離角表が大きいのでダウンロードしてから各自環境で作成する必要があります。
1.作成 → 2.ソート → 3.バイナリへコンバート の3手順が必要で詳細は Readme.txt をお読みください。
すでに2.02度版ソート済みファイルがある場合は、3.のコンバートのみです。
どのくらい高速になったかというと、2.02度離角表で30秒近くかかっていたのが、2秒程度と約10倍くらい高速になりました。(閾値が大きいとより時間がかかるようになるので2秒というのは閾値0.002度のときです。)
新プログラムの出力例
1.968秒で発見してくれました。
なお、北口さんからは時間がかかってもいいので確実に見つけられないかという要望があったので、引き続き検討はしていきます。そういえばステラナビゲータは見つけてくれないのだろうか?
離角表ファイルの離角を2.02~4.0度まで対応。
離角表ファイルをバイナリファイルにし、サイズを100MB(4度時、400MB)程度に圧縮。
読み込みも劇的に速くなりました。
結果出力もこれまでは1つだけだったのに対して、すべてに出力するよう変更。
プログラムをすべて見直して高速化しました。
とりあえず当初の目的は達成したのでいったん区切ります。
入力ファイルと読み込み方法が変わったことに伴い、前プログラムとの互換性はなくなりました。
なので、いままでのプログラムは捨てて、新規にダウンロードしていただきたいと思います。
離角表が大きいのでダウンロードしてから各自環境で作成する必要があります。
1.作成 → 2.ソート → 3.バイナリへコンバート の3手順が必要で詳細は Readme.txt をお読みください。
すでに2.02度版ソート済みファイルがある場合は、3.のコンバートのみです。
どのくらい高速になったかというと、2.02度離角表で30秒近くかかっていたのが、2秒程度と約10倍くらい高速になりました。(閾値が大きいとより時間がかかるようになるので2秒というのは閾値0.002度のときです。)
新プログラムの出力例
$ time tetra.exe 2798 941 2507 1785 4181 1211 3112 2183
H-length=4592, V-length=3056, Alpha=0.55861615, THRESHOLD=0.00200000
ang1=0.326388, ang2=0.646955, ang3=0.515135, ang4=0.264751, ang5=0.468352
ang1c=6086, ang2c=11878, ang3c=9530, ang4c=4955, ang5c=8642
6 triangle(s) found.
4 triangle(s) found.
Common stars found. entry 4 in 1st list.
ox = 0.124465, oy = -0.768181, oz = 0.628018
ra=279.203388(18h36m48s), dec=38.904047(38d54'14")
real 0m1.968s
user 0m0.015s
sys 0m0.062s
1.968秒で発見してくれました。
なお、北口さんからは時間がかかってもいいので確実に見つけられないかという要望があったので、引き続き検討はしていきます。そういえばステラナビゲータは見つけてくれないのだろうか?