好像没有,你按照解析几何里的坐标变换一点一点算呗,不过是旋转,好像要用到sin() cos()
具体算法不记得了,解析几何不是我的长项

解决方案 »

  1.   


    自己写一下吧,已知(x,y),坐标系旋转 a ,求新的(x',y'),这个不难吧,呵呵。
      

  2.   


    x' = sqrt(x^2 + y^2)*cos(a);
    y' = ...............*sin(a);
      

  3.   

    vc里没有现成的需要自己编,找本图形学或者去网上下个图形库之类。如果还嫌麻烦的话,就找FMD去要,他肯定有,不过千万别说是我告诉的。要是2年前我也可以给你,只不过疏忽之中给丢了
      

  4.   


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

  5.   

    不要等高手了。高手也没有办法。只能自己写。
    但是你要用Windows NT还行,它的API有函数。SetWorldTransform。
      

  6.   

    我说了,你会给我分吗?API函数有画椭圆的,你把相应的坐标调换一下不就行了吗?但函数名我忘了
      

  7.   

    我是这样考虑的:旋转坐标,然后再画椭圆。这样在原坐标下就得到一个旋转后的椭圆,就不用自己编椭圆的旋转函数。可以直接利用pDC->Ellipse(CPoint,CPoint);所以问题的关键就是找到一个调整坐标的函数,不只有没有这样的函数?!
      

  8.   

    喂,老兄,你有没有搞错,什么叫旋转椭圆?什么又叫旋转坐标?
    GDI本来就试图给你提供了至少两套坐标系:逻辑坐标与设备坐标。你的绘图函数本来就是在逻辑坐标系中工作的,然后由GDI负责映射到设备坐标,而且这种映射的规则你可以自己来定义——遗憾的是,你只能定义平移与缩放,却不能定义旋转。
    我已经说过了,如果你使用NT的话,GDI会给你提供另一套坐标系,用SetWorldTransform定义并用SetGraphicsMode激活,在这里,你就可以随心所欲地平移、缩放乃至旋转了。但如果你用98,GDI并不给你提供这套坐标系,你只能自己写代码旋转——说白了就是一个矩阵,而这个矩阵就等于你自己定义了一个新的“坐标空间”。
    不要等“高手”了,却实没有别的办法。
      

  9.   

    SetWorldTransform() , 须先用SetGraphicsMode()将DC的属性设为GM_ADVANCED才有效‘见MSDN
      

  10.   

    这里有一篇说明画倾斜椭圆的文章,附代码:
    http://www.codeguru.com/gdi/ellipse.shtml
    抄完了别忘了给分!
      

  11.   

    旋转一个点的公式:
    x2=x1*cosa-y1*sina
    y2=x1*sina+y1*cosa