打印

如何让FPGA画圆

[复制链接]
2396|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhulin|  楼主 | 2013-8-22 23:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
Backkom80| | 2013-8-23 08:07 | 只看该作者
确定圆心,及半径
计算当前像素点的位置是否满足到圆心的直线距离在半径内,即可。

使用特权

评论回复
板凳
linfeng24| | 2013-8-23 19:49 | 只看该作者
楼上正解,顶一个

使用特权

评论回复
地板
hjz007| | 2013-8-23 19:52 | 只看该作者
没必要,实际上计算机图形学/CAD里画圆是很简单的事情。
只有简单的比较和加法(加1,减1),在机械加工里叫插值算法。
需要的话,我给你做一个。

使用特权

评论回复
5
huangxz| | 2013-8-23 22:51 | 只看该作者
x^2+y^2=1计算结果就是个园。

使用特权

评论回复
6
GoldSunMonkey| | 2013-8-23 23:10 | 只看该作者
Backkom80 发表于 2013-8-23 08:07
确定圆心,及半径
计算当前像素点的位置是否满足到圆心的直线距离在半径内,即可。
...

肯定是啊

使用特权

评论回复
7
GoldSunMonkey| | 2013-8-23 23:10 | 只看该作者
huangxz 发表于 2013-8-23 22:51
x^2+y^2=1计算结果就是个园。

被我看到错别字了哦。哈哈

使用特权

评论回复
8
resxpl| | 2013-8-24 11:39 | 只看该作者
可以用公式.
x=cos(t)
y=sin(t)
结果就是一个以原点为圆心,半径是1的圆.

如果觉得三角函数计算麻烦. 可以用改用如下公式:
x=(1-t*t)/(1+t*t), -1<=t<1
y=2*t/(1+t*t)
这个公式半径误差比前面用三角函数时的误差稍微要大一些. 大致是两倍的关系.

使用特权

评论回复
9
resxpl| | 2013-8-24 11:47 | 只看该作者
半径误差=1-弦中点到圆心的距离

使用特权

评论回复
10
GoldSunMonkey| | 2013-8-25 00:04 | 只看该作者
resxpl 发表于 2013-8-24 11:39
可以用公式.
x=cos(t)
y=sin(t)

都是高手啊

使用特权

评论回复
11
GoldSunMonkey| | 2013-8-25 00:05 | 只看该作者
resxpl 发表于 2013-8-24 11:39
可以用公式.
x=cos(t)
y=sin(t)

很多东西我都忘记了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

66

主题

182

帖子

2

粉丝