opcv学习日志三 几何变换 1
来源:互联网 发布:55开淘宝店 编辑:程序博客网 时间:2024/06/05 00:46
几何变换也可称为建模变换。
我们利用扫描算法,可以将凸缘显示在光栅设备。
建模变换一般用于构造厂家或给出由多个部分组合而成的复杂对象的层次描述。
有些图形系统提供2套变换子程序,而其他一些软件包则提供一套能同时用于几何变换和建模变换的函数。
平移,旋转,缩放是所有图形软件包中都含有的几何变换函数。其他可能包括在图形软件包中的变换
由反射和错切操作。
平移向量 translation vector 位移向量 shift vector
二维向量
二维矩阵
逆变换
二维复合
通用二维基准点
通用二维复合变换和计算效率
二维刚体变换
反射
错切:
反射:
反转
一般约定为“顶点以逆时针顺序出现在屏幕上的面”为“正面”,另一个面即成为“反面”。生活中常见的物体表面,通常都可以用这样的“正面”和“反面”,“合理的”被表现出来(请找一个比较透明的矿泉水瓶子,在正对你的一面沿逆时针画一个圆,并标明画的方向,然后将背面转为正面,画一个类似的圆,体会一下“正面”和“反面”。你会发现正对你的方向,瓶的外侧是正面,而背对你的方向,瓶的内侧才是正面。正对你的内侧和背对你的外侧则是反面。这样一来,同样属于“瓶的外侧”这个表面,但某些地方算是正面,某些地方却算是反面了)。
glFrontFace(GL_CCW); // 设置CCW方向为“正面”,CCW即CounterClockWise,逆时针
glFrontFace(GL_CW); // 设置CW方向为“正面”,CW即ClockWise,顺时针
下面是一个示例程序,请用它替换第一课中的myDisplay函数,并将glFrontFace(GL_CCW)修改为glFrontFace(GL_CW),并观察结果的变化。
void myDisplay(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glPolygonMode(GL_FRONT, GL_FILL); // 设置正面为填充模式
glPolygonMode(GL_BACK, GL_LINE); // 设置反面为线形模式
glFrontFace(GL_CCW); // 设置逆时针方向为正面
glBegin(GL_POLYGON); // 按逆时针绘制一个正方形,在左下方
glVertex2f(-0.5f, -0.5f);
glVertex2f(0.0f, -0.5f);
glVertex2f(0.0f, 0.0f);
glVertex2f(-0.5f, 0.0f);
glEnd();
glBegin(GL_POLYGON); // 按顺时针绘制一个正方形,在右上方
glVertex2f(0.0f, 0.0f);
glVertex2f(0.0f, 0.5f);
glVertex2f(0.5f, 0.5f);
glVertex2f(0.5f, 0.0f);
glEnd();
glFlush();
}
- opcv学习日志三 几何变换 1
- opcv学习日志 5 几何变换2 三维变换 垂直同步
- opcv学习日志一
- opcv学习日志4 光栅
- opcv学习日志 7 光照
- opcv学习日志二 输出图元及属性
- opcv测试2-1
- CoreAnimation编程指南(三)几何变换
- CoreAnimation编程指南(三)几何变换
- CoreAnimation编程指南(三)几何变换
- CoreAnimation编程指南(三)几何变换
- CoreAnimation编程指南(三)几何变换
- CoreAnimation编程指南(三)几何变换
- 计算机图形学(三)二维几何变换
- CoreAnimation编程指南(三)几何变换
- OpenGL(三)图形变换之几何变换
- OpenGL学习——二维几何变换
- OpenGL学习08_几何变换
- gcc 中的"__attribute__ ((packed))"
- hibernate 查询语句总结
- Linux系统编程学习之《Git仓库使用总结》
- R语言-有关时间类型
- 【转】mysql触发器的实战经验
- opcv学习日志三 几何变换 1
- The Fibonacci Primes
- 小苏打的妙用:清洗宝宝不同尿布
- 数据库连接池的写法
- 20130902组队赛Regionals 2012, Latin America
- 利用广播实现ip拨号
- [Windows平台The Chromium Projects开发日记]——获取Chromium源代码
- Android 点亮屏幕
- POJ1002 487-3279