二维图形的几何变换Word格式.docx
- 文档编号:21434572
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:8
- 大小:39.15KB
二维图形的几何变换Word格式.docx
《二维图形的几何变换Word格式.docx》由会员分享,可在线阅读,更多相关《二维图形的几何变换Word格式.docx(8页珍藏版)》请在冰豆网上搜索。
他是一种不产生变形而移动物体变换。
可以根据矩阵获得点坐标,求得平移变换矩阵以后,得出点坐标。
(此实验以三维矩阵为例)
2.缩放变换:
缩放变换是指对p点相对于坐标原点沿x方向放缩Sx倍,沿y方向放缩Sy倍。
其中Sx和Sy称为缩放系数。
缩放变换可改变物体的大小,如下图所示。
当Sx=Sy>
1时,图形沿两个坐标轴方向等比例放大;
当Sx=Sy<
1,图形沿两个坐标轴方向等比例缩小;
当Sx≠Sy,图形沿两个坐标轴方向作非均匀的比例变换。
3旋转变换
二维旋转是指将p点绕坐标原点转动某个角度(逆时针为正,顺时针为负)得到新的点p’的重定位过程。
4对称变换
对称变换后的图形是原图形关于某一轴线或原点的镜像。
5错切变换
错切变换也称为剪切、错位变换,用于产生弹性物体的变形处理。
核心代码:
intmove(intdx,intdy)//将图形进行平面移动
{
inti;
for(i=0;
i<
3;
i++)
{
line((array[i].x+dx),(array[i].y+dy),(array[(i+1)%3].x+dx),(array[(i+1)%3].y+dy));
}
getch();
setcolor(0);
}
return0;
}
intmove_change(intsx,intsy)//平移并缩放
intarr_one[3];
intarr_two[3];
arr_one[i]=(array[i].x-array[0].x)*sx+array[0].x;
arr_two[i]=(array[i].y-array[0].y)*sy+array[0].y;
line(arr_one[i]+120,arr_two[i],arr_one[(i+1)%3]+120,arr_two[(i+1)%3]);
intturn_around(intx,inty,inta)//旋转图形
i++)
arr_one[i]=(array[i].x-x)*cos(a)-(array[i].y-y)*sin(a)+x;
arr_two[i]=(array[i].x-x)*sin(a)+(array[i].y-y)*cos(a)+y;
line(arr_one[i],arr_two[i],arr_one[(i+1)%3],arr_two[(i+1)%3]);
intmove_turn(inta,intb,intd,inte)//平移并旋转
arr_one[i]=(a*array[i].x)+(b*array[i].y);
arr_two[i]=(d*array[i].x)+(e*array[i].y);
line(arr_one[i]+120+420,arr_two[i],arr_one[(i+1)%3]+120+420,arr_two[(i+1)%3]);
intmove_turn_change(intb,intd)//平移,旋转并缩放
arr_one[i]=array[i].x+(b*array[i].y);
arr_two[i]=(d*array[i].x)+array[i].y;
实验截图:
原图:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二维 图形 几何 变换