2009年02月18日

サポート掲示板を置いてみた

アマテルに関する事であればお気軽に書きこんでください。
http://tetramorph.to/support/
posted by おーさわ at 23:29| Comment(0) | アマテル開発日誌

2009年02月04日

辞書がだいぶできてきた

辞書機能の登録編集機能がほぼできあがってきた。階層ツリーでDnDで操作できるインターフェイスを作ったが、やたらとめんどくさかった。これはアマテルの出生データベースのときにも感じた事だが、階層ツリーのGUI部品を使いこなすのはかなり難しい。一度やってることなのだから少しは楽にできるかと思っていたけど、この部分はあまり楽にならないというか、慣れないというか。そんなわけで力まかせにエイヤッと押し切って、多少ごちゃついたコードになったが、まぁだいたい収まりはついた。これで全体の七割程度ができたといえる。

 これまで辞書機能はアマテルと切り離して開発してきたけど、そろそろアマテルに組み込み、プラグインからのリクエストに反応する仕組みを実装していく。今まではデータの編集機能、つまり登録、削除、更新、閲覧、コピー、移動、ファイルへの保存と読みこみといった部分を作ってきたが、次は検索機能をつける。リクエストに反応するのは検索機能だ。プラグイン(基本ホロスコープ等)からは、「五室・太陽・水瓶・10度」といった情報が辞書に送られてくる。これが検索キー。辞書の各ページには、そのページがどんな情報に反応するかが設定できるようになっている。辞書プログラムはプラグインからのリクエストを見て、登録されているページを一つずつ調べていく。
そして「5室・太陽」という情報に反応するように設定してあるページをみつけると、そのページを拾い上げて表示する。また「太陽・水瓶」とか「水瓶10度」に設定されているページも同様に拾い上げる。そして抽出したページの内容を整形して表示する。
posted by おーさわ at 00:22| Comment(2) | アマテル開発日誌

2009年01月28日

旧暦正月も明けて

 旧暦のお正月が明けた。今年もそろそろ動き出す。
今日またgoogleで「占星術ソフト」で検索してみると、アマテルのページが最初の一ページ目に来ているのを発見。「アマテル」で検索すると二位。予想以上に早く順位が上がったので驚いている。ニワトリカウンタを見ていても、少しずつ順調にユーザ数は増えていってるようす。

今年のアマテルは、占星術のための統合環境と呼べるところまでもっていきたい。
バージョンナンバーからβがとれるのはいつかな。
(当分、取るつもりもないけど)。
posted by おーさわ at 16:33| Comment(0) | アマテル開発日誌

2009年01月21日

三十八万個の小惑星をプロットしてみた

asteroid.png

 小惑星の計算をやったついでに、三十八万個の小惑星カタログを視覚化してみた。太陽を中心にした座標系で、目安に他の惑星の軌道も表示している。小惑星の位置は日心黄道直交座標で求まるが、この図ではZ軸は無視している。
 小惑星の大半は火星と木星の軌道間にドーナッツ状に分布している。大きさも無視していて、小さいものも大きなものも1ドットの点で描画。実際の宇宙空間を図にした場合、たぶん火星や木星といった天体が1ドットで、小惑星の大きさはその千分の一、万分の一といったスケールになるはずで、この図はかなりデフォルメされたものだといえる。

 それにしてもすごい数の小惑星があって、しかもよくみると地球の軌道上にもわんさか存在していることがわかる。巨大隕石が地球に衝突という話もまんざら嘘ではないらしい。カタログの中から、地球の軌道に近いものだけを抽出して、時間を変化させながら地球と小惑星間の距離を調べて、ぶつかる可能性の高いものをピックアップしてみたくなるが、本当にぶつかるのかどうかとなると、そう簡単には分からない。宇宙はむちゃくちゃスケールがでかいので、おおざっぱな計算では歯がたたない。

 余談だけど、木星や土星に行く探査機は、この小惑星ドーナッツ地帯を抜けていく。だけどただ突っ切っていくだけ。小惑星がたくさんあっても、すき間はふんだんにあってスカスカなの。だからめったにぶつかったりしない。

posted by おーさわ at 19:05| Comment(0) | アマテル開発日誌

2009年01月14日

紫微斗数だの小惑星だの

 辞書機能を作っているところだが、作業量が多くてそんなに早くは作れそうにない。
他にもサポートしたい機能がいくつかあり、それの基礎技術を確立しておこうと、辞書からちょっと脱線して他の作業をしている。(水星の逆行がはじまったので、猪突猛進型で先に進もうとしてもうまくはいかないだろうし)。

 一つめは紫微斗数。紫微斗数は単純な表参照だけで作れてしまうのだが、その表は旧暦用に作られている。旧暦を求めるプログラムはちょっと難しい。しかし旧暦干支九星APIはすでに完成していてミチテルに使っている。だから難しくはないのだけど、紫微斗数には表が20種類くらいある。それらを一つずつ作っていくのは単調な根気仕事。とりあえず命宮と身宮を求める部分を作って、まぁこんな感じねと納得。
それから旧暦干支九星APIを使って気学のプラグインも作れると思う。

 アマテルのユーザを増やすという観点からは、西洋占星術のマニアックなメソッドに対応していくより、占いジャンルを増やすほうが有効だろうと思っている。
アマテルは西洋占星術専門のソフトではない。

 二つめは小惑星。少し前にたくさんの小惑星に対応してほしいというリクエストがあった。四大小惑星とフォーラスはスイスエフェメリスでサポートしているけど、他のものとなると軌道要素から二体問題の式を使って計算することになる。
(スイスエフェメリスはオプションの小惑星天文暦が用意されていたような、いなかったような・・・、また後日調べてみよう)
二体問題を計算するプログラムは、もう10年近く前に書いていたのだけど、当時はJavaをはじめたばかりで、ずいぶん醜いプログラムだったので書き直した。

 天体には軌道要素という数個のパラメターが決められていて、その値を式に入れて計算すると、時刻における天体の位置を求める事ができる。軌道要素は天文年鑑などに一部載っているが数は少ない。ネットを調べたら、冥王星を惑星の地位から叩き落とした国際天文学連合(IAU)が監督している組織からデータファイルが提供されていた。
 データファイルのフォーマットを調べて、75MBもある巨大なファイルをPerlで少し調べてみた。なんと382137個の小惑星が登録されている。Itokawaも入っているし、Kamikouchi,Nakashima,Miyazawaseiroku,Yumiko,Koichiyukoなど日本人らしき名前のものも多数。ニュートンの著書からとったのかどうかは不明だが、Principia(プリンキピア)というのもある。そいからAhoというの目についたけど、日本語じゃないと思う。多分。
 名前がついているのはわずかで、ほとんどは"2002 EA98"といった記号名がつけられているだけ。38万個もあると地球の神様や天使の名前ぜんぶもってきても足りないかもしれない。そしてこれからもまだまだ増えていくはず。

 ところで私は小惑星を多用した占星術を知らない。「Yumikoが乙女座にいるから、あなたは・・・」などと占うのかな。原理的にはなにか神話上のキャラの名前がついていて黄道十二宮を回っていれば占いはできるわけだけど、ぶっちゃけ当たるのかしら?(野暮なこと言うなって?笑)

 個人的には四大小惑星があれば充分すぎるほどなので、その他の小惑星対応へのモチベーションは低い。なにかはっとするような知識に出会うとか、大きなニーズがあるならその気にもなるけど、それが無いと今のまま放置すると思う。
posted by おーさわ at 06:26| Comment(0) | アマテル開発日誌

2009年01月02日

ニワトリカウンタがバグったorz

年があけたら、アマテルのニワトリカウンタが表示されない。
少し気にはしてたんだけど、やっぱりカウンタ用CGIがバグってるようす。
アマテルの他の動作には不都合はないので気にしないで。
近日中になおします。
posted by おーさわ at 13:16| Comment(0) | アマテル開発日誌

2008年12月27日

アマテルをヤフーで検索すると

ヤフーで「占星術ソフト」で検索すると三位に入っている。1〜2位は有料ソフトだからフリーソフトでは一番。
googleだとまだ2ページ目。ヤフーは管理者が順位を管理しているせいか、きちんと内容をみて評価してくれるようだ。
googleは機械仕掛けだから、順位があがるにはそれなりに時間がかかる。
posted by おーさわ at 23:15| Comment(0) | 日記

2008年12月26日

辞書機能

dict.jpg
 アマテルの次の目標は辞書機能。辞書は本のようなものだから、このようなデータは階層ツリーで管理するのが理想的。章があり段落があり、というような構造だから。
 アマテルに組み込む辞書は、占星術機能と連動してナンボなので、ホロスコープのシンボルやアスペクト線をクリックすると、該当ページが表示されるようにしたい。複数該当する場合は、それを列挙して選択できるようにもしたい。
 がしかし、アマテルは様々な占術メソッドに対応していくつもりなので、基本ホロスコープの辞書だけがあれば良いわけにはいかず、様々なメソッドに対応できる汎用的な辞書を用意したい。汎用化するには、占術メソッドを実現するプラグインと、辞書の間に一定のプロトコルを決めて、それを定義ファイルに宣言することで、辞書はその宣言に従い自身をカスタマイズする機能が必要になる。
 また作成した辞書は、ファイルに書きだしインポート/エクスポートする機能も必要。アマテルで辞書を作って、それを公開してユーザ間で共有することもできるし、その辞書を本につけて販売することもできる。占い教室でもその教室固有の辞書は必要なはずだ。

 このような複雑なデータ構造を扱う場合、SQLを使ったテーブル型のデータベースよりは、XMLのほうが有利だったりする。そんなわけでXMLを勉強しながら、色々実験をくり返しながら制作している。

 アプリケーションとしてみたときは辞書エディタで、そんなに複雑なものには見えないのだけど、やってみると案外めんどくさかったりする。登録機能を付ければ、とうぜん削除機能もいる。内容を更新する機能もいれば、リネームも必要だし、コピーや移動や検索や・・・というように、最低限必要な機能だけでけっこうな数になり、それだけ作業量が増える。
 一番難しいのは、先にあげた操作をどのようなGUIで提供するか、そのデザインと遷移をどのようにするかを考える事だったりする。GUIというのはほんとめんどさい。精密な機械部品を組み立てるような作業で、後から仕様変更があってもそう簡単に変更することができない。実験感覚で気軽に作るということができない。実は制作のほとんどが、これの時間で食われてしまう。だが最初からすべて頭の中で完全な設計を行い実装する、なんて芸当は実はできなかったりする。
そういうことが可能なのは、二番煎じ、三番煎じの制作の場合で、すでにひな形となる製品がある場合に限られる。

 結局は作っては壊し、作っては壊しの繰り返しをへて、やっとこさ形ができてくる。設計図は、実はその後からできるものというのが実状だったりする。辞書を作り始めてひと月ほどは、そういった実験作業ばかりだった。まぁ、だいたい基本的な仕様は固まってきたので、これから作り込んでいく作業にとりかかる。
posted by おーさわ at 06:13| Comment(0) | アマテル開発日誌

2008年11月30日

JREのバージョンがあがったら

 つい最近、JREのバージョンがあがった。アマテルのバージョンダイアログからも確認することができるけど最新版は1.6.0_10-b33。
(これより前のバージョンのときは、Javaのコントロールパネルから簡単にアップデートできる。または自動アップデートに設定しておくと、自動的にやってくれる。)

 バージョンが上がってから前より高速に動くようになってるみたいだ。アマテルでホロスコープをドラッグして回転させるとやっぱり速くなってる感じがする。
posted by おーさわ at 11:25| Comment(0) | アマテル開発日誌

2008年11月28日

アマテルカウンタの数は

アマテルカウンタの数は今回リリースした時点から数え始めるので、これまでにインストールされた数は入っていません。
けれどこれから少しずつ増えていくのが見えるはず。
数え方の詳細はマニュアルを見てね。
posted by おーさわ at 03:42| Comment(0) | アマテル開発日誌