写了半天,都丢了,重新写:
做矢量系统一半有过程DD2xy(实际坐标到屏幕坐标的变化);
xy2dd(屏幕坐标到实际坐标的变化);
一般都是首先选一个点A,该点实际坐标已知为A',屏幕坐标为A'';
有一个放大系数SCALE
比如DD2xy可能这么写(设要转换点C点实际坐标已知为C',屏幕坐标为C'')
C''.x := Round((C'.x - a'.x)/Scale)+ A''.x;
这其实只考虑了SCALE和A'',a',你可以在加入一个DELTA(旋转角度);
然后考虑delta因素修改 DD2xy过程,
修改以后比如你的直线L,只用修改delta直不修改直线的实际坐标就可以实现直线的旋转,
这时候你旋转整个图形就是吧这个delta直修改,至于其它操作,只要能选种就可以了,
选种也是调用的DD2xy,xy2dd,所以你修改了这两个过程其它不用动应该就可以实现!