1、强大的天文处理软件Stellarium使用教程强大的天文处理软件Stellarium使用教程Stellarium有非常强大的功能,使用的人也很多。但是,很多人只使用了它的GUI中提供的功能。实际上,Stellarium还有很多功能是GUI没有提供的。今天,我在此介绍一下Stellarium隐藏的功能。先说一下如何把界面设置成中文。 网上有很多相关的方法,但都是用替换文件的方法。这样的弊端在于:同样的字体文件要复制两份,浪费空间。其实,正确的方法是在config.ini和fontmap.dat中修改。 注意:config.ini在%USERPROFILE%ApplicationDataStell
2、arium目录下,不是Stellariumdatadefault_config.ini。 找到config.ini中的gui段,将其中的base_font_name设置为字体文件名(字体要先复制到data目录下,此处以msyh.ttf为例)。然后,将Stellariumdatafontmap.dat按如图方式修改。保存之后,在Stellarium中将语言设置成中文就可以了。如果调整成中文后字体大小不合适,可以在fontmap.dat中修改(字体文件右边的数字)。下面再说一下Stellarium中的图像。图像主要在Stellariumtextures和Stellariumnebulaedefau
3、lt中,skycultures和landscapes中也有(星座想象图和地景)。nebulae目录中是星云的图片,暂不讨论。textures目录中的大部分图片都是行星的图片,把它们替换成其他的图片就可以改变行星的显示效果。不过,行星的图片是在datassystem.ini中指定的,修改ssystem.ini也可以达到同样效果。值得注意的是star16x16.png,它是恒星或行星显示成光点时使用的图片。将它替换成其他图片,效果会再介绍一下ssystem.ini。Stellarium的行星数据都在Stellariumdatassystem.ini中。每个小节是一个天体。现举一例:moonname
4、 = Moonparent = Earthradius = 1737.4halo = falsecolor = 1.0,0.98,0.96tex_map = lune.pngtex_halo = NULLcoord_func = lunar_speciallighting = truealbedo = 0.12rot_periode = 655.7198811rot_rotation_offset = 38rot_obliquity = 23.45rot_equator_ascending_node = 0name就是行星的名称,此例中为moon。parent是行星的中心天体。radius是天
5、体半径,单位为千米。halo是否显示光晕。(设置为true时,天体周围会显示出光晕,光晕图像由tex_halo键值指定。)color 不用说了,颜色。(,格式)tex_map 行星的图像。coord_func 轨道计算方式,ell_orbit是一般方式,comet_orbit是彗星方式,其他是针对于较著名天体的特殊计算方式。lighting 天体如果是反射恒星的光,则设置为true;如果是自行发光,则为false。albedo 反照率。rot_开头的都是轨道参数。其他参数:hidden:如果设置为true,则在其他天体上看不到该天体。oblateness:该天体的扁率。rings:该天体是否有
6、环。ring_outer_size:环外圈的半径(单位:千米)。ring_inner_size:环内圈的半径(单位:千米)。tex_ring:环的图像。这是修改ssystem.ini给地球和月球加上土星环的效果。rot_开头的是自转参数。rot_periode:自转周期,单位为时。rot_obliquity:黄赤交角。rot_precession_rate:岁差(单位:角度每世纪)轨道参数在此不再赘述,这里有很完整的资料。http:/www.stellarium.org/wiki/index.php/JPL_HORIZONS给月球加上一颗卫星:ghostname=Ghostparent=Moo
7、nradius=511.2halo=truecolor=0.5.,1.,0.5.tex_map=lune.pngtex_halo=haloLune.pngcoord_func=ell_orbitlighting=truealbedo=0.82oblateness=0.08rot_periode=17.68rot_rotation_offset=38rot_obliquity=83.45rot_equator_ascending_node=0orbit_Epoch=2451545.0orbit_Period=23orbit_SemiMajorAxis=12450orbit_Eccentricit
8、y=0.01orbit_Inclination=90orbit_AscendingNode=0orbit_LongOfPericenter=0orbit_MeanLongitude=90从月球上看:到这颗新添加的卫星上:地景:其实地景的制作在帮助文件中已有详细的介绍,但我估计大部分人都没有帮助文件,所以还是说一下。(这一部分的内容将有大部分来自帮助文件)Stellarium的地景有三种方式:1单幅鱼眼方式:使用一幅鱼眼全景图片。2单幅球形方式:使用一幅球形全景图片。3多幅图片方式:使用几张从360条状全景图片分割出来的图片和一张地面图片。地景实际上是Stellariumlandscapes下的
9、一个子文件夹,其中存放landscape.ini和PNG格式图片文件。1.鱼眼方式:Trees地景是单幅鱼眼方式的地景仅使用一幅图片,图片的中央是观测者的正上方(天顶),观测者的脚下(天底)是图片四边的内切圆,内切圆外面的部分(四角)将被忽略。图片文件必须为alpha透明的PNG格式,其透明部分将被Stellarium绘制为天空。由于这种方式的图片难以制作,在此不作过多介绍。Stellarium自带的Trees地景是单幅鱼眼方式。2.单幅球形方式单幅球形全景方式使用一种更加常用的全景图片。Stellarium自带的Moon地景使用这种方式。它的landscape.ini是这样的:landsca
10、pename=Moontype=sphericalmaptex=apollo17.png这种方式使用的图片是一张由多幅照片拼接成的全景图。图片的下部是地面的360度环视,上部的透明部分会被绘制为天空。下面说地景的关键文件:landscape.ini该文件有两个节,landscape和location。先说landscape。landscape下的type是地景的关键,它可以设置为三种值,spherical为单幅球形方式,fisheye是鱼眼方式,old_style是多幅图片方式。name是地景的名称,maptex是单幅球形方式或鱼眼方式中的图片,author是作者名,description是描
11、述。再说location。location中只有4个键,用来描述地景的位置,planet是所在行星,latitude是纬度,longitude是经度,altitude是高度。51楼最后再说多幅图片方式的地景,因为它实在是太复杂。前面说过,这种方式的地景,type是old_style。以Stellarium默认的Guereins地景来说明:landscapename=Guereinstype=old_stylenbsidetex=8tex0=guereins4.pngtex1=guereins5.pngtex2=guereins6.pngtex3=guereins7.pngtex4=guerei
12、ns8.pngtex5=guereins1.pngtex6=guereins2.pngtex7=guereins3.pngnbside=8side0=tex0:0:0.005:1:1side1=tex1:0:0.005:1:1side2=tex2:0:0.005:1:1side3=tex3:0:0.005:1:1side4=tex4:0:0.005:1:1side5=tex5:0:0.005:1:1side6=tex6:0:0.005:1:1side7=tex7:0:0.005:1:1groundtex=guereinsb.pngground=groundtex:0:0:1:1fogtex=f
13、og.pngfog=fogtex:0:0:1:1nb_decor_repeat=1decor_alt_angle=40decor_angle_shift=-22decor_angle_rotatez=0ground_angle_shift=-22ground_angle_rotatez=45fog_alt_angle=20fog_angle_shift=-3draw_ground_first=1解释:nbsidetex=8侧面景象的图片有8张。tex开头的都是侧面景象的图片。nbside与nbsidetex设置成相同数值。side开头的是图片放置方式,格式为图像:横向放置方式:纵向放置方式:横
14、向重复数:纵向重复数两个放置方式是个很有意思的参数,经我测试,设置为0-1的数时图像是正的,设置为1-2的数时图像是倒的,而且越靠近1图像被拉得越长(有点像透镜成像的规律),设置为2以上数时会出现多个重复的倒像。这两个参数一般应该设置为0,该地景中可能是为了视觉效果,将纵向设置为0.005。后面的重复数是将该图片重复的次数。例如将最后一个参数设置为10,该图片就会被压扁,从上到下重复10个。groundtex是地面图片,ground是放置方式;fogtex是雾气的图片,fog是显示方式。nb_decor_repeat=1每张侧面图在全景图中重复一次。decor_alt_angle=40不详。d
15、ecor_angle_shift=-22侧面图片从-22度开始绘制。decor_angle_rotatez=0侧面图片的水平旋转角是0度ground_angle_shift=-22地面图片从-22度开始绘制。ground_angle_rotatez=45地面图片的水平旋转角是45度。fog_alt_angle=20不详。fog_angle_shift=-3雾气从-3度开始绘制。draw_ground_first=1如果是1,则先绘制地面图片。Stellarium0.9.x和0.10.x的星空文化文件格式有些不同,这也是最麻烦的地方。先说一下它们相同的地方。星空文化是 Stellariumsky
16、cultures下的一个子文件夹,其中可能有很多文件(如western星空文化就有近百个文件,其中85个是星座想象 图),但关键的文件只有4或5 个:info.ini,constellationship.fab,constellation_names.eng.fab,star_names.fab。 有星座想象图的还会有constellationsart.fab。0.10.x版会有description.en.utf8和description.it.utf8,它们是“显示”设置窗口“星空术语”标签下星空文化的描述。Stellarium的文件果然很奇怪,这两个文件竟然是HTML格式的。需要特别注意
17、的一点是,Stellarium的星空文化所用的文本文件都是UTF-8编码,如果编辑时误保存成了其它编码,会导致文件中的中文无法显示。实际上,info.ini,constellationship.fab,constellationsart.fab,star_names.fab在两个版本的Stellarium中是相同的,唯一不同的是constellation_names.eng.fab。info.ini是一个非常简单的ini文件,在0.9.x中只有一项,就是该星空文化的名称。在0.10.x中也只有3项,另外两项是作者名和描述网址。用“记事本”就可以编辑这个文件了,唯一要注意的是,一定要保存成UTF
18、-8编码,不能是ANSI。58楼star_names.fab中储存的是恒星在该文化中的名称,如北落师门。这个文件格式很简单,现举一例:75097|北极一,太子72607|北极二,帝70692|北极三,庶子69112|北极四,后宫62572|北极五,天枢,纽星113368|北落师门左边是HP星表编号,右边是恒星名称,中间是一个|(在英文输入法下Shift+)。最后保存为UTF-8编码。在Stellariumstarsdefault下有一个name.fab,其内容是恒星的通用名称,如_And之类。它的格式与star_names.fab是相同的。constellationship.fab的内容是星座
19、连线,它的格式也很简单。在该文件中,每一行是一个星座的定义。一个星座的多个参数由空格分隔:0043726037439274392763337633374785005589341904969049692041920419285592855938649386493506(以上两行来自chinese星空文化)Cnc543103428064280640843428064291142911405264291144066(此行来自western星空文化)它的格式是这样的:星座标识符连线条数连线1起点连线1终点连线2起点连线2终点星座标识符可以是字母也可以是数字,但Stellarium自带的星空文化除了we
20、stern的星座标识符是3个字母外,其他文化的都是数字。连线的起点和终点都是恒星的HP编号。接下来说constellationsart.fab。这个就直接从帮助文件中复制了。每个星座假象图的详细参数,每一行定义一个星座假象图,包括11个参数,参数中间以空格分隔:1星座名称缩写(3个字符的星座名称缩写)2图片文件名,图片保存的目录为“./skycultures/”,文件名区分大小写,并必须带有扩展名“.png”。3恒星1在图片中的x坐标(像素值)4恒星1在图片中的y坐标(像素值)5恒星1的HP(伊巴谷)星表编号6恒星2在图片中的x坐标(像素值)7恒星2在图片中的y坐标(像素值)8恒星2的HP(伊
21、巴谷)星表编号9恒星3在图片中的x坐标(像素值)10恒星3在图片中的y坐标(像素值)11恒星3的HP(伊巴谷)星表编号(注意,这回没有省略号了)附注:帮助文件中的“星座名称缩写”就是我前面说到的星座标识符。最后说 constellation_names.eng.fab。这在0.9.x和0.10.x是不同的。而且更麻烦的是,中文帮助文件里也没有说。0.9.x 版constellation_names.eng.fab还能在官网上找到说明,但0.10.x版的 constellation_names.eng.fab则搜遍整个官网也找不到。先说0.9.x。0.9.x的constellation_name
22、s.eng.fab格式是这样的:105雷电106垒壁阵107离宫108离瑜(以上四行来自chinese星空文化)Boo BootesCae CaelumCha Chamaeleon(以上三行来自western星空文化,其中的英文在显示时会通过Stellarium的语言文件翻译)左边是星座标识符,右边是星座名,中间用空格或制表符分割。(附注:我用的0.9.1版据测试可以这样。但据官网上的资料,0.9.0版有以下限制:星座标识符必须是三个字节;中间的分隔符必须是五个空格。我没有0.9.0版,无法测试。)0.10.x版的constellation_names.eng.fab多了一列,格式大约是这样:Aql Aquila _(Aquila)And Andromeda _(Andromeda)(以上两行来自western星空文化)003 _(CoiledThong)004 _(Wings)(以上两行来自chinese星空文化)三列之间用空格或制表符分隔。第一列是星座标识符,第三列引号内是星座显示名称。第二列的含义不明,我在官网上没有找到相关资料,似乎引号内为空没有什么影响。这就是我制作的一个简单的星空文化。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1