Pyslvs v0.9 計劃

  • 新的表示式

  • SQL Database 檔案格式

Pyslvs v0.9 計劃

在這次大改版中,預計會完成兩項目標:

  • 新的表示式,大幅縮減數據量。

  • SQL Database 檔案格式,支援Git 版本控制。

這兩個內容在進行時也會同時紀錄和

以下內容將闡述會需要製作的項目。

新的表示式

看了一些深度學習的文章後,了解到 PMKS 的表示式對於類神經演算法程式建模非常有幫助,因此決定將這個概念套用在 Pyslvs,並且藉由此表示法輸出成其他格式。

Pyslvs 中會使用下列兩種類型:

VPoint 節點

  • Link: str -> tuple[str]

    表示節點所屬連桿名稱,由輸入 str 逗號分隔值轉為內含 str 的 tuple 類型。

  • Type: VPoint.Type

    此節點的連接類型,關係其自由度。

  • color: str -> QColor

    此點顏色,由名稱回傳 Qt 的顏色值。

  • x, y: int, float

    直角座標系數值。

  • cx, cy: int, float

    當前的直角座標系數值。

VLink 連桿

  • name: str

    連桿名稱,大小寫英數皆可。

  • Points: str -> tuple[int]

    表示連桿中含有的節點號碼,由輸入 str 逗號分隔值轉為內含 int 的 tuple 類型。

其實只需要 VPoint 類型即可表示整個連桿機構,但是為了使 Solvespace 與使用者較好判讀,加入 VLink 以輔助建模。

不過在資料處理上,VPoint 會從 VLink 同步數據,因此必須先建立 VLink 才能加入節點。

而 Drive shaft 的部份則可以選擇輸入的節點(預設為第一個點)。

必須完成目標:

  • 轉換拓樸法。

  • 須將含有多點的連桿轉換成呆鍊。

  • 防止搜尋法放入 Solvespace 時發生錯誤。

SQL Database 檔案格式

這個版本由於必須打掉檔案格式重做,因此萌生使用新檔案格式的念頭。

任務是使用 peewee 套件規劃出紀錄整個檔案資訊的格式,並且套上 Git 版次管理的功能。

是否結合倉儲系統與加入帳戶驗證機制還在考慮中,目前是當成具有 Git 版本控制的檔案格式

由於可以開分支修改,已經拿掉之前參數的功能。

而 Pyslvs 可以透過 GUI 進行 add、commit、tag、push 至近端資料庫的功能,亦可進行 rebase 比較及預覽。


Comments

comments powered by Disqus