下面是引用 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 ,半圆的地方很多点到绕圈原点的距离都一样,感觉像是边缘被撑开的
是什么模型吗? 感觉那个弧形还蛮可爱的