解説用の星図をさっさかつくるプロジェクト メモ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日 記す

続く・・・のかな