下面是引用 tk7545 於 2010-02-01 13:40 發表的 :
Dear 大大:
接下來我可要好好的來解讀大大的每一段程式碼,由於我以前VB都是讀C++的執行檔來跑
想要呈現圖形動畫這部份用VB原來真的可以做得到,尤其我很喜歡放大縮小的功能
另外想請教大大的是,如果我想要有兩個旋轉軸而不只是原點(0.0)該朝哪個方向去想呢
一個是原點(0.0)另一個則是偏移一中心距例如10則第二旋轉軸為(10.0)
類似在畫面上有兩個齒輪在嚙合旋轉的感覺?
祝順心/
That's Very Easy
現在的PTC,MainForm 宣告那邊有兩行
Public OriPosX As Double
Public OriPosY As Double
這就是目前預設的繞圈原點,也就是拖曳圖片時那個 中心的那個黑色點點
很多程序都是先算出實際 "點" 座標 (關於虛擬、實際、框、點座標等名詞解釋可以看一下 宣告區下面的註解)
然後再加上 OriPosX * Dis 或 OriPosY * Dis
(OriPosX, OriPosY 這些是虛擬的框座標,顯示出來的點是 實際的點座標)
現在既然要兩個原點,那就把那兩個繞圈原點改成陣列就 OK 了
只是 VB 中有兩個好用不同用途的陣列,一個是直接在變數後面加上 () 譬如 Arr() 一個便是 Collection
我的第一直覺就是要用 Collection,如果要改成兩個以上繞圈原點
讀取就要新增讀取原點的工作了,因為兩個以上就會造成之間有 X, Y 的距離產生
而且顯示部分也要看是要以哪個繞圈原點為準,像是拖曳工作很多都是照著繞圈原點工作的
如果有個程序要使用到 OriPosX ,新的只要改成 OriPosX.Item(NowOriPosInd) 就 OK 了
不過要宣告很多新的東西,加入很多讀取功能與顯示功能
還需要改蠻多的,應該把 搜尋取代功能拿出來用用了....
沒想到你回復的速度還超快的說,
我有點好奇,這個 PTC 你要拿去做什麼呢?
這看起來有點像是工廠製作實際要用到的,其他軟體應該也有類似的功能才對
而且你給我的 Pos.txt ,半圓的地方很多點到繞圈原點的距離都一樣,感覺像是邊緣被撐開的
是什麼模型嗎? 感覺那個弧形還蠻可愛的