按关键词阅读: 报告 Word 完整 实验 图形学 计算机
1、完整word版)计算机图形学实验报告(完整word版)计算机图形学实验报告编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心 , 本文档内容是由我和我的同事精心编辑整理后发布的 , 发布之前我们对文中内容进行仔细校对 , 但是难免会有疏漏的地方 , 但是任然希望((完整word版)计算机图形学实验报告)的内容能够给您的工作和学习带来便利 。
同时也真诚的希望收到您的建议和反馈 , 这将是我们进步的源泉 , 前进的动力 。
本文可编辑可修改 , 如果觉得对您有帮助请收藏以便随时查阅 , 最后祝您生活愉快 业绩进步 , 以下为(完整word版)计算机图形学实验报告的全部内容 。
(完整word版)计算机图形学实验报告亲爱的读者:本文内容由我和我 。
2、的同事精心收集整理后编辑发布到文库 , 发布之前我们对文中内容进行详细的校对 , 但难免会有错误的地方 , 如果有错误的地方请您评论区留言 , 我们予以纠正 , 如果本文档对您有帮助 , 请您下载收藏以便随时调用 。
下面是本文详细内容 。
最后最您生活愉快 O(_)O 一、实验目的1、掌握中点Bresenham直线扫描转换算法的思想 。
2掌握边标志算法或有效边表算法进行多边形填充的基本设计思想.3掌握透视投影变换的数学原理和三维坐标系中几何图形到二维图形的观察流程 。
4掌握三维形体在计算机中的构造及表示方法二、实验环境Windows系统, VC6.0.3、 实验步骤1、给定两个点的坐标P0(x0,y0) , P1(x1 , y1) , 使 。
3、用中点Bresenham直线扫描转换算法画出连接两点的直线 。
实验基本步骤首先、使用MFC AppWizard(exe)向导生成一个单文档视图程序框架 。
其次、使用中点Bresenham直线扫描转换算法实现自己的画线函数 , 函数原型可表示如下:void DrawLine(CDC *pDC, int p0x ,int p0y ,int p1x, int p1y);
在函数中,可通过调用CDC成员函数SetPixel来画出扫描转换过程中的每个点.COLORREF SetPixel(int x, int y, COLORREF crColor );
再次、找到文档视图程序框架视图类的OnDraw成员函数 , 调用 。
4、DrawLine函数画出不同斜率情况的直线 , 如下图:最后、调试程序直至正确画出直线.2、 给定多边形的顶点的坐标P0(x0,y0) , P1(x1 , y1),P2(x2,y2) , P3(x3,y3) , P4(x4,y4)使用边标志算法或有效边表算法进行多边形填充 。
实验基本步骤首先、使用MFC AppWizard(exe)向导生成一个单文档视图程序框架 。
其次、实现边标志算法或有效边表算法函数 , 如下:void FillPolygon(CDC *pDC, int px ,int py, int ptnumb);px:该数组用来表示每个顶点的x坐标py :该数组用来表示每个顶点的y坐标ptnumb:表示顶点个数 。
5、注意实现函数FillPolygon可以直接通过窗口的DC(设备描述符)来进行多边形填充,不需要使用帧缓冲存储.(边标志算法)首先用画线函数勾画出多边形 , 再针对每条扫描线,从左至右依次判断当前像素的颜色是否勾画的边界色,是就开始填充后面的像素直至再碰到边界像素.注意对顶点要做特殊处理 。
通过调用GDI画点函数SetPixel来画出填充过程中的每个点 。
需要画线可以使用CDC的画线函数MoveTo和LineTo进行绘制 , 也可以使用实验一实现的画直线函数 。
CPoint MoveTo(int x ,int y );
BOOL LineTo(int x ,int y );
实现边标志算法算法需要获取某个点的当前 。
6、颜色值 , 可以使用CDC的成员函数COLORREF GetPixel(int x, int y );再次、找到文档视图程序框架视图类的OnDraw成员函数 , 调用FillPolygon函数画出填充的多边形 , 如下:void CTestView::OnDraw(CDC* pDC)CTestcoodtransDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);
/ TODO: add draw code for native data here/绘制之前先把整个窗口涂上背景色(白色)以便于下面的填充RECT Rt;
GetClientRect(Rt);
pDC-FillS 。
7、olidRect(Rt ,RGB(255,255 , 255));
int ptx = 10, 100 ,200 ,150 ,80;int pty = 10, 50, 80, 120 ,70;FillPolygon(pDC ,ptx, pty ,5);
截图如下3. 在世界坐标系中定义一个立方体(由6个面组成) , 并给定观察点在世界坐标系中的位置(a , b , c)以及观察坐标系的方位角 , 俯仰角和姿态角 , 另外再给定投影面离观察点的距离D,在屏幕上画出立方体的透视投影图形 。
实验基本步骤首先、使用MFC AppWizard(exe)向导生成一个单文档视图程序框架 。
其次、由给定观察点在世界坐标系中的位置(a , b , c 。
8、)以及观察坐标系的方位角 , 俯仰角和姿态角求出观察变换矩阵Tv.再次、将立方体的每一个面的顶点坐标与变换矩阵Tv相乘得到观察坐标系中的坐标,再由式(1)求得二维投影坐标.并用直线连接这些二维投影坐标点形成每一个面在投影面的图形 , 依次将立方体的6个面画出即可 。
来源:(未知)
【学习资料】网址:/a/2021/0321/0021738765.html
标题:完整|(完整word版)计算机图形学实验报告