实验二图形变换与裁减

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二图形变换与裁减
实验目的:
1、通过本次实验掌握二维图形和三维图形的基本变换算法,及变换矩阵的求法。

2、掌握三维图形的投影方法。

3、使用Cohen-Sutherland算法裁减二维线段或使用Sutherland-Hodgman算法对多边形进行裁减,验证算法的正确性。

实验内容:
(必做)1、编写一个通用的子程序(如:类或多个函数),其功能可以完成基本二维图形变换(平移、旋转、变比、反射)。

通过调用此子程序,实现下列变换:(1)将一平行四边形做平移变换;(2)将平行四边形以原点为中心,以10o为间隔做360o旋转;(3)将一三角形在x和y方向均缩小为原来一半。

绘制各种基本图形可以使用系统函数。

(必做)2、绘制立方体的平行投影效果图和一点透视效果图。

在程序中给出立方体的顶点坐标。

视点方向为从z轴正方向看原点,视线平行于z轴。

投影面为XOY平面,投影中心位于z轴负轴某点,当改变投影中心位置时,查看一点透视效果的变化。

绘制各种基本图形可以使用系统函数。

(选做)3、用Cohen-Sutherland算法裁剪二维线段或用Sutherland-Hodgman算法裁剪多边形。

要求:输入裁减窗口的四条边坐标,对于Cohen-Sutherland算法裁剪二维线段要输入线段的起点与终点x,y坐标,对于Sutherland-Hodgman算法裁剪多边形要输入多边形的顶点数及各顶点x,y坐标。

禁止使用裁减的系统函数。

实验要求:
1、实验时遵守实验室有关规定,不得迟到或早退。

在实验时不得做与本次实验无关的事情。

2、实验时不得上网浏览或聊天。

3、实验前须规划程序界面和按钮的相关事件的编写代码。

实验时进行代码的调试。

4、独立完成相关实验内容,不得相互抄袭、拷贝。

5、实验后认真整理实验结果和程序,写出实验报告,将程序上传。

在实验报告中要对实验结果进行分析,写出实验体会。

注:本次实验4学时,对于除完成必做部分外,完成选做部分的同学,将适当提高其成绩。

附:可以使用下面语句将坐标原点改到窗口中心。

int x,y;
x=(int) (xj + xmax/2);
y=ymax-(int)(yj+ymax/2);
其中,(xj, yj)为原坐标点的值。

xmax, ymax分别为x, y方向的最大坐标值。

x,y为坐标原点在窗口中心时的坐标。

相关文档
最新文档