图形旋转的问题,很急,救救我! (100分)

我这里有一个组件和示例,对图像进行了很多的操作,有旋转的操作,还有好多,大概40种吧.
留下邮件,我可以发给你.
 
对不起!(!没搞过!
 
lofa:
我的email:shanghuaguo@sina.com,谢谢!
 
写了半天,都丢了,重新写:

做矢量系统一半有过程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,所以你修改了这两个过程其它不用动应该就可以实现!


 
我对AutoCad的Automation关注。但是图形图像的实在不行。帮不上你。

Cad方面还想向你多请教。
 
zrj:

明白了一点点:按你的意思还是通过调用通用过程来实现,有如下疑问:
1,DD2xy过程须对每个矢量图上的所有现有点进行扫描,然后处理。当矢量图大了之后,
速度也许是个问题?
2,用户旋转之后继续编辑,实际上每一个实时操作都必须调用这个过程。还是我第一段
里提到的问题,依旧较麻烦?
也许我对你的意思悟得不透,请继续关注!
 
我也不是图形方面的专家,帮不上忙啦。
 
你可以查看一下GDI+,如果你使用Windows 2000以上版本的话。
GDI+提供了全局变形和页面变形,可以使你绘制的项目变形
包括旋转、缩放、平移等。
 
你的图元都是二维的吗?那只不过对坐标系进行两种操作而已,一是平移,一是旋转。
由于图元是系统绘制的,那么这些图元的参数可以很容易确定,然后在新的坐标系下绘
一遍就行了。
 
gsh2000你好 ,不好意思,你的问题我也不知道
 
tingjie:
我在win2000下开发的,你所说的gdi能不能具体点,我查了,可是没找到,能否再帮
帮忙?

gmwu:
从根本上说,无论采取什么方法都需要对图元重绘的,问题是采用什么方法可以使
图元的重绘过程变得简洁有效,不至于出问题。如果每一步操作都对现有所有图元进行
重绘则更不可行,因为矢量图大了之后,效率是个大问题。
 
卷起千堆雪tyn, menxin……快显身啊——难道这方面的行家就这么少?!
 
我说的是GDI+,不是GDI。我只大概看了一下,肯定是可以支持你所要的功能的。
如果你装了MSDN的话可以查一下。而且我知道有人把GDI+已经封装好了Delphi的
单元文件。不知道你来不来得及该你的程序。
 
tingjie:

有这样的东东?在哪里?如果可行的话改程序是可以的,大不了不睡觉:)再帮帮忙
 
到:http://www.progdigy.com/看看吧。希望能对你有帮助![:)]
 
对不起,我无能为力!
 
tingjie:
去看了,是个开发多媒体应用的好东东。我看了看它的帮助文件,也许是仓促的缘故,
没发现对我的程序很有用的东西。谢谢你!
 
旋转的问题应该是 世界坐标 的变幻
在那本据称很牛其实还行错也不少的 <Windows图形编程> 理由一部分介绍
(好像是这个名字,不在身边,有一期程序员的推荐过,蓝色封皮,好像是机械的,要不就是人邮的)
 
zjan521:
有电子版的那本书吗?实在是着急——
面临下岗的危机,郁闷!
 
顶部