高分求解,如何获得圆弧坐标,或者自己编写类似CDC::Pie功能的函数

bluestar 2009-06-24 10:43:34
以像素为单位

用CDC的函数画了一个圆,当然我知道圆心坐标、圆的半径等数据。

如何获得圆弧上每个像素的坐标?

----------------------------------
另外,就是如何自己实现CDC::Pie函数的功能(因Mobile开发里CDC类已经不支持Pie,Arc等函数)

谢谢支持。
...全文
156 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
菜牛 2009-06-27
  • 打赏
  • 举报
回复
图形学的书看看;另外可以用GDI+来绘制消除锯齿(反走样)的圆。
wenzujiang 2009-06-27
  • 打赏
  • 举报
回复
你去看一本书吧,好像是vc图像处理吧,那里很清楚地讲解了怎么画图
jyh_baoding 2009-06-25
  • 打赏
  • 举报
回复
按数学公式自己计算吧
bluestar 2009-06-24
  • 打赏
  • 举报
回复
我想绘图,不是简单的用这个公式强制转换获得一个整数,然后绘上去,不然肯定有锯齿
bluestar 2009-06-24
  • 打赏
  • 举报
回复
我觉得这些公式算出来的,有小数点,什么时候舍,什么时候进,怎么解决?
liangxd09 2009-06-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 tkminigame 的回复:]
x=acon(t);
y=bsin(t);
a,b为圆的长短半径。
[/Quote]
然后画线
fairchild811 2009-06-24
  • 打赏
  • 举报
回复
用数学方法,然后划线,或者gdiplus什么的
fffanpei 2009-06-24
  • 打赏
  • 举报
回复
自己写计算程序
然后自己验证一下
fandh 2009-06-24
  • 打赏
  • 举报
回复
自己写函数求出点序列,最好贷精度、步长等信息!
tkminigame 2009-06-24
  • 打赏
  • 举报
回复
x=acon(t);
y=bsin(t);
a,b为圆的长短半径。
skyxie 2009-06-24
  • 打赏
  • 举报
回复
1.
直接用圆坐标公式计算(x-a)^2+(y-b)^2=r^2 , (a, b) 为 圆心, r为半径

x用 a-r -> a+r 带入,分别求出对应的y

2. 很怀疑... "CDC类已经不支持Pie,Arc等函数", 那么 SDK的Pie, Arc函数也不支持了?
skyxie 2009-06-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 bluestar 的回复:]
我想绘图,不是简单的用这个公式强制转换获得一个整数,然后绘上去,不然肯定有锯齿
[/Quote]
直接用圆坐标公式计算(x-a)^2+(y-b)^2=r^2 , (a, b) 为 圆心, r为半径
x用 a-r -> a+r 带入,分别求出对应的y

这样就是一个像素一个像素增加的

像素已经是最小单位了, 难道你还能画出0.5个像素的不成?

16,472

社区成员

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

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

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