Pyslvs 開發進度:
- 三角求解器的失敗解
- 演算法收斂圖
- 往後更新模式
Pyslvs 開發進度
三角求解器的失敗解
因為剛開始帶入 0 度角,若演算法產生的機構在 0 度角時為解決失敗的狀況,就會造成錯誤。
或許其他行程有符合路徑,使用迴圈檢查機構正確性。
answer = [False] angle = -10. #從 0 度開始,每 10 度進行一次約束正確性判斷 while False in answer: angle += 10. #若已經查全部行程,跳出迴圈 if angle>=360.: break s = solver([ Direction(p1=(Result['Ax'], Result['Ay']), p2=(Result['Dx'], Result['Dy']), len1=Result['L0'], angle=angle, other=other), #B Direction(p1=0, p2=(Result['Dx'], Result['Dy']), len1=Result['L1'], len2=Result['L2'], other=other), #C Direction(p1=0, p2=1, len1=Result['L3'], len2=Result['L4'], other=other)]) #E answer = [(Result['Ax'], Result['Ay']), (Result['Dx'], Result['Dy'])]+s.answer() if not (False in answer): #有(至少部份的)正常行程 '''合併進畫布''' else: #機構尺寸完全不正確 '''跳出視窗警告'''
生成時也是使用迴圈測試後合格的角度代入。
目前反覆測試後在 Windows 平台還未遇到問題。
演算法收斂圖
已移除 matplotlib 改用 PyQtChart,解決包裝過於肥大的問題。
測試並做了修正,可以一次比對當前演算結果的收斂速度。
以下是 3 種演算法的比對:
移除 Firefly 後的呈現結果:
往後更新模式
現在移轉到 Fossil 倉儲進行開發,而 Git 倉儲會暫時停止更新。
移轉前已釋出 0.6.5 版(Windows 改採用 NSIS 3.01 作為 installer),之後會在 Fossil 倉儲開發,釋出之後的 0.6 版更新或是 0.7 版。
只有在版本更新時才會 update 到 Github 進行 release。
Comments
comments powered by Disqus