-图形学实验报告-二维基本变换
更新时间:2023-09-16 20:37:01 阅读量: 高中教育 文档下载
一、 实验目的和要求
利用VC6.0编写二维基本几何变换算法的实现。实现平移,比例,旋转等变换。
二、 算法原理介绍
齐次坐标表示法就是用N+1维向量来表示一个N维向量。在齐次坐标系统中,点(X,Y)用(X,Y,H)来表达,其中H为非零的一个任意数。点(X,Y)的标准齐次坐标表达为(X/H,Y/H,1),由于H是一个任意非零常量,为了简便起见,我们通常取H=1。齐次坐标系统中的点(X,Y,1)包含有笛卡尔坐标上的点(X,Y)。 平移变换:
比例变换:
?Sx?0???0
旋转变换:
0Sy00?0??1??
对称变换:
关于x轴对称:
?100??0?10?????001??
关于y轴对称:
??100??010?????001??
关于原点对称:
??100??0?10?????001??关于y=x对称:
?010??100?????001??
关于y=-x对称:
?0?10???100?????001??
错切变换:
?1b0??c10?????001??
当b=0时: (x` y` 1)=(x+cy y 1)。图形的y坐标不变。
当c>0:图形沿+x方向作错切位移。ABCD→A1B1C1D1 当c<0:图形沿-x方向作错切位移。ABCD→ A2B2C2D2 当c=0时, (x` y` 1)=(x bx+y 1):图形的x坐标不变。 当b>0:图形沿+y方向作错切位移。ABCD→ A1B1C1D1 当b<0:图形沿-y方向作错切位移。ABCD→ A2B2C2D2 当b不等于0且c不等于0时,
(x` y` 1)=(x+cy bx+y 1) :图形沿x,y两个方向作错切位移。 ∴错切变换引起图形角度关系的改变,甚至导致图形发生变形。
三、 程序核心源代码
void CChangeView::Tmove(double Tx,double Ty) //平移变换矩阵 { ClearMatrix(TM); RedrawWindow(); TM[0][0]=1; TM[1][1]=1; TM[2][0]=Tx; TM[2][1]=Ty; TM[2][2]=1;
}
Calculate(P,TM);
AfxGetMainWnd()->SetWindowText(\二维几何变换-平移变换\Draw(P,p3);
void CChangeView::Tscale(double Sx,double Sy) //比例变换矩阵 { ClearMatrix(TS); RedrawWindow(); TS[0][0]=Sx; TS[1][1]=Sy; TS[2][2]=1; Calculate(P,TS); AfxGetMainWnd()->SetWindowText(\二维几何变换-比例变换\ Draw(P,p3); }
void CChangeView::Trotate(double thta)//旋转变换矩阵 { ClearMatrix(TR); RedrawWindow(); TR[0][0]=cos(thta*PI/180); TR[0][1]=sin(thta*PI/180); TR[1][0]=-sin(thta*PI/180); TR[1][1]=cos(thta*PI/180); TR[2][2]=1; Calculate(P,TR); AfxGetMainWnd()->SetWindowText(\二维几何变换-旋转变换\ Draw(P,p3); }
void CChangeView::Treflect(double Fx,double Fy) //反射变换矩阵 { ClearMatrix(TF); RedrawWindow(); TF[0][0]=Fx; TF[1][1]=Fy; TF[2][2]=1; Calculate(P,TF); AfxGetMainWnd()->SetWindowText(\二维几何变换-反射变换\ Draw(P,p3); }
void CChangeView::Treform(double b,double c) //错切变换矩阵 { ClearMatrix(TC); RedrawWindow(); TC[0][0]=1; TC[0][1]=b; TC[1][0]=c; TC[1][1]=1; TC[2][2]=1; Calculate(P,TC); AfxGetMainWnd()->SetWindowText(\二维几何变换-错切变换\ Draw(P,p3); }
void CChangeView::OnMENUup() { // TODO: Add your command handler code here Tmove(0,10); }
void CChangeView::OnMENUdown() { // TODO: Add your command handler code here Tmove(0,-10); }
void CChangeView::OnMENUleft() { // TODO: Add your command handler code here Tmove(-10,0); }
void CChangeView::OnMENUright() { // TODO: Add your command handler code here Tmove(10,0); }
void CChangeView::OnMENUClockwise() //顺时针旋转 { // TODO: Add your command handler code here Trotate(-30); }
void CChangeView::OnMENUAnticlockwise() //逆时针旋转 { // TODO: Add your command handler code here Trotate(30); }
void CChangeView::OnMENUIncrease() { // TODO: Add your command handler code here Tscale(2,2); }
void CChangeView::OnMENUDecrease() {
// TODO: Add your command handler code here Tscale(0.5,0.5); }
void CChangeView::OnMENUY() { // TODO: Add your command handler code here Treflect(-1,1); }
void CChangeView::OnMENUO() { // TODO: Add your command handler code here Treflect(-1,-1); }
void CChangeView::OnMENUX() { // TODO: Add your command handler code here Treflect(1,-1); }
void CChangeView::OnMENUXdirectionplus() { // TODO: Add your command handler code here Treform(0,1); }
void CChangeView::OnOnMENUXdirectionneg() { // TODO: Add your command handler code here Treform(0,-1); }
void CChangeView::OnMENUITYdirectionplus() { // TODO: Add your command handler code here Treform(1,0); }
void CChangeView::OnMENUYdirectionneg() { // TODO: Add your command handler code here Treform(-1,0);
正在阅读:
-图形学实验报告-二维基本变换09-16
英文颜色表达大全02-27
劳动日志04-19
实验四 射极跟随器05-21
《水乡的日子》史良高 阅读答案及考点分析06-21
互换性与技术测量 第五章 - 表面粗糙度轮廓及其监测09-18
四年级品社下册好大一个家复习资料03-26
保险理论与实务(2011.2.21)05-29
- 上海大众、一汽大众、东风日产车型与VIN代号对照表
- 第2章服装原型及原型制作
- 江苏省工商行政管理系统经济户口管理办法及四项制度
- 纪检监察业务知识试题2
- 传感器综合题答案
- 北京第二外国语学院翻硕招生人数及学费
- 初三新编英语教材下册
- 公司庆中秋、迎国庆联欢会客串词
- 向区委常委会汇报安全生产工作材料
- 2006年GCT英语模拟试题(三)及答案解析
- 经济法概念的早期使用
- 我爱做家务课堂教学设计
- 学校安全工作月报表、消防安全排查表、消防隐患排查台账
- 成本会计毕业论文
- 班级文化建设论文
- 2018年天津市高考文科试题与答案汇总(Word版) - 图文
- 铁路论文
- 2017年嵌入式系统设计师考试时间及地点
- 1.111--灾害与突发公共卫生事件应急预案
- 起爆点主图 注意买入 拉升 逃顶源码指标通达信指标公式源码
- 二维
- 变换
- 图形
- 实验
- 基本
- 报告
- 南昌大学宏观经济学A
- 工程部节能降耗方案
- 阶段性考核之三 - 设计一个24进制计数器
- 2016年12月大学英语六级考试真题及答案(第一套)
- 2011年辽宁专升本 沈阳工程学院 法学 考点
- 成本会计实训报告填写说明
- 期末测试卷2
- 江苏自考《学前教育心理学》课后习题参考答案
- sap中MRP参数的用法 - 图文
- 急诊医学试题库
- 八年级英语下册Unit1综合能力测试人教新目标版
- 军人队列动作教案
- 阶段质量评估1
- 吉林省安全生产监督管理局关于印发吉林省安全生产监督管理局生
- 松江二中2012-2013学年高一下学期期末考语文试题及答案A
- 高淳县国土资源局(矿政管理职能)历史沿革
- 电视购物项目可行性研究报告(目录) - 图文
- 经济效益审计2011试卷01
- 3D动画毕业设计论文 - 图文
- midas挂篮计算书