计算机图形学真实绘图实验报告,计算机图形学实验报告.doc

文档介绍:

中南大学信息科学与工程学院

实验报告

实 验 名 称

实 验 地 点 科技楼四楼

实 验 日 期 2014年6月

指 导 教 师

学 生 班 级

学 生 姓 名

学 生 学 号

提 交 日 期 2014年6月

实验一 Window图形编程基础

实验类型:验证型实验

实验目的

1、熟练使用实验主要开发平台VC6.0;

2、掌握如何在编译平台下编辑、编译、连接和运行一个简单的Windows图形应用程序;

3、掌握Window图形编程的基本方法;

4、学会使用基本绘图函数和Window GDI对象;

实验内容

创建基于MFC的Single Document应用程序(Win32应用程序也可,同学们可根据自己的喜好决定),程序可以实现以下要求:

1、用户可以通过菜单选择绘图颜色;

2、用户点击菜单选择绘图形状时,能在视图中绘制指定形状的图形;

实验要求与指导

1、建立名为“颜色”的菜单,该菜单下有四个菜单项:红、绿、蓝、黄。

用户通过点击不同的菜单项,可以选择不同的颜色进行绘图。

建立名为“绘图”的菜单,该菜单下有三个菜单项:直线、曲线、矩形

其中“曲线”项有级联菜单,包括:圆、椭圆。

用户通过点击“绘图”中不同的菜单项,弹出对话框,让用户输入绘图位置,在指定位置进行绘图。

实验结果:

六、实验主要代码

1、画直线:CClientDC *m_pDC;再在OnDraw函数里给变量初始化

m_pDC=new CClientDC(this);

在OnDraw函数中添加:

m_pDC=new CClientDC(this);

m_pDC->MoveTo(10,10);

m_pDC->LineTo(100,100);

m_pDC->SetPixel(100,200,RGB(0,0,0));

m_pDC->TextOut(100,100);

2、画圆:

void CMyCG::LineDDA2(int xa, int ya, int xb, int yb, CDC *pDC)

{

int dx = xb - xa;

int dy = yb - ya;

int Steps, k;

float xIncrement,yIncrement;

float x = xa,y= ya;

if(abs(dx)>abs(dy))

Steps = abs(dx);

else

Steps = abs(dy);

xIncrement = dx/(float)Steps;

yIncrement = dy/(float)Steps;

pDC->SetPixel(ROUND(x),ROUND(y),RGB(0,0,0));

for(k=0;k

{

x +=xIncrement;

y +=yIncrement;

sleep(10);

pDC->SetPixel(ROUND(x),ROUND(y),RGB(0,0,0));

}

3、画矩形

void CRectangleDlg::OnLButtonDown(UINT nFlags, CPoint point)

{

lButtonDownNotUp = TRUE;

RECT rect;

m_showRectangle. GetClientRect( &rect ) ;

if( (point. xrect. left) && (point. yrect. top) )

{

regionLeftTopTemp = point;

}

CDialog::OnLButtonDown(nFlags, point);

}

void CRectangleDlg::OnMouseMove(UINT nFlags, CPoint point)

{

内容来自淘豆网www.taodocs.com转载请标明出处.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值