有没有一个函数能将椭圆进行旋转?若没有,那有没有将座标进行旋转的函数??急急!!

wjc 2001-08-09 03:50:06
...全文
208 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
GDXY 2002-01-06
  • 打赏
  • 举报
回复
旋转一个点的公式:
x2=x1*cosa-y1*sina
y2=x1*sina+y1*cosa
Kevin_qing 2001-08-11
  • 打赏
  • 举报
回复
你可以自己画嘛~
公式都有的
horsehorse 2001-08-11
  • 打赏
  • 举报
回复
这里有一篇说明画倾斜椭圆的文章,附代码:
http://www.codeguru.com/gdi/ellipse.shtml
抄完了别忘了给分!
wadna 2001-08-11
  • 打赏
  • 举报
回复
SetWorldTransform() , 须先用SetGraphicsMode()将DC的属性设为GM_ADVANCED才有效‘见MSDN
wjc 2001-08-10
  • 打赏
  • 举报
回复
我是这样考虑的:旋转坐标,然后再画椭圆。这样在原坐标下就得到一个旋转后的椭圆,就不用自己编椭圆的旋转函数。可以直接利用pDC->Ellipse(CPoint,CPoint);

所以问题的关键就是找到一个调整坐标的函数,不只有没有这样的函数?!
wjc 2001-08-10
  • 打赏
  • 举报
回复
还有吗?
azuo_lee 2001-08-10
  • 打赏
  • 举报
回复
喂,老兄,你有没有搞错,什么叫旋转椭圆?什么又叫旋转坐标?
GDI本来就试图给你提供了至少两套坐标系:逻辑坐标与设备坐标。你的绘图函数本来就是在逻辑坐标系中工作的,然后由GDI负责映射到设备坐标,而且这种映射的规则你可以自己来定义——遗憾的是,你只能定义平移与缩放,却不能定义旋转。
我已经说过了,如果你使用NT的话,GDI会给你提供另一套坐标系,用SetWorldTransform定义并用SetGraphicsMode激活,在这里,你就可以随心所欲地平移、缩放乃至旋转了。但如果你用98,GDI并不给你提供这套坐标系,你只能自己写代码旋转——说白了就是一个矩阵,而这个矩阵就等于你自己定义了一个新的“坐标空间”。
不要等“高手”了,却实没有别的办法。
笨笨 2001-08-09
  • 打赏
  • 举报
回复
还是自己辩吧,老兄!
kindguy 2001-08-09
  • 打赏
  • 举报
回复
我说了,你会给我分吗?API函数有画椭圆的,你把相应的坐标调换一下不就行了吗?但函数名我忘了
azuo_lee 2001-08-09
  • 打赏
  • 举报
回复
不要等高手了。高手也没有办法。只能自己写。
但是你要用Windows NT还行,它的API有函数。SetWorldTransform。
liujiangsh 2001-08-09
  • 打赏
  • 举报
回复
试试OpenGL,三位图形立马出现
jfzsl 2001-08-09
  • 打赏
  • 举报
回复

广告时间:
http://www.csdn.net/expert/topic/208/208195.shtm




广告时间:
http://www.csdn.net/expert/topic/208/208195.shtm
patient 2001-08-09
  • 打赏
  • 举报
回复
vc里没有现成的需要自己编,找本图形学或者去网上下个图形库之类。

如果还嫌麻烦的话,就找FMD去要,他肯定有,不过千万别说是我告诉的。

要是2年前我也可以给你,只不过疏忽之中给丢了

wjc 2001-08-09
  • 打赏
  • 举报
回复
唉!没高手吗?
rediori 2001-08-09
  • 打赏
  • 举报
回复
没有直接的函数
wjc 2001-08-09
  • 打赏
  • 举报
回复
急急急!
谁知道?给点建议!
wjc 2001-08-09
  • 打赏
  • 举报
回复
图形学中有椭圆的旋转计算,但那要有7个参数,一个点一个点的算,那岂不是很慢。我想VC++应该提供这方面的函数。有那位大哥知道,请赐教。
Elminster 2001-08-09
  • 打赏
  • 举报
回复

x' = sqrt(x^2 + y^2)*cos(a);
y' = ...............*sin(a);
Elminster 2001-08-09
  • 打赏
  • 举报
回复

自己写一下吧,已知(x,y),坐标系旋转 a ,求新的(x',y'),这个不难吧,呵呵。
yinx 2001-08-09
  • 打赏
  • 举报
回复
好像没有,你按照解析几何里的坐标变换一点一点算呗,不过是旋转,好像要用到sin() cos()
具体算法不记得了,解析几何不是我的长项

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧