« ARTSATでART(3) | トップページ | ARTSATでART(5) »

2014年7月 8日 (火)

ARTSATでART(4)

Processingについて(プログラムの説明その1)
6月29日に紹介したProcessingのプログラム「sketch_140629a」を実行させると、現在公開されているINVADERのデータの最初(打上げ直後の3月1日)から最後(6月29日)までのデータすべてを使って、三角形を重ね書きします。再実行させてもこれは変わらず、途中で停止させる機能は未対応なので、今回好きな範囲のデータを使って絵を描けるように直しました。
こちら(「sketch_140708a.zip」をダウンロード)のプログラムは、6月29日のバージョンではプログラム中でデータの範囲を設定していたものを、プログラムの最初で範囲を設定すればいいように、プログラム中の設定範囲の固定値を変数に直したものです。

int startuTime = 1393610411;//start UNIX time to get data
int enduTime = 1404023418;//end UNIX time to get data

上に抜粋した部分が、データ範囲を設定する部分です。「startuTime」がデータの最初の日時、「enduTime」が最後の日時(+1秒)になっています。
ここの日時は、UNIX Timeという1970年1月1日0時0分0秒からの経過秒数です。西暦年月日時分秒からUNIX Timeへ変換するツールを提供するウェブサイトがありますので、具体的に日時を変換したい場合には、そのようなウェブサイトを利用してください。Processingで変換できればいいのですが、現時点では関数が見つかっておらず、方法を考えているところです。
このstartuTimeとenduTimeに任意の(といっても、INVADER打上げ以降、今日(現時点では6月29日)までの範囲になります。)日時を、startuTime < enduTimeとなるように変更すれば、その間のデータを使って絵を描くことができます。
参考として、実日時とUNIX Timeとの対比を、いくつか掲げておきます。

2014年3月1日0時0分0秒 1393599600
2014年4月1日0時0分0秒 1396278000
2014年5月1日0時0分0秒 1398870000
2014年6月1日0時0分0秒 1401548400
2014年7月1日0時0分0秒 1404140400
2014年8月1日0時0分0秒 1406818800
(上記の計算には、UNIXTIME相互変換ツールを利用しました。)
なお、上記実日時は日本時間(JST)です。(2014年7月9日追加記載)

INVADERのデータ範囲は4~5か月位の見込みですので、上の各月初めのUNIX Timeのテーブルを保持しておいて、そこからの経過日時を加算する方法でUNIX Timeに変換できると考えています。

試しに6月1日から7月1日の範囲のデータで実行すると、次のような絵になりました。
Invaderapi20140708_0601_0701
この説明をご覧になった皆さんも、いろいろ試していただければと思います。
三角形でなく他の形にするとか、色を変えるとかについても、また改めて説明したいと思いますが、実際にやってみた方は、ぜひ何らかの方法で発表していただけるとうれしいです。

|

« ARTSATでART(3) | トップページ | ARTSATでART(5) »

アマチュア無線」カテゴリの記事

衛星芸術」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/151203/59950869

この記事へのトラックバック一覧です: ARTSATでART(4):

« ARTSATでART(3) | トップページ | ARTSATでART(5) »