opcv学习日志二 输出图元及属性
2013-09-03 01:54
330 查看
图形输出原语graphic output primitive 简称为图元:图形软件包中用来描述各种图形元素的函数。
描述对象几何要素的输出图元一般称为几何图元。 点的定位和直线段是最简单的几何图元。
通过将场景信息传给观察函数、由观察函数识别可见面、将对象映射到视频监视器上来实现对象的显示。
扫描转换过程将颜色值等场景信息保存到帧缓存的响应的位置,从而在输出设备上显示场景中的对象。
屏幕坐标:
实用软件命令可以按照任何方式设定屏幕位置的参考系统。描述场景几何要素的坐标值由观察函数转换为帧缓存中的整数像素位置。
图元的扫描转换算法 使用定义的坐标描述来确定显示像素的位置。
glOrtho2D命令设定一个二维笛卡儿坐标系。
一旦确定了一个对象的像素位置,必须将合适的颜色值存入帧缓存。我们实用一个底层函数:setPixel(x,y)
该函数将当前颜色设定值存入帧缓存的整数坐标位置(x,y)处,该位置相对于屏幕坐标原点而选定。有时我们
也希望获得一个像素位置的当前帧缓存设置。可以用下列底层函数来获得:
getPixel(x,y,color); 参数color得到一个与存储在位置(x,y)的像素中的RGB组合对应的整数值。
形式坐标描述。
我们可以在C++过程中实用OpenGL画点函数来实现SetPixel命令。
的像素位置。结下来将一线段数字化为一组离散的整数位置。如计算出的线位置(10.48,12.11)转换为像素(10,12)。舍入整数,引起除水平和垂直以外所有线段的阶梯效应(锯齿形)。光栅线段特有的阶梯现象在低分辨系统特别容易看出来,高分系统可以得到改善。平滑光栅线段的更有效技术是基于调整线路经上的像素强度。
在光栅系统中,通过像素绘制直线,水平和垂直方向的步长收到像素间距的限制。也就是必须
在离散位置上对直线取样。并且在每个取样位置上确定距直线最近的像素。
步骤:
1.引用函数glEnableClientState(GL_VERTEX_ARRAY)激活OpenGL的顶点数组特性。
2.引用glVertexPointer指定顶点坐标的位置和数据格式。
3.使用子程序如glDrawElemets显示场景,该子程序可处理多个图元而仅需少量的函数调用。
描述对象几何要素的输出图元一般称为几何图元。 点的定位和直线段是最简单的几何图元。
通过将场景信息传给观察函数、由观察函数识别可见面、将对象映射到视频监视器上来实现对象的显示。
扫描转换过程将颜色值等场景信息保存到帧缓存的响应的位置,从而在输出设备上显示场景中的对象。
屏幕坐标:
实用软件命令可以按照任何方式设定屏幕位置的参考系统。描述场景几何要素的坐标值由观察函数转换为帧缓存中的整数像素位置。
图元的扫描转换算法 使用定义的坐标描述来确定显示像素的位置。
glOrtho2D命令设定一个二维笛卡儿坐标系。
一旦确定了一个对象的像素位置,必须将合适的颜色值存入帧缓存。我们实用一个底层函数:setPixel(x,y)
该函数将当前颜色设定值存入帧缓存的整数坐标位置(x,y)处,该位置相对于屏幕坐标原点而选定。有时我们
也希望获得一个像素位置的当前帧缓存设置。可以用下列底层函数来获得:
getPixel(x,y,color); 参数color得到一个与存储在位置(x,y)的像素中的RGB组合对应的整数值。
画点函数
glVectex*(); *表示函数要有后缀码。后缀码用来指明空间尺寸、用作坐标值的数据类型和可能的向量形式坐标描述。
class wcPt2D{ public: GLfloat x,y; }; wcPt2D pointPos; pointPos.x=120.75; pointPos.y=45.39 glBegin(GL_POINTS) glVertex2f(pointPos.x,pointPos.y); glEnd();
我们可以在C++过程中实用OpenGL画点函数来实现SetPixel命令。
画线
要在光栅监视器上显示一线段,图形系统必须先将2端点投影到整数屏幕坐标,并确定离2端点间的直线路径最近的像素位置。结下来将一线段数字化为一组离散的整数位置。如计算出的线位置(10.48,12.11)转换为像素(10,12)。舍入整数,引起除水平和垂直以外所有线段的阶梯效应(锯齿形)。光栅线段特有的阶梯现象在低分辨系统特别容易看出来,高分系统可以得到改善。平滑光栅线段的更有效技术是基于调整线路经上的像素强度。
在光栅系统中,通过像素绘制直线,水平和垂直方向的步长收到像素间距的限制。也就是必须
在离散位置上对直线取样。并且在每个取样位置上确定距直线最近的像素。
顶点数组
vertex array ,可以利用很少的喊声调用来安排场景的描述信息。步骤:
1.引用函数glEnableClientState(GL_VERTEX_ARRAY)激活OpenGL的顶点数组特性。
2.引用glVertexPointer指定顶点坐标的位置和数据格式。
3.使用子程序如glDrawElemets显示场景,该子程序可处理多个图元而仅需少量的函数调用。
相关文章推荐
- java学习:log4j输出xml格式的日志文件
- .Net语言 APP开发平台——Smobiler学习日志:HoverBackColor属性的简单介绍
- 记录学习的点滴(MyBatis log4j日志输出配置)
- flume学习(一):log4j直接输出日志到flume
- Vue学习日志:计算属性(4)
- SpringBoot内部配置:“application.properties配置”和”使用XML配置”,读取属性文件中的内容,日志配置,Profile配置(学习:SpringBoot实战)
- java学习:log4j输出xml格式的日志文件(log4j2篇)
- Android学习第一课:自定义日志LogCat输出
- [原创]java WEB学习笔记41:简单标签之带属性的自定义标签(输出指定文件,计算并输出两个数的最大值 demo)
- 我是这样学习Linux下C语言编程的-把程序输出信息加到系统日志里去
- Checklists学习日志之UITableView的全部属性、方法以及代理方法执行顺序
- boost log库学习使用三(输出日志到文件)
- flume学习(一):log4j直接输出日志到flume
- 【OC学习-32】KVO-用一个对象监控另一个对象的属性,如有变化,则输出需要的结果
- opcv学习日志三 几何变换 1
- Qt 学习 第2节 日志输出和保存
- flume学习(一):log4j直接输出日志到flume
- 3.OpenGL学习之图元属性
- Java学习日志(19-4-IO流-流输入与输出)
- flume学习(一):log4j直接输出日志到flume