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