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