Celestia/1.6.0 特性
程式碼更改,加上目錄更新。程式碼更改已完成,但在簽入前需要對一些細節進行討論。
三軸橢球體應該如何指定?對於恆星,我們使用 SemiAxes [ x y z ] 指定形狀,並將其乘以半徑。但這對於行星來說有點不方便,因為我們希望能夠簡單地寫
Mimas
{
SemiAxes [ 209.1 196.2 191.4 ]
}
但是,用不同的方式指定恆星和行星的大小將是不幸的。我們可以透過對半徑和半軸的互動作用進行更復雜的定義來同時獲得兩種方式
- 指定 SemiAxes,未指定半徑:物體半軸為 (sa.x, sa.y, sa.z)
- 指定半徑,未指定 SemiAxes:物體半軸為 (r, r, r)
- 同時指定 SemiAxes 和半徑:物體半軸為 (r*sa.x, r*sa.y, r*sa.z)
恆星半軸的順序與 ssc 檔案中其他地方使用的座標系不匹配 - y 和 z 軸被交換,與 Celestia 的內部座標系匹配。與其將此複製到行星,不如將恆星的工作方式更改一下可能會更好。
行星和衛星形狀 來自IAU/IAG 製圖座標和旋轉元素工作組 (WG)
在修訂版 4077 中實現 --Claurel (討論) 2008 年 2 月 4 日 07:16 (UTC)
我認為所有這些都應該一起考慮,而不是作為單獨的功能
- 觀察者位置座標
- 視赤經/赤緯
- 新的座標網格
- 黃道
- 大地座標(而不是地心緯度/經度)
- 銀河座標
在開發列表中關於赤經/赤緯的討論中產生了一個想法,那就是需要顯示觀察者座標。我認為,無論是否需要它們來理解選擇的方位,這都是正確的。目前,Celestia 顯示觀察者的參考系(跟隨物體和目標物體,跟隨/同步軌道/追逐/相位鎖定)以及參考系內的速度。顯示速度但沒有顯示位置似乎是一個嚴重的疏忽!可以將觀察者位置顯示為矩形座標或球面座標(經度、緯度、高度),相對於觀察者框架的中心。
在 3D 檢視中顯示的一些資料實際上不屬於那裡:溫度、晝長、自轉速度。這些資料要麼源於可能不可靠的資料,要麼不夠有趣,不值得在 3D 檢視中佔用空間,或者兩者都有。雖然我認為仍然值得顯示這些資訊,但我認為它們應該在 GUI 中的資訊面板上顯示,在那裡資料可以伴隨一些解釋性文字。
我認為,在決定 3D 檢視中包含哪些資訊時,我們應該優先考慮與觀察者相關的數值,例如距離和視大小。在觀察者的檢視中顯示與觀察者相關的數值有一個易於理解的邏輯。這有一個小的實際後果:與觀察者相關的數值往往會在每一幀都發生變化,因此在每幀都重新整理的檢視中顯示它們很方便。有一些與觀察者無關的數值非常重要,因此它們應該包含在 HUD 中
- 物件型別(恆星、星系、行星等)
- 恆星的光譜型別和絕對星等
- 星系的哈勃型別
- 行星/衛星/小行星的半徑;在適當情況下為三軸尺寸
所有物件的與觀察者相關的數值
- 距離
- 視大小(當非微不足道時,> 0.1 角秒)
- 視座標
對於行星
- 相位角
應從 HUD 中刪除的值
- 太陽系天體:溫度、晝長
- 恆星:光度、表面溫度、行星存在、自轉速度
"晝長" 如行星所示,是相當誤導的。它實際上顯示的是恆星自轉速度,而沒有限定詞的“晝長”通常被理解為太陽日的長度。
相位角現在為太陽系天體顯示。 --Claurel (討論) 2008 年 7 月 16 日 16:47 (UTC)
一個可能的增強功能是新增一個標記,顯示當前選定物件的方位。
推遲到 1.6.0 之後 --Claurel (討論) 2008 年 10 月 2 日 01:00 (UTC)
已實現,修訂版 4081 --Claurel (討論) 2008 年 2 月 4 日 07:14 (UTC)
(如 Martin 和其他人所請求)
在修訂版 4073 中實現 --Claurel (討論) 2008 年 2 月 27 日 19:35 (UTC)
- minormoon
- surfacefeature
- component
- diffuse
將小衛星分類為次要衛星將使我們能夠消除巨行星周圍小衛星軌道上的混亂,除了在有人真正想觀察它們時才除外。
feature 和 component 為分類物件提供了更多選項。此外,此類別的物件永遠不會在遠處被渲染為類星盤。
可能還需要一個 dwarfplanet 類別。
diffuse 類將用於諸如塵埃羽流和氣體雲之類的物體。
下表顯示了各種類別的預設屬性。
Planet Moon Spacecraft Component Invisible Diffuse Visible yes Yes Yes Yes No Yes VisibleAsPoint yes Yes Yes No No No Clickable yes Yes Yes Yes No No(?) Planetshine yes Yes No No No No
Surfacefeature 和 component 在修訂版 4077 中實現 --Claurel (討論) 2008 年 2 月 4 日 07:12 (UTC)
"Minormoon 和漫射光已在版本 4273 中實現" --Claurel (討論) 2008年4月14日 (一) 19:07 (UTC)
例如,地球反照光,環光——球諧函式是否可以用於逼近全域性照明?
已實現,但尚未提交到 SVN。仍需在計算反射光量時適當地考慮相位。 --Claurel (討論) 2008年3月20日 (四) 17:24 (UTC)
行星反照光已在版本 4237 中完全實現 --216.231.48.102 (討論) 2008年4月3日 (四) 18:12 (UTC)
- 地球
- 火星
- 伽利略衛星
- 更多土星衛星
是否可以將這些紋理的官方包單獨下載,以節省頻寬?
- 新增 Andrew 的 CHARM2 星體半徑測量目錄
- 新增 Selden 的脈衝星目錄
- 我已經很久沒有更新它了,而且弄丟了用於生成它的程式 :( Martin (Cham) 從 ATNF 網站進行了更近期的翻譯。... Selden (討論) 2008年1月23日 (三) 12:41 (UTC)
CHARM2 目錄已由 Andrew 提交,SVN 版本 4462 --Claurel (討論) 2008年10月2日 (四) 01:02 (UTC)
- 新增 Itokawa 模型
- 新增改進的 Eros 模型
- 新增改進的 ISS 模型
允許某些標記標記為“始終位於前景”
已在版本 4119 中實現 --Claurel (討論) 2008年2月14日 (四) 00:34 (UTC)
來自 ajtribick 的功能追蹤器請求
已在 SVN 版本 4416 中實現;為了與 ssc 檔案保持一致,添加了 Add 和 Replace 處理。 --Claurel (討論) 2008年10月2日 (四) 01:04 (UTC)
(主要是內部內容)
- 清理參考系程式碼;根據 1.5.0 參考系重寫舊參考系(“跟隨”、“同步軌道”等)。
- 在 celx 指令碼中公開 1.5.0 參考系。
- 透過快取提高參考系效能
- 為太陽系天體實現參考系層次結構;在渲染器和太陽系瀏覽器中使用此參考系層次結構。
- 為軌道實現速度方法
正在進行中。主要清理工作已完成,正在測試速度方法和快取改進。 --Claurel (討論) 2008年2月14日 (四) 00:39 (UTC)
已實現。軌道仍然需要更多速度方法。決定繼續在太陽系瀏覽器中使用名稱空間層次結構,因為參考系層次結構會隨著時間變化。 --Claurel (討論) 2008年2月24日 (日) 01:24 (UTC)
所有專案都已實現,儘管一些軌道時間的速度方法尚未完成。決定對於太陽系瀏覽器,名稱空間層次結構比參考系層次結構更合適,因為它不會隨著時間而改變。 --Claurel (討論) 2008年3月15日 (六) 01:27 (UTC)
已實現 EllipticalOrbit、SampledTrajectory 和 SPICE Orbit 的速度方法(截至版本 4280) --Claurel (討論) 2008年4月16日 (三) 19:19 (UTC)
(為了效能) 新類已編碼,但需要進行廣泛的測試以確保與舊版本的 Celestia 相容。新類包含一個高精度乘法運算子,這將使一些參考系內容的編碼變得更容易。
已實現;目前正在驗證和評估新類的效能 --Claurel (討論) 2008年2月4日 (一) 07:13 (UTC)
在 cel URL 中儲存參考系座標,而不是絕對座標;這將導致更具未來性的 URL。
已實現;正在測試補丁以驗證與現有 cel URL 的相容性 --Claurel (討論) 2008年4月23日 (三) 20:47 (UTC)
程式碼已在版本 4318 中提交。目前,僅在 Qt4 前端中支援建立版本 3 URL --Claurel (討論) 2008年5月6日 (二) 20:07 (UTC)
推遲到 1.6.0 之後。 --Claurel (討論) 2008年10月2日 (四) 01:10 (UTC)
- 處理方位角核心
- 自動確定有效時間視窗
- 更好地處理相對路徑
已新增自動時間視窗確定和支援在單個 SpiceOrbit 中使用多個核心(版本 4128)。 --Claurel (討論) 2008年2月24日 (日) 01:27 (UTC)
已實現基於 SPICE 參考系的旋轉模型,允許使用航天器方位角核心。(版本 4247)。 --Claurel (討論) 2008年4月9日 (三) 03:31 (UTC)
如果標記的物件無論其視星等如何都可以被點選並選中,那將會很方便。來自 ajtribick 的功能跟蹤請求
推遲到 1.6.0 之後。 --Claurel (討論) 2008 年 10 月 2 日 01:11 (UTC)
celx 指令碼應該能夠查詢恆星的 HD 和 SAO 目錄編號。來自 ajtribick 的功能跟蹤請求
在修訂版 4116 中實現。 --Claurel (討論) 2008 年 2 月 14 日 00:37 (UTC)
這是一個有趣的銀河系星團目錄,包含位置(包括距離)、光度引數、金屬丰度等:http://physwww.physics.mcmaster.ca/%7Eharris/mwgc.dat
球狀星團之前已經討論過,關於它們是應該歸類為星系、疏散星團還是一種新的深空天體型別,存在一些分歧。我目前的觀點是我們應該新增一種新的深空天體型別。如果我們這樣做,我們需要選擇一組合適的引數。
由 Fridger 實現,SVN 修訂版 4447-4449 --Claurel (討論) 2008 年 10 月 2 日 00:58 (UTC)
時間線是一個新的 SSC 屬性,用於解決複雜外掛的常見問題。一個有力的例子是卡西尼-惠更斯任務。惠更斯探測器最初與卡西尼號宇宙飛船相連。2004 年 12 月 25 日,它與卡西尼號分離,進行了三週的自由飛行,然後進入土衛六大氣層,最終降落在土衛六表面。用三個參考系描述整個任務最為方便:卡西尼號的體固系參考系、自由飛行階段的以土星為中心的慣性參考系,以及最後以土衛六為中心的體固系參考系。在 Celestia 1.5.0 中,一個天體只有一個參考系,因此惠更斯探測器的 SSC 檔案必須使用三個不同的天體來表示。使用時間線,可以為任務的不同階段指定不同的參考系、軌跡和旋轉模型。
以下是如何在 SSC 檔案中描述惠更斯任務的一個例子。
"Huygens" "Sol"
{
Class "spacecraft"
Mesh "huygens.3ds"
Radius 0.00135
Timeline
[
# Attached to Cassini
{
Beginning "1997 10 15 09:27"
OrbitFrame { BodyFixed { Center "Sol/Cassini" } }
FixedPosition [ ... ]
BodyFrame { BodyFixed { Center "Sol/Cassini" } }
FixedRotation { ... }
}
# Free flight
{
Beginning "2004 12 25 02:01"
OrbitFrame { EclipticJ2000 { Center "Sol/Saturn/Titan" } }
SampledTrajectory { ... }
BodyFrame { EclipticJ2000 { } }
SampledOrientation { ... }
}
# Landed on Titan
{
Beginning "2005 1 14 09:00"
OrbitFrame { BodyFixed { Center "Sol/Saturn/Titan" } }
FixedPosition [ ... ]
BodyFrame { BodyFixed { Center "Sol/Saturn/Titan" } }
FixedRotation { ... }
}
]
}
已實現並提交。需要完成文件。 --Claurel (討論) 2008 年 2 月 24 日 01:25 (UTC)
一些太陽系天體的旋轉不能用繞固定軸的恆定旋轉來充分描述。我們需要為這些天體建立自定義旋轉模型,並使用 C++ 函式來計算方向。這些函式應該透過 CustomRotation SSC 屬性提供,類似於 CustomOrbit 的工作方式。
我們應該為以下天體建立 CustomRotations:
- 地球(歲差和章動)
- 月球
- 土星的主要衛星(尤其是土衛一)
- 伽利略衛星
- 海王星的衛星海衛一
- IAU 行星模型
極地位置的長期項應被限制,以避免行星在遙遠的過去或未來“翻滾”。
已實現 IAU 行星、月球、火星、木星和土星主要衛星模型。 --Claurel (討論) 2008 年 2 月 24 日 01:36 (UTC)
已實現地球歲差:P03 模型,以及 P03 的長期擴充套件。 --Claurel (討論) 2008 年 3 月 15 日 01:24 (UTC)
已實現天王星主要衛星的 IAU 旋轉模型。 --Claurel (討論) 2008 年 5 月 2 日 22:17 (UTC)
Celestia 1.5.0 無法處理距離太陽超過 16,000 光年的恆星。修訂版 4198 解決了這個問題,將最大距離增加到 1000 萬光年。
在修訂版 4198 中實現。 --Claurel (討論) 2008 年 3 月 22 日 01:35 (UTC)
在 1.5.0 中,太陽系天體和深空天體可以有 InfoURLs,但恆星始終使用預設的 SIMBAD URL。能夠為恆星提供 InfoURLs 將非常有用。與其他擴充套件的恆星屬性一樣,InfoURLs 僅適用於 stc 檔案中定義的恆星。
在修訂版 4185 中實現。 --Claurel (討論) 2008 年 3 月 22 日 01:35 (UTC)
在 1.5.0 中,一個經常出現的問題是冥王星的軌道不再可見。這是因為冥王星的軌道重新定義了相對於冥王星-卡戎質心,而質心的日心軌道沒有顯示。1.6.0 將更改為渲染參考點的軌道,如果繞該參考點執行的天體是行星、衛星、小行星或航天器。
在修訂版 4237 中實現。 --Claurel (討論) 2008 年 4 月 9 日 03:30 (UTC)
在 SampledTrajectory 記錄中新增速度向量可以使軌跡在給定的記憶體佔用量下(即為相同的精度所需樣本更少)變得更加準確。HORIZONS 可以生成具有速度的星曆,因此可以方便地獲取 xyz+速度軌跡資料。包含位置和速度的檔案將副檔名為 xyzv;此類檔案可以替換 SampledOrbit 或 SampledTrajectory 中的 xyz 檔案,而無需對 ssc 或 stc 檔案進行任何其他修改。
在修訂版 4236 中實現。 --216.231.48.102 (討論) 2008 年 4 月 3 日 18:17 (UTC)
卡西尼號的當前軌跡僅涵蓋標稱任務,該任務於 2008 年 6 月結束。現在擴充套件任務的軌跡已經可用,我們應該將其包含在 Celestia 中。此外,新的時間線功能可以用來將惠更斯探測器定義為一個單獨的天體,而不是將探測器與卡西尼號相連的階段和自由飛行階段定義為獨立的天體。
新的卡西尼號任務已在 SVN 修訂版 4420 中新增。 --Claurel (討論) 2008 年 10 月 2 日 01:08 (UTC)
除了現有的赤道網格之外,還要新增新的網格型別:水平(地平-方位角)、黃道和銀河。繪製的網格線應隨著使用者放大而改變,保持大致線密度。網格弧的細分應自適應,以確保它們始終顯得平滑。為了使標籤有用,它們必須始終顯示在視野內的點上,而不是像當前實現那樣固定在某個位置。
在 SVN 修訂版 4352 中實現。 --Claurel (討論) 2008 年 5 月 31 日 02:29 (UTC)
- Celestia 1.5.0 仍然無法計算行星繞雙星(如星球大戰中的塔圖因)執行時的溫度。
- 如果兩顆恆星都有行星,那麼只有其中一顆恆星的行星會列在太陽系瀏覽器中。而且始終是同一個,而不是最近的那個!
Celestia 的 Qt 版本已經修復了太陽系瀏覽器問題。溫度計算將在 1.6.0 之後進行處理。在我看來,溫度並不重要到需要作為疊加文字的一部分顯示。它應該在單獨的資訊視窗中顯示(可能還有一些關於平衡溫度到底是什麼的解釋——人們看到金星比地球冷時會感到困惑)。 --Claurel (talk) 2008 年 7 月 16 日 16:52
更新 stars.dat
[edit | edit source]切換到一種更嚴格且文件更完善的方法,從 HIPPARCOS 資料集中構建 stars.dat。使用新的歸約作為起點。
Andrew 從最新版本的 HIPPARCOS 目錄中生成的新的 stars.dat。SVN 修訂版 4462 --Claurel (talk) 2008 年 10 月 2 日 01:10
太陽系天體的多個名稱
[edit | edit source]使用與恆星和深空天體相同的冒號分隔名稱列表,使為太陽系天體分配多個名稱成為可能。
正在進行的專案
[edit | edit source]- Qt4 介面
- 大氣渲染
- HDR
- 高解析度瓦片渲染
- 外掛包系統