计算机图形学实验报告百度云盘,计算机图形学实验报告(一).doc

计算机图形学实验报告(一).doc

PAGE

PAGE 1

实验一 OpenGL开发环境及扫描转换算法

实验目的与要求

通过实验掌握OpenGL中编程环境的设置,了解相关函数用途及设置步骤;

通过实验掌握基本图形元素的生成,给出相关代码和运行结果;

用WINDOWS GDI函数编写生成直线或区域填充的程序(选DDA或Bresenham直线算法,活性边表算法填充多边形),演示算法过程。

画矩形,调用一个函数画一个矩形。画椭圆,调用一个函数画一个椭圆。画Bezier 曲线。

实验方案

请描述为达到实验的需要完成哪些方面的实验,列举出实验的基本要点和重点。

在工程WinAPIEX加入void createLine(HDC tmpDC)和void Polyline (tmpDC)

在void createLine(HDC tmpDC)用DDA直线算法或Bresenham直线算法生成直线

在void Polyline (tmpDC)添加活泩边表填充算法,生成填充四边形和八边形

加入Rectangle(tmpDC,x0,y0,x1,y1);加入Ellipse (tmpDC, x0,y0,a,b) ;加入 PolyBezier(tmpDC,arr_vertex,4) ;

实验结果和数据处理

生成直线的DDA直线算法

在createLine(tmpDC)中加入以下代码

int x0,y0,x1,y1,color;//自定义直线的起点(x0,y0)和终点(x1,y1),及颜色color

float dx,dy,x,y;

int length,i;

x0=50;

y0=160;

x1=900;

y1=200;//此处修改了

color=1000;color=1;

if(abs(x1-x0)>=abs(y1-y0))

length=abs(x1-x0);

else

length=abs(y1-y0);

dx=(x1-x0)/(float)length;

dy=(y1-y0)/(float)length;

i=1;

x=(float)x0;

y=(float)y0;

while(i<=length)

{

SetPixel(tmpDC,int(x+0.5),int(y+0.5),color);

x+=dx;

y+=dy;

i++;

}

区域填充的程序

在void Polyline (tmpDC) 添加活性边表填充

void Polyline (HDC tmpDC) //多边形边数.

{

const int POINTNUM=4;//或者是八边形8

/******定义结构体用于活性边表AET和新边表NET***********************************/

typedef struct XET

{

float x;

float dx,ymax;

XET* next;

}AET,NET;

/******定义点结构体point******************************************************/

struct point

{

float x;

float y;

}polypoint[POINTNUM]={100,100,400,100,400,400,100,400};//正方形

//polypoint[POINTNUM]={600,100,700,100,800,200,800,300,700,400,600,400,500,300,500,200};//八边形顶点

/******计算最高点的y坐标(扫描到此结束)****************************************/

int MaxY=0;

int i;

for(i=0;i

if(polypoint[i].y>MaxY)

MaxY=(int)polypoint[i].y;

/*******初始化AET表***********************************************************/

AET *pAET=new AET;

pAET->next=NULL;

/******初始化NET表************************************************************/

NET *pNET[1024

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值