tuingue分析和总结分析和总结.docxVIP

  • 0
  • 0
  • 约2.56万字
  • 约 36页
  • 2023-08-06 发布于上海
  • 举报
《计算机图形学》课程实验报告 姓名 胡峰 学号班级 计 2 分组 无 实验日期实验成绩 12 月 29 日 实验名称实 验 目的及要求实验环境实验内容 算法描述及实验步骤 一.Visual c++图形程序设计 Visual C++是在 Microsoft C 的基础上发展而来的,随着计算机软、硬件技术的快速发展,如今 Visual C++已成为集编辑、编译、运行、调试于一体功能强大的集成编程环境。本章以 Visual C++ 6.0 为对象,主要介绍 Visual C++集成编成环境的使用、图形设备接口和常用图形程序设计、鼠标编程以及菜单设计等基础,目的是通过对 Visual C++的学习,掌握 Visual C++图形程序设计的方法,为计算机图形学原理部分的算法实现提供程序工具和方法。 visual c++集成编程环境 利用 CDC 类已有的画笔划线等函数绘制一张笑脸,要求有眼睛鼻子和嘴巴,笑脸处于屏幕的中央,并加入文字。 ①:使用 CRect 类画圆,作为眼睛和头模型。②:以直线作为鼻子 ③:以曲线作为嘴巴 调试过程及实验结果 1 总结 附录 实验名称实 验目的及要求实验环境实验内容 算法描述及实验步骤 经过这次实验,知道了如何选择画笔! CRect rect(200,40,660,500); CRect rect1(300,190,350,240); CRect rect2(510,190,560,240); pDC-Ellipse(200,40,660,500); CBrush Brush(HS_CROSS,RGB(255,0,0)),*pOldBrush; pOldBrush=pDC-SelectObject(Brush); pDC-RoundRect(rect1,CPoint(200,200)); pDC-RoundRect(rect2,CPoint(200,200)); pDC-SelectObject(pOldBrush); pDC-Arc(300,330,560,410,390,370,470,370); CPoint p1(430,190),p2(430,350); CPen Pen,*pOldPen; Pen.CreatePen(PS_SOLID,12,RGB(0,0,255)); pOldPen=pDC-SelectObject(Pen); pDC-MoveTo(p1); pDC-LineTo(p2); pDC-SelectObject(pOldPen); pDC-SetTextColor(RGB(255,0,0)); pDC-SetBkColor(RGB(255,255,0)); pDC-TextOut(300,520,开开心心每一天!!哦耶!); } 二.直线生成算法 验证直线生成的三种算法,并要求对基本算法进行扩充和改进。 visual c++集成编程环境 任务一:实现 DDA 画线程序 任务二:放大 10 倍后,算法演示程序先画出(100,100)到(600,400) 大小为 10 的网格,然后从(100,100)以 10 为单位,计算出直线上各个像素位置。 任务三:加入鼠标功能,实现交互式画直线。 一:1.输入直线的两端点 p0(x0,y0)和 p1(x1,y1),假设 k=0 且 k=1。 2.计算初始值△x,△y,d0=0.5-k,x=x0,y=y0。 2 调试过程及实验结果 绘制点(x,y)判断 d 的符号:若 d0,则(x,y)更新为(x+1, y+1),d 更新为 d+1-k;否则(x,y)更新为(x+1,y),d 更新为 d-k。 4.当直线没有画完时,重复步骤 3,否则结束。 二:将像素点扩大十倍。 三:通过添加 OnButtonDown()函数实现。 调试过程及实验结果 3 总 清楚的认识到了中点 Bresenham 算法的原理。结 任务—:void CHufengView::aahufeng(CDC *pDC, int x0, int y0, int x1, 附 int y1, COLORREF color) 录 { int length,i; double x,y,dx,dy; length=abs(x1-x0); if(abs(y1-y0)length) length=abs(y1-y0); dx=(x1-x0)/length; dy=(y1-y0)/length; x=x0+0.5; y=y0+0.5; for(i=1;i=length;i++){ pDC-SetPixel((int)x,(int)y,color); x=x+dx;y=y+dy; } } void CHufengView::OnDraw(CDC* pDC) { CHufe

文档评论(0)

1亿VIP精品文档

相关文档