Pyslvs v0.9 大更新進度

  • 加回自動旋轉鈕
  • 自由移動支援多點

加回自動旋轉鈕

改良舊的 QThread,讓它掛在 main window 底下,不用因為面板關閉而刪除,執行上似乎有比以前順暢。

途中遇到修改動作會自動中斷。

自由移動支援多點

支援框選多個點拖移。

為避免此命令分散,造成復原功能困擾,包裝到一個巨集中。

這邊重寫一下公式,看以後是否有 CAD 互動的需求。

滑鼠滾輪平移檢視公式:

$$x_{Origin (dragged)}=x_{Mouse (dragged)}-(x_{Mouse (pressed)}-x_{Origin (pressed)})$$

$$y_{Origin (dragged)}=y_{Mouse (dragged)}-(y_{Mouse (pressed)}-y_{Origin (pressed)})$$

註:在 Widget 的座標系更改原點位置,以達成畫布平移。

拉動滑鼠同時拉動相對點的座標:

$$x_{point (dragged)}=\frac{(x_{Mouse (dragged)}-x_{Origin}-(x_{Mouse (pressed)}-x_{Origin})}{f_{zoom}}+x_{point (Origin)}$$

$$y_{point (dragged)}=\frac{(y_{Mouse (dragged)}-y_{Origin}-(y_{Mouse (pressed)}-y_{Origin})}{f_{zoom}}+y_{point (Origin)}$$

註:取得滑鼠移動增量套用縮放係數,加上該點原始座標,以獲得新的點座標。


Comments

comments powered by Disqus