cc++实现控制台下字符画直线和画圆课件.doc

cc实现控制台下字符画直线和画圆课件

c/c++ 实现 DDA画法DDA算法原理: ε=1/max(|△x|,|△y|) 中点BH画圆法 八分法 首先解决八分之一圆弧 算法步骤: 1.输入圆的半径R。 2.计算初始值d=1.25-R、x=0、y=R。 3.绘制点(x,y)及其在八分圆中的另外七个对称点。 4.判断d的符号。若d≤0,则先将d更新为d+2x+3,再将(x,y)更新为(x+1,y);否则先将d更新为d+2(x-y)+5,再将(x,y)更新为(x+1,y-1)。 5.当xy时,重复步骤3和4。否则结束。 改进:用d-0.25代替d 算法步骤: 1.输入圆的半径R。 2.计算初始值d=1-R、x=0、y=R。 3.绘制点(x,y)及其在八分圆中的另外七个对称点。 4.判断d的符号。若d≤0,则先将d更新为d+2x+3,再将(x,y)更新为(x+1,y);否则先将d更新为d+2(x-y)+5,再将(x,y)更新为(x+1,y-1)。 5.当xy时,重复步骤3和4。否则结束。 源代码: DDA画直线: #includeiostream #includecmath using namespace std; int arr[100][100]; void drawLine(int x0, int y0, int x1, int y1) { int ymax = y1; int ymin = y0; if (y0

文档评论(0)

1亿VIP精品文档

相关文档