二维图形的简单变换文档格式.docx
- 文档编号:21775773
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:7
- 大小:21.18KB
二维图形的简单变换文档格式.docx
《二维图形的简单变换文档格式.docx》由会员分享,可在线阅读,更多相关《二维图形的简单变换文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
计算机绘制图形时,无论图形多么复杂,都是利用一些相应图形基元经过图形变换组成的。
在计算机绘图中,经常用到图形变换,图形变换是指图形信息经过几何变换后产生新的图形。
本文主要介绍二维图形的一些基本变换规则及其应用。
图形的变换牵扯到平移变换、比例变换、还有旋转变换。
本文针对简单的二维图形进行变换,比如三角形,矩形和圆形,还有随机连线的绘制,并包括了颜色的添加,动画的设计,有这些简单的设计便组成了强大的应用效果。
1绪论1.1设计背景与意义目前,很多软件对二维图形变换程序的需求逐渐增大,而且二维图形的应用也正逐渐向各个方向渗透。
在这样的形式下这就要求我们计算机专业的学生们能够实现这一基本变换,以更好的应对这一方面计算机应用的发展。
利用C语言实现二维图形的变换不仅可以实现日常生活中常见图片的变换,而且可以实现各种二维图形的绘制,这也就为我们的生活提供了许多的便利。
1.2系统结构图1.2整体流程图滁州学院本科学年设计22问题描述二维图形的几种典型变换,二维图形由点或者是直线段组成,直线段可由其端点坐标定义,二维图形的集合变换实际是对点或者是对直线段端点在变换矩阵的作用下实现的。
设P=[xy]是原来的点,P=[xy]是变换后的点,则几种典型的变换如下:
(a)平移变换:
(b)比例变换:
(c)旋转变换:
3分析我们小组对问题进行了深刻的讨论,确定了用点对点连线的方式来确定一个简单的二维图形,如三角形和矩形。
然后对已确定的点进行操作以实现各种图形变换。
3.1平移变换若图形上一点P(x,y)沿x轴平移l距离,沿y轴平移m距离后成为新的图形上一点P’(x’,y’),则有x’=x+ly’=y+m式中l,m不全为零,这称为平移变换。
。
3.2比例变换设图形上一点P(x,y),经比例变换后成为新的菜上一点P’(x’,y’),即有x’=a*xy’=d*y式中a,d为比例因子将此比例变换式写成矩阵式得dayxTyxyx00],[],[][‘‘==,这里aaT00=叫做比例变换矩阵。
若a=d,则x,y坐标按同一比例变换。
当a=d1时,图形放大;
当0a=d1时,图形缩小。
若ad,则x,y坐标按各自不同比例变换。
3.3旋转变换设图形上一点P(x,y)绕原点逆时针旋转角后成为新的图形上一点P’(x’,y’),则由解析几何方法可得x’=xcos+ysiny’=-xsin+ycos用矩阵表示为[][][]Tyxyxyx==cossinsincos’‘‘‘滁州学院本科学年设计3这里=cossinsincosT为绕原点逆时针变换矩阵。
若顺时针旋转时,角为负值。
4设计实现4.1加载页面voidheard()//开始界面{inti;
printf(\n\n\n\n);
printf(程序加载中\n\n);
printf();
Sleep(1000);
//延时for(i=0;
i35;
i++){printf();
Sleep(60);
}Sleep(1000);
//延时system(cls);
//清屏printf(\n\n\n\n);
printf(\a\a);
//一声响声printf(【加载完成】);
system(pause);
//dos命令system(cls);
//清屏fflush(stdin);
//清除缓冲区}4.2画出三角形,并对三角形的三种变换进行选择voidsanjiao()//画三角形{initgraph(500,500);
line(25,50,50,50);
line(50,50,50,25);
line(50,25,25,50);
滁州学院本科学年设计4getch();
//按任意键继续closegraph();
//关闭图形界面}voidsanjiaobianhuan(){intselsect;
do{printf(\n\n);
printf(1.平移转换\t2.比例转换\n);
printf(3.旋转转换\t0.结束函数\n);
printf(\n\n);
printf(请输入你的选择:
);
scanf(%d,selsect);
switch(selsect){case0:
break;
case1:
pingyi_tu();
case2:
bili_tu();
case3:
xuanzhuan_tu();
}}while(selsect!
=0);
}4.3对三角形进行平移变换voidpingyi_tu()//三角形平移变换{intTx,Ty;
intx1,x2,x3,y1,y2,y3;
inta,b,c,d,e,f;
滁州学院本科学年设计5printf(请输入平移的量为(Tx,Ty):
scanf(%d,%d,Tx,Ty);
//moverel(Tx,Ty);
printf(即要平移的量为:
(%d,%d)\n,Tx,Ty);
x1=25+Tx;
y1=50+Ty;
x2=50+Tx;
y2=25+Ty;
x3=50+Tx;
y3=50+Ty;
initgraph(500,500);
//初始化绘图环境line(25,50,50,50);
for(a=25,c=50,e=50;
a=Tx,c=Tx,e+Tx;
a++,c++,e++){setcolor(RGB(255,255,255));
line(a,50,c,50);
line(c,50,e,25);
line(e,25,a,50);
Sleep(10);
setcolor(RGB(0,0,0));
}for(b=50,d=50,f=25;
b=Ty,d=Ty,f=Ty;
b++,d++,f++){setcolor(RGB(255,255,255));
line(a,b,c,d);
line(c,d,e,f);
line(e,f,a,b);
滁州学院本科学年设计6setcolor(RGB(0,0,0));
}setcolor(RGB(255,255,255));
setcolor(RGB(255,0,0));
line(a,b,c,d);
line(c,d,e,f);
line(e,f,a,b);
getch();
closegraph();
//函数用于关闭图形环境。
}4.4对三角形进行比例变换voidb
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二维 图形 简单 变换