圆弧算法计算机图形学实现
圆弧绘制的老三样算法里,中点法和 Bresenham 真的挺好用,尤其在像素级绘图里,效率和精度都还不错。
中点画圆法的核心是八对称性,算 1/8 圆就能推全圆,用的是整数加法,省事又快。关键在于中点位置判断,用个d
来控制方向,选点全靠它。
Bresenham 算法也是整数运算的好例子,适合第一象限圆弧,更新个f
就能知道是往 H 走还是 L 走,算是比较经典的技巧了。如果你做的是网格类像素绘图,试试这个准没错。
还有个多边形逼近法
,就是把圆当成多小直线拼出来的,靠角度+三角函数定位。虽然稍微吃点性能,但画复杂图案的时候还挺灵活。
如果你还不太熟这些算法,推荐看看下面这几个链接,都是实战角度写的,比较容易理解:中点画圆法 Bresenham 画圆算法、圆算法优化、Bresenham 画线等等。
哦对了,画线用到的中点法和画圆是亲戚,多思想是通的。你在实现的时候可以顺手一块儿搞定。,选合适的算法,画图事半功倍。
下载地址
用户评论