1、实验一 二维图形的基本变换实验题目: 二维图形的基本变换实验目的: 通过上机操作,熟悉多边形的平移、比例和旋转变换,掌握二维图形的基本变换。实验内容: 编制在屏幕上绘制一任意图形的程序、并进行平移变换、比例变换、旋转变换等基本变换。实验要求:上机调试所编程序,实现图形的绘制、平移变换、比例变换和旋转变换。实验原理: 在计算机图形处理中,经常需要对已生成的图形进行旋转、平移、放大或缩小等几何变换操作,以生成新的图形信息。由于点是构成几何形体的最基本元素,因此,通过对构成几何图形的特征点集的几何变换即可实现整个图形的几何变换。平移、比例、旋转变换的矩阵分别为:平移:T = (Tx,Ty 分别为 x
2、,y 方向上的平移量) t10Tyx全比例: Ts= (a,b 分别为 x,y 方向上的比例因子)0ba旋转: Tr= ( 为旋转角,逆时针为正)1cosin假设一几何图形由 A(xA,yA) B(xB,yB) C(xC,yC) D(xD,yD)四点组成,那么变换后四点坐标为 A(xA,yA) B(xB,yB) C(xC,yC) D(xD,yD)平移: = Tt= =1DCBAYXDCBA1DCBAYX0nm1nYXDCBA比例: Ts= =1DCBAYX1DCBA1DCBAYX0ba1DCBAbYX旋转: = Tr=1DCBAYXDCBA1DCBAYX10cosin= 1cossinsico
3、ii sssCDDCBBBB AAAA YXYX程序流程图:开始绘 制图形平移 变换 比例变 换 旋转 变换输入x , y 方向变量T x , T y 输 入x , y 方 向比例 因子a , b 输 入 旋转角 计算变换后各点坐 标 计算变换后各点坐 标 计算 变换后各点坐 标绘制新图形结束#include#include#includemain()int i,j,n,driver,mode;float tx,ty,x0,x1,x2,y0,y1,y2,a,d,c;printf(“input 0:translate;1:scale;2:rotate:“);scanf(“%d“,switch(n)case 0:printf(“input tx=,ty=“);scanf(“%f,%f“,x0=50+tx;y0=50+ty;x1=50+tx;y1=80+ty;x2=150+tx;y2=80+ty;break;case 1:case 2:driver=CGA;mode=CGAC0;initgraph(setcolor(3);setbkcolor(GREEN);line(50,50,50,80);