《2023年计算机图形学与可视化实验报告.pdf》由会员分享,可在线阅读,更多相关《2023年计算机图形学与可视化实验报告.pdf(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课程实验报告题 目 二维图形变换学院专业 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _任课教师_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _学生姓名(学号)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _学生姓名(学号)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _学生姓名(学号)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2、 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _狒 一 章 实 验 目 的1.1实 验 任 务(目的)实现图形的几何变换,涉及平移变换、比例变换、旋转变换、对称变换、错切变换。原理:1二维图行由点或直线段组成2直线段可由其端点坐标定义3二维图形的几何变换:对点或对直线段端点的变换Px,y=Px y1.2实验环境Micros。f t V isu a l S t udio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它涉及了整个软件生命周期中所需要的大部分工具,如UM L工具、代码管控工具、集成开发环境(IDE)等等。所写的目的代码合用于微软支持的所有
3、平台,涉及 M i c r o s o ft Window s、Windows M o bi 1 e、Windows CE、.NET Framework、.NET C o mpact Fr a m e w o rk 和 Mier o soft Silve r I i a h t 及 Wind ows P h on e oV isual Stud i o 是目前最流行的Windows平台应用程序的集成开发环境。最新版本为 Vis u a 1 Stud i o 2 0 2 3 版本,基于.N E T Framewo r k 4.5.2。第二章实验过程2.1 实现流程I).平移变换(t ransla
4、t io n):将一点沿直线途径从一个坐标位置移到另一个坐标位置的重定位过程。平移矢量T x 和Tyx y 1=x y 1 Tx 0 0;0 T y 0;0 0l=x+Tx y+Ty 1;2).比例变换(scale):相对于原点的比例变换,S x 平行于x轴的方向上的缩放量,S y 平行于y 轴的方向上的缩放量;x y l=x y 1 Sx 0 0;0 S y 0;0 0 l=xSx yS y 1;当Sx=Sy变换前的图形与变换后的图形相似.当Sx=Sy1 时,图形将放大,并远离坐标原点,当 Sx=Sy 1,图形整体缩小;若OS1,图形整体放大;若SVO,发生关于原点的对称等比变换;3).旋转
5、变换(ro t ation):点 P 绕原点逆时针转0 度角(设逆时针旋转方向为正方向)逆时针旋转。度 角 x 1=x y 1 c os0 sinO 0;sin。cosG0;0 0 1;顺时针旋转。度 角 x,y5 1=x y lcos0-si n 0 0;sin。c os 0 0;0 0 1;4).对称变换也称为反射变换或镜像变换(s y mmet r y),变换后的图形是原图形关于某一轴线或原点的镜像.关于 X 轴对称X,y,1=x y 1 1 0 0;0-1 0;0 0l=x-y 1;关于 Y 轴 对 称 x,y,1=x y 1-1 0 0;0 1 0;00 1 =-x y 1;关于 Y
6、=-X 对 称 x y 1=x y 1 0-1 0;-1 0 0;00 l=-y-x 1;关于 Y=X 对称 fx5 v 1J=x y l0 1 0;1 0 0;0 01=y x 1;关于原点对称x,v 1=E x y 1-l 0 0;0-1 0;0 0 1=-x-y 1;5).错切变换(shear)1.沿 x 轴方向关于y 轴错切:将图形上关于y 轴的平行线沿x 方向推成。角的倾斜线,而保持y 坐标不变a=(x-x)/yx y 1 =x y 1 1 0 0;a 1 0;0 0 1=x+ayy1;2.沿y轴方向关于x轴错切:将图形上关于x轴的平行线沿y方向推成0角的倾斜线,而保持x坐 标 不
7、变b=(y,-y)/xx5 y5 1=x y 11 b 0;0 1 0;0 0 l=x bx+y1;简朴的变换生成程序为:/向上平移50个单位长度v o id CT woD i mens i onTra n s fbrmationsVi e w:O n u p()(ClearMatri x(TM);0fo r(inti=O;i 3;i+)TMi L i=1;TM2 1 =5 0;oCalMatr i x(P,TM);4nv a 1 idat e();)效果图如下:A 无-TwoDimensionTransformationsFite 二 作交境 View H4p U ;严静雯沈红艳张春梅向下平
8、移50个单位长度void CTwo Dime n s ionTran s format i o nsView::Ondown()(Clea r M a t r ix(T M);for(in t i=0;i 3;i+)8TM Lii=1;TM2 El=-5 0;Ca 1 Matr i x(P,T M);Jnvalida t e();效果图如下:*二te a rs s ft view JM严静雯沈红艳张春梅向左平移5 0 个单位长度v o i d CTwoD i mens i onTrans f o r matio n s V i ew:0 nLe f t()(ClearMa t r i x(T
9、M);6for(mt i=0;i 3;i+)8TM i i=l;TM=-50;C alMatrix(P,TM);Invali d ate();触发调用0 n Draw()函数的事件通 无标题-TwoDimensionTransformationsFile 二&操作变换 View Help严静雯沈红 枪张春梅/向右平移5 0个单位长度void CTwoD i mensi o n Trans f or mat i o nsView:OnRi g ht()ClearMatrix(T M);f or(i n t i=0;i3;i+)。T M ii=l;oTM2 0=5 0;CalMatrix(P,T
10、M);4n v a 1 idat e();/触发调用OnDrawO函数的事件效果图如下:File 二 作 交 换 View Help严铮要沈红艳张春梅v o id CTwoDime n sionT ra n sform a tions View:Onscale()oCl e a r M a t r ix(TS);for(inti=0;inTran$fofmaton$二8作交换 View Help-d w;6).关于复合变换,分解成简朴变换,再运用反对称变换得到最终结果。其简朴生成程序为:E g:点(x,y)绕点(3,1)顺时针旋转3 0度v o i d C T w o D i m e n s
11、i o n T r a n s f o r m a t i o n s V i e w::O n c h a n g e()o Q e a r M a t r i x (T M);C l e a r M a t r i x (T R);T M 0 0 =1 ;T M 1 1 =1;T M 2 0 =-3;T M 2 L 1 =-1 ;TM 2 =1;S M a t 3 =C a l M a t r i x(P,T M);T R r O O =s q r t (3.0)/2;T R 0 1 =0.5;TR1O=-O.5;T Rll=sq r t(3.0)/2;TR2M2=1;Nr i x 3=C
12、 a IM a trix(SM a t,TR);Cie a rMat r ix(TR);TR 0 O=sqr t(3.0)/2;TR 0 El=-0.5;TR l0=0.5;TR 1 1 =sqr t(3.0)/2;T R 2=1;V 1 if3=CalMatrix(Nrix,TR);C 1 e a rM a t rix(T M);TM00=1;TM11=1;TM2 0=3;TM21=1;TM=1;CalM a t r i x(Vli,TM);Inv a 1 i date();)2.2 实现细节1).头文献中加#i n c lude math.h.2).在进行旋转时计算正弦余弦所得的结果要写成
13、小数或Mat h.整数.3).不同的变换相应不同的矩阵,对于不做平移变换的矩阵第三个坐标,默认为1。4).复合变换可看做先将其移至标准位置(比如对称点移至坐标原点,对称轴移 至X或 者Y轴等)先做简朴变换,最后再反对称变换得到最终图形。第3章总结3.1实验总结对于本次实验,图形的坐标变换巧妙转化成为矩阵相乘的形式,对于简朴平移,需要在原坐标上面添上第三个坐标,默认为1,用于矩阵相乘时改变x或者Y的坐标(用于加减)。图形的任何一个复杂的几何变换都可以看作基本几何变换的组合形式,复杂的变换可将其转化成为简朴的关于坐标轴,原点的变换,同时运用反对称得到最终图形。若要改变图形的形状,边数,可以改变坐标,添 加delifeted ma x p oint改变函数的变量,达成改变图形的目的。