计算机图形学大作业Word文件下载.docx

上传人:b****2 文档编号:4343175 上传时间:2023-05-03 格式:DOCX 页数:24 大小:112.66KB
下载 相关 举报
计算机图形学大作业Word文件下载.docx_第1页
第1页 / 共24页
计算机图形学大作业Word文件下载.docx_第2页
第2页 / 共24页
计算机图形学大作业Word文件下载.docx_第3页
第3页 / 共24页
计算机图形学大作业Word文件下载.docx_第4页
第4页 / 共24页
计算机图形学大作业Word文件下载.docx_第5页
第5页 / 共24页
计算机图形学大作业Word文件下载.docx_第6页
第6页 / 共24页
计算机图形学大作业Word文件下载.docx_第7页
第7页 / 共24页
计算机图形学大作业Word文件下载.docx_第8页
第8页 / 共24页
计算机图形学大作业Word文件下载.docx_第9页
第9页 / 共24页
计算机图形学大作业Word文件下载.docx_第10页
第10页 / 共24页
计算机图形学大作业Word文件下载.docx_第11页
第11页 / 共24页
计算机图形学大作业Word文件下载.docx_第12页
第12页 / 共24页
计算机图形学大作业Word文件下载.docx_第13页
第13页 / 共24页
计算机图形学大作业Word文件下载.docx_第14页
第14页 / 共24页
计算机图形学大作业Word文件下载.docx_第15页
第15页 / 共24页
计算机图形学大作业Word文件下载.docx_第16页
第16页 / 共24页
计算机图形学大作业Word文件下载.docx_第17页
第17页 / 共24页
计算机图形学大作业Word文件下载.docx_第18页
第18页 / 共24页
计算机图形学大作业Word文件下载.docx_第19页
第19页 / 共24页
计算机图形学大作业Word文件下载.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

计算机图形学大作业Word文件下载.docx

《计算机图形学大作业Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机图形学大作业Word文件下载.docx(24页珍藏版)》请在冰点文库上搜索。

计算机图形学大作业Word文件下载.docx

(以下题目文档要求:

①基本论述②算法③程序源代码④界面图)

一、根据Bresenham直线绘制算法,实现直线的绘制。

1.基本论述

2.算法

Bresenham(intx0,inty0,intx1,inty1)

{

intdx,dy,e,i,x,y;

dx=x1-x0;

dy=y1-y0;

e=2*dy-dx;

x=x0;

y=y0;

for(i=0;

i<

=dx;

i++)

{

CDC*pDC=this->

GetDC();

pDC->

SetPixel(x,y,RGB(0,0,0));

if(e>

=0)

{

y++;

e=e-2*dx;

}

else

x++;

e=e+2*dy;

}

}

3.程序源代码

//LINE2View.cpp:

implementationoftheCLINE2Viewclass

//

#include"

math.h"

#include"

stdafx.h"

LINE2.h"

LINE2Doc.h"

LINE2View.h"

#ifdef_DEBUG

#definenewDEBUG_NEW

#undefTHIS_FILE

staticcharTHIS_FILE[]=__FILE__;

#endif

/////////////////////////////////////////////////////////////////////////////

//CLINE2View

IMPLEMENT_DYNCREATE(CLINE2View,CView)

BEGIN_MESSAGE_MAP(CLINE2View,CView)

//{{AFX_MSG_MAP(CLINE2View)

//NOTE-theClassWizardwilladdandremovemappingmacroshere.

//DONOTEDITwhatyouseeintheseblocksofgeneratedcode!

//}}AFX_MSG_MAP

//Standardprintingcommands

ON_COMMAND(ID_FILE_PRINT,CView:

:

OnFilePrint)

ON_COMMAND(ID_FILE_PRINT_DIRECT,CView:

ON_COMMAND(ID_FILE_PRINT_PREVIEW,CView:

OnFilePrintPreview)

END_MESSAGE_MAP()

//CLINE2Viewconstruction/destruction

CLINE2View:

CLINE2View()

//TODO:

addconstructioncodehere

~CLINE2View()

BOOLCLINE2View:

PreCreateWindow(CREATESTRUCT&

cs)

ModifytheWindowclassorstylesherebymodifying

//theCREATESTRUCTcs

returnCView:

PreCreateWindow(cs);

//CLINE2Viewdrawing

voidCLINE2View:

OnDraw(CDC*pDC)

{Bresenham(100,100,800,180);

CLINE2Doc*pDoc=GetDocument();

ASSERT_VALID(pDoc);

adddrawcodefornativedatahere

//CLINE2Viewprinting

OnPreparePrinting(CPrintInfo*pInfo)

//defaultpreparation

returnDoPreparePrinting(pInfo);

OnBeginPrinting(CDC*/*pDC*/,CPrintInfo*/*pInfo*/)

addextrainitializationbeforeprinting

OnEndPrinting(CDC*/*pDC*/,CPrintInfo*/*pInfo*/)

addcleanupafterprinting

//CLINE2Viewdiagnostics

AssertValid()const

CView:

AssertValid();

Dump(CDumpContext&

dc)const

Dump(dc);

CLINE2Doc*CLINE2View:

GetDocument()//non-debugversionisinline

ASSERT(m_pDocument->

IsKindOf(RUNTIME_CLASS(CLINE2Doc)));

return(CLINE2Doc*)m_pDocument;

#endif//_DEBUG

//CLINE2Viewmessagehandlers

Bresenham(intx0,inty0,intx1,inty1){

e=e-2*dx;

4.程序运行截图

二、用C语言编写:

画y=sin(x)的图形(要求画出[-2π,2π]的图形及笛卡尔坐标)

drawSin(intx,inty,intA)

CDC*pDC=this->

inti=0;

pDC->

MoveTo(x-300,y);

LineTo(x+300,y);

LineTo(x+290,y-10);

MoveTo(x+300,y);

LineTo(x+290,y+10);

MoveTo(x,y+200);

LineTo(x,y-200);

LineTo(x-10,y-190);

MoveTo(x,y-200);

LineTo(x+10,y-190);

MoveTo(-100000,0);

for(i=-314/2;

i<

(314/2);

i++)

{

SetPixel(x+i,(int)A*sin((double)i/25)+y,RGB(0,0,0));

LineTo(x+i,(int)A*sin((double)i/25)+y);

}

//sin2View.cpp:

implementationoftheCSin2Viewclass

sin2.h"

sin2Doc.h"

sin2View.h"

//CSin2View

IMPLEMENT_DYNCREATE(CSin2View,CView)

BEGIN_MESSAGE_MAP(CSin2View,CView)

//{{AFX_MSG_MAP(CSin2View)

//CSin2Viewconstruction/destruction

CSin2View:

CSin2View()

~CSin2View()

BOOLCSin2View:

//CSin2Viewdrawing

voidCSin2View:

{drawSin(300,200,100);

CSin2Doc*pDoc=GetDocument();

//CSin2Viewprinting

//CSin2Viewdiagnostics

CSin2Doc*CSin2View:

IsKindOf(RUNTIME_CLASS(CSin2Doc)));

return(CSin2Doc*)m_pDocument;

//CSin2Viewmessagehandlers

三、用C语言编写一个小圆沿着大圆运动的程序。

for(i=0;

=1800;

{pDC->

Ellipse(220,340,420,140);

Ellipse(320+100*cos(x)+20,240+100*sin(x)+20,320+100*cos(x)-20,240+100*sin(x)-20);

x=x+3.1415926/180;

Sleep(200);

3.程序源代码

//circlesView.cpp:

implementationoftheCCirclesViewclass

circles.h"

circlesDoc.h"

circlesView.h"

//CCirclesView

IMPLEMENT_DYNCREATE(CCirclesView,CView)

BEGIN_MESSAGE_MAP(CCirclesView,CView)

//{{AFX_MSG_MAP(CCirclesView)

//CCirclesViewconstruction/destruction

CCirclesView:

CCirclesView()

~CCirclesView()

BOOLCCirclesView:

//CCirclesViewdrawing

voidCCirclesView:

{

inti;

floatx;

x=0;

this->

{pDC->

CCirclesDoc*pDoc=GetDocument();

//CCirclesViewprinting

//CCirclesViewdiagnostics

CCirclesDoc*CCirclesView:

IsKindOf(RU

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2