解説用の星図をさっさかつくるプロジェクト メモ8 Javascript+fireworks+VB2005編
前のメモに引き続き、用紙を決めて、横長の星図を作ってみる。
横幅を24cm、縦幅を12cm とする。
fw.createFireworksDocument({x:2400,y:1200},{pixelsPerUnit:100,units:"cm"},"#ffffff");
座標変換式は一般形で
paperX = maxpaperX + (- RA * (maxpaperX/maxRA))
paperY = - (maxpaperY / ( maxDEC-minDEC)*DEC + maxpaperY * maxDEC / (maxDEC-minDEC)
starR = maxstarR / 10^(0.2(Vmag))
これをVB2005 のルーチンにする
全部かくと、さすがにながいので、フォームファイルをおいておきます。
変換式部分は、下記の通り。そのまんま
Public Function StarRadius(ByVal Vmag As Single, ByVal maxstarR As Integer) As Integer
StarRadius = maxstarR / 10 ^ (0.2 * Vmag)
Exit Function
End Function
Public Function RAtoX(ByVal RA As Single) As Single
Dim maxpaperX As Integer = Val(paperXsize.Value)
Dim maxRA As Single = 24
RAtoX = maxpaperX + (-RA * (maxpaperX / maxRA))
Exit Function
End Function
Public Function DECtoY(ByVal DEC As Single) As Single
Dim maxpaperY As Integer = Val(paperYsize.Value)
Dim maxDEC As Single = 90, minDEC As Single = -90
DECtoY = -(maxpaperY / (maxDEC - minDEC)) * DEC + maxpaperY * maxDEC / (maxDEC - minDEC)
Exit Function
End Function
そして、出力したのがこれ。WEB上ではわからないけれども、元ファイルでは個々の星がそれぞれオブジェクトになっている。
うーむ、感慨ぶかい。また一歩、野望に近づいた!?
2008年01月24日 記す
続く・・・のかな