1 / 13
文档名称:

实验三二维图形的几何变换.docx

格式:docx   大小:26KB   页数:13页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验三二维图形的几何变换.docx

上传人:飞行的优优 2022/6/14 文件大小:26 KB

下载得到文件列表

实验三二维图形的几何变换.docx

文档介绍

文档介绍:实验三二维图形的几何变换
实验三二维图形的几何变换
1 / 131
实验三二维图形的几何变换
计算机图形学
实验指导书
陈华光、陈多、刘长松编
专业班级 计算机0902 _
在求关于直线的对称时,最开始由于对称变换的变换矩阵出现了错误,使得最后出现了
非预期的结果。最后通过检查,才发现了这个问题。
3、二维几何变换有着广泛的应用,使得数学的根本知识在计算机上得到了实现。
七、参考源程序(可附页)
实验三二维图形的几何变换
实验三二维图形的几何变换
7 / 137
实验三二维图形的几何变换
#include<>
#include<>
#include<>
#include<>
doublexmax=,ymax=;
doublef[3][3],xx,yy;
intscx(doublexj)
{
intx;
x=(int)(xj+xmax/2);
return(x);
}
intscy(doubleyj)
{
inty;
y=ymax-(int)(yj+ymax/2);
return(y);
}
voidparallel(doubledx,doubledy)
{
f[0][0]=;f[0][1]=;f[0][2]=;
f[1][0]=;f[1][1]=;f[1][2]=;

实验三二维图形的几何变换
实验三二维图形的几何变换
9 / 139
实验三二维图形的几何变换
f[2][0]=dx;f[2][1]=dy;f[2][2]=;
}
voidscale(doubles)
{
f[0][0]=s;f[0][1]=;f[0][2]=;
f[1][0]=;f[1][1]=s;f[1][2]=;
f[2][0]=;f[2][1]=;f[2][2]=;
}
voidtaisho_y()
{
f[0][0]=-;f[0][1]=;f[0][2]=;
f[1][0]=;f[1][1]=;f[1][2]=;
f[2][0]=;f[2][1]=;f[2][2]=;
}
voidaxis()
{
line(scx(),scy(-ymax/2),scx(0),scy(ymax/2));
line(scx(-xmax/2),scy(),scx(xmax/2),scy()
);
}
voidtuoq(doublea,doubleb)
{
实验三二维图形的几何变换
实验三二维图形的几何变换
9 / 139
实验三二维图形的几何变换
f[0][0]=;f[0][1]=b;f[0][2]=;
f[1][0]=a;f[1][1]=;f[1][2]=;
f[2][0]=;f[2][1]=;f[2][2]=;
}
doubleaffinex(doublex,doubley,doubled)
{
xx=x*f[0][0]+y*f[1][0]+d*f[2][0];

inti;
doublex,y,xx,yy,yt;
initgraph(&drive,&mode,"c:\\tc3\\bgi");
setcolor(RED);
axis();
for(i=0;i<=3;i++)
{
实验三二维图形的几何变换
实验三二维图形的几何变换
10 / 1310
实验三二维图形的几何变换
return(xx);
实验三二维图形的几何变换
实验三二维图形的几何变换
10 / 1010
实验三二维图形的几何变换
}
doubleaffiney(doublex,doubley,doubled)
{
yy=x*f[0][1]+y*f[1][1]+d*f[2][1];
return(yy);
}
voiddrawtu(x2,y2)
doublex2[5],y2[5];
{
inti;
for(i=0;i<=3;i++)
{
line(scx(x2[i]),scy(y2[i]),scx(x2[i+1]),scy(y2[i+
1]));
}
}
voidmain()