大家好,实验五:二维图形的几何变换教程相信很多的网友都不是很明白,包括也是一样,不过没有关系,接下来就来为大家分享关于实验五:二维图形的几何变换教程和的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
下面实现二维图形的空间平移、缩放、旋转、对称、转置。
平移变换| | [
image.png旋转变换image.png放缩变换image.pngl 平移变换只改变图形的位置,但不改变图形的大小。
l 旋转变换不改变图形的形状
l 缩放变换会引起图形形状的变化。
复合变换
结果与变换的阶数有关(矩阵乘法不可交换)
三。算法实现
1.翻译改造
无效CMyView:OnTranslation()
{
//TODO: 在此处添加命令处理程序代码
整数i,j;
CMyClass my1; //构造一个新的CMyClass对象
//将图形变换矩阵清零
对于(i=1;i=3;++i)
{
对于(j=1;j=3;++j)
my1.A[i][j]=0;
}
//给图形变换矩阵赋值
my1.A[1][1]=1;
my1.A[2][2]=1;
my1.A[3][1]=15;
my1.A[3][2]=45;
my1.A[3][3]=1;
重绘窗口();
my1.Display();
}
2. 旋转变换
无效CMyView:OnRotation()
{
//TODO: 在此处添加您的命令处理程序代码
整数i,j;
CMyClass my1; //构造一个新的CMyClass对象
//将图形变换矩阵清零
对于(i=1;i=3;++i)
{
对于(j=1;j=3;++j)
my1.A[i][j]=0;
}
//给图形变换矩阵赋值
my1.A[1][1]=cos(PI*60);//旋转60度
my1.A[1][2]=sin(PI*60);
my1.A[2][1]=-sin(PI*60);
my1.A[2][2]=cos(PI*60);
my1.A[3][3]=1;
重绘窗口();
my1.Display();
}
3、规模转型
无效CMyView:OnScaling()
{
//TODO: 在此处添加命令处理程序代码
整数i,j;
CMyClass my1; //构造一个新的CMyClass对象
//将图形变换矩阵清零
对于(i=1;i=3;++i)
{
对于(j=1;j=3;++j)
my1.A[i][j]=0;
}
//给图形变换矩阵赋值
my1.A[1][1]=5;
my1.A[2][2]=2;
my1.A[3][3]=1;
重绘窗口();
my1.Display();
}
4.关于x轴对称
无效CMyView:OnMirrorX()
{
//TODO: 在此处添加您的命令处理程序代码
整数i,j;
CMyClass my1; //构造一个新的CMyClass对象
//将图形变换矩阵清零
对于(i=1;i=3;++i)
{
对于(j=1;j=3;++j)
my1.A[i][j]=0;
}
//给图形变换矩阵赋值
my1.A[1][1]=1;
my1.A[2][2]=-1;
my1.A[3][3]=1;
重绘窗口();
my1.Display();
}
5 绕y 轴对称
无效CMyView:OnMirrorY()
{
//TODO: 在此处添加您的命令处理程序代码
整数i,j;
CMyClass my1; //构造一个新的CMyClass对象
//将图形变换矩阵清零
对于(i=1;i=3;++i)
{
对于(j=1;j=3;++j)
my1.A[i][j]=0;
}
//给图形变换矩阵赋值
my1.A[1][1]=-1;
my1.A[2][2]=1;
my1.A[3][3]=1;
重绘窗口();
my1.Display();
}
6. 关于原点的对称性
无效CMyView:OnMirrorO()
{
//TODO: 在此处添加您的命令处理程序代码
整数i,j;
CMyClass my1; //构造一个新的CMyClass对象
//将图形变换矩阵清零
对于(i=1;i=3;++i)
{
对于(j=1;j=3;++j)
my1.A[i][j]=0;
}
//给图形变换矩阵赋值
my1.A[1][1]=-1;
my1.A[2][2]=-1;
my1.A[3][3]=1;
重绘窗口();
my1.Display();
}
四。效果截图
(一)三角形Image.png1.****平移变换Image.png2.****旋转变换Image.png3.****缩放变换Image.png4.****对称(1)****关于****X****轴对称Image.png(2)****关于****Y****轴对称Image.png(3)****关于原点对称Image.png(二)四边形会一四边形以原点为中心,每隔150 度旋转一次。
要求: 写出程序框图、程序和运算结果。
【实验五:二维图形的几何变换教程】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
终于轮到二维图形的变换了!感觉之前学的知识都能派上用场
有14位网友表示赞同!
以前画图还挺麻烦的,现在想想可以用变换的方法啊
有10位网友表示赞同!
期待这实验能弄明白旋转、缩放、平移这些操作
有5位网友表示赞同!
几何变换在生活里好多地方都可以应用到,比如设计建筑啊
有15位网友表示赞同!
二维图形的变换很抽象,希望这次实验能解释得更清晰
有12位网友表示赞同!
感觉做完这实验后就能更好地理解图形绘制的原理了
有7位网友表示赞同!
两维空间变换的概念还真是挺有趣的
有12位网友表示赞同!
如果能学会利用变换工具的话,设计上会很有帮助吧
有17位网友表示赞同!
二维图形变换跟三维的有什么区别呢?可以比较一下吗?
有10位网友表示赞同!
实验做完了之后,我们可以用这知识去改造原来的图了呢!
有10位网友表示赞同!
这个实验对以后学习更高深的几何学有很大帮助吧
有12位网友表示赞同!
不知道这次实验会用到什么软件来实现几何变换呢?
有19位网友表示赞同!
二维图形的变换应用广泛,比如游戏、动画设计等等
有8位网友表示赞同!
以前看数学书的时候,总是觉得那些公式很难理解。希望这个实验能把它讲得更明白。
有9位网友表示赞同!
这实验应该可以让我对几何学的认识更加深入了!
有15位网友表示赞同!
期待这次实验能让我学会用代码实现几何变换!
有11位网友表示赞同!
这会是一个很有挑战性的实验吗?需要花很多时间练习吗?
有8位网友表示赞同!
二维图形的变换在计算机图形学中的作用非常重要,这个实验应该很实用。
有14位网友表示赞同!
如果能将学习到的知识应用到实践中,那会感觉更有成就感!
有13位网友表示赞同!