计算机图形学正负法画圆

2023-05-10 15:06:35   文档大全网     [ 字体: ] [ 阅读: ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《计算机图形学正负法画圆》,欢迎阅读!
正负,图形,计算机


计算机图形学试验报告(六)

试验名称: 利用正负法画圆

专业:地理信息系统 班级:20111班学号:********姓名: 日期: 2013

一、试验内容

1、利用中点法思想编写函数; 2、利用算法生成圆;

3、完成属性设置和增加交互功能;

二、试验目的

通过上机操作,编写中点法生成圆,理解重点算法的生成原理,并实现简单交互功能。

三、试验原理

中点法生成圆,是利用函数曲线的交点与两个像素的中点的位置关系,来确定下一像素点的选取,决策变量d的初始值为d=d=5.0/4-r; 当点x,y在圆内时,d<0;当点在圆外时,d>0;当点在圆上时,d=0。根据判别变量F的正负,可设x,y的移动方向,然后利用映射变换生成整个圆。

四、程序设计流程



d>0



d+=2.0*(x-y)+5;

y--; x++;

d+=x*2.0+3; x++;

开始

初始量 x=0, y=r, d=5/4-r;





终止判别





结束

- 1 -


五、试验程序

(1)

#include graphics.h #include conio.h

void MidpointCircle(x0,y0,r,color) { int x,y; float d; x=0; y=r;

d=5.0/4-r; while(x<=y) { putdot(x0,y0,x,y,color); if(d<0)

d+=x*2.0+3; else {

d+=2.0*(x-y)+5; y--; } x++; } }

putdot(x0,y0,x,y,color) {

putpixel(x0+x,y0+y,color); putpixel(x0+x,y0-y,color); putpixel(x0-x,y0+y,color); putpixel(x0-x,y0-y,color); putpixel(x0+y,y0+x,color);





//设置初始变量d //结束判断 //更新判别变量

//点在圆外,向下走一个单位- 2 -


本文来源:https://www.wddqxz.cn/0b828c64ba1aa8114431d9c5.html

相关推荐