- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验1:Bresenham算法
// eView.cpp : implementation of the CEView class
//
#include stdafx.h
#include e.h
#include eDoc.h
#include eView.h
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CEView
IMPLEMENT_DYNCREATE(CEView, CView)
BEGIN_MESSAGE_MAP(CEView, CView)
//{{AFX_MSG_MAP(CEView)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CEView construction/destruction
CEView::CEView()
{
// TODO: add construction code here
}
CEView::~CEView()
{
}
BOOL CEView::PreCreateWindow(CREATESTRUCT cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CEView drawing
void Bresenhamline(int x1, int y1, int x2, int y2,CDC *pDC)
{ //对于所有直线均按照从左至右的方向绘制
int x,y,dy,dx,right,rightleft,d;
if(x1x2){
int tempx,tempy;
tempx=x1;x1=x2;x2=tempx;
tempy=y1;y1=y2;y2=tempy;
}
//根据斜率的情况不同而绘制
if(y1==y2){//斜率为0的情况
for(x=x1;x=x2;x++)
pDC-SetPixel(x,y1,2);
}
else if(x1==x2){//直线为垂直的情况
if(y1y2){ //使直线按从下往上画
int tempy=y1;
y1=y2;y2=tempy;
}
for(y=y1;y=y2;y++)
pDC-SetPixel(x1,y,2);
}
else{
dy=y2-y1;
dx=x2-x1;
if(abs(dy)==abs(dx)){////斜率为1或-1时
x=x1;y=y1;
if(dy0){//斜率为1
for(;y=y2;y--){
x++;
pDC-SetPixel(x,y,2);
}
}//斜率为1
else{//斜率为-1
for(;y=y2;y++){
x++;
pDC-SetPixel(x,y,2);
}
}//斜率为-1
}
else if(abs(dy)abs(dx)){//斜率的绝对值小于1时
if(dy0dx0){//斜率为正时
right=-2*d
您可能关注的文档
最近下载
- 八年级物理上册《透镜》练习题(含答案解析) .pdf
- 插花与花艺设计(花道——插花技艺养成)智慧树知到期末考试答案章节答案2024年云南林业职业技术学院.docx
- 四书精读教学-《四书》精读课堂笔记.docx VIP
- 2022年青岛版五四制三年级上册数学典型应用题105道.pdf
- 国旗下讲话:远离垃圾食品,享受健康生活.doc
- 幼儿园课件:第八章--学前儿童的情绪和情感.pptx
- 部编版语文九年级下册课内外古诗词(共17首)阅读理解题背诵-中考考点汇总(全册-含答案).doc VIP
- 第一章立体构成概述 .ppt
- 2024年河北省继续医学教育公共选修课参考答案.pdf VIP
- 《立体构成》课件 第一章 立体构成概述.ppt
文档评论(0)