标签:
算法描述:
对于一般位置的椭圆, 例如, 可将中心平移到坐标原点, 确定好中心在原点的标准位置的椭圆像素点集后,再平移到位置,将问题转变为标准位置的椭圆的绘制问题。
如果椭圆的长轴和短轴方向不与坐标轴x 和y 平行,那么可以采用旋转坐标变换的方式, 同样将问题转变为标准位置的椭圆的绘制
即。
定义下面椭圆中点算法的判别式:
则:
由于椭圆的对称性, 这里只讨论第一象限椭圆弧的生成。
在处理这段椭圆弧时, 进一步把它分为两部分: 上部分和下部分,以弧上斜率为- 1 的点作为分界。
在上部分, 在x方向上取单位步长,确定下一像素的位置;
在斜率小于-1的下部分, 在y方向取单位步长来确定下一像素的位置。
而椭圆的中点生成过程类似于直线与圆的中点生成算法。
详细代码:Computer Graphics - code_1
生成结果:
标签:
原文地址:http://www.cnblogs.com/xd-g/p/5086722.html