2.4.2 圆形思维的起点——朴素的软光栅(2)

圆的扫描转换

可以把问题简化为如何画一个在原点的圆。其他位置的圆可以通过平移原点位置同样大小的圆得到。

八分法画圆

 

 

利用简单方程

 

 利用极坐标方程

 

 

中点Bresenham画圆法

中点Bresenham算法的核心思想:把上下两个相邻像素坐标的中点带入解析函数,根据结果的正负,选择被在圆上的那个像素。移动x坐标所在位置,再选择两个相邻像素坐标的中点反复执行以上步骤。前后两次的中点坐标带入解析函数的差是一个固定增量,所以不需要每次带入解析函数,只需要增加增量再比较即可。

 

算法步骤

 

 

 

 

一点思考:只考虑第一象限靠上的八分之一圆,保证了斜率的绝对值小于1,此部分的最大位移方向在x轴上。

 

椭圆又如何?椭圆的中点Bresenham算法

分界点:最大位移方向x轴和y轴方向的点。

引入法向量找到分界点

 

 同样引入中点位置帮助判别候选点的实际位置

 

第一象限椭圆上半部分

 

 

 

 

 

 

 

 

posted on 2021-12-28 11:38  BoysCryToo  阅读(54)  评论(0编辑  收藏  举报

导航