⑴图形的绘制 

  图形一般由点、线、面组成。三维图形也是一二维图形为基础的。因而了 解二维图形的绘制也是必要的。 

  绘制点、线、面主要是用函数对图形进行数学描述。这里主要运用到三个 函数:GLBegin()、GLEnd()、GLVertex().对于点、线、面的描述主要取决于 GLBegin() 的参数类型。其中 GLBegin()和 GLEnd()是配对使用。主体是通过 GLVertex()来 完成计算机图形的表述。

一般来说,GLVertex()是有后缀的,主要是用来描述定点参数类型以及维数 的确定。比如说:GLVertex2f(),2f 表示:二维单精度浮点数。运用这个函数,可 以编写以下的程序。 

①点、线、面的编程 

点的绘制: 

Bigan:

glBegin(GL-POINTS) glvertex2f(0.0f,0.0f);

glvertex2f(0.6f,0.7f); glvertex2f(-0.5f,0.5f);

glvertex2f(0.6f,-0.7f);

glvertex2f(-0.5f,-0.5f); glEnd()

这就是一个十分简单的二维点的绘制,但是这里的点只具有数学的意义,同

样绘制线、面时也是这样的。这就会导致在屏幕上时,点或线就会变大,存在误 差。所以一般还会用到一个函数:glpointSize(),glLineWidth()等函数,对点和线 进行规定,单位一般为像素。 

这只是绘制二维的点,我们可以通过 glvertex3f 等函数进行三维点的绘制。 各种线面的绘制,和点的绘制编程类似。主要改变 GLBegin()参数类型。 

②通过面绘制三维图形 通过面绘制三维体,是最简单三维体的绘制。原理主要是通过各个面的拼接

而绘制三维体。因为一个无论多复杂的表面都可以通过划分,变成若干个小平面。 再通过绘制小平面得到一个三维体。虽然这种方法简单,但要绘制精确的面,还 是很困难的,要解决三个方面:边的界定、图形的细分和逼近的精度。 

但用来绘制简单的多边形还是可以的,但是要确定面的顺序。比如简单正方 形: 

Bigan

glBegin(GL-POLYGON) Glvertex3f(-0.5f,0.5f,0.5f);

Glvertex3f(-0.5f,-0.5f,0.5f);

Glvertex3f(0.5f,-0.5f,0.5f);

Glvertex3f(0.5f,0.5f,0.5f); glEnd()//前面

glBegin(GL-POLYGON) Glvertex3f(-0.5f,0.5f,0.5f);

Glvertex3f(-0.5f,0.5f,0.5f);

Glvertex3f(-0.5f,0.5f,-0.5f);

Glvertex3f(-0.5f,-0.5f,-0.5f); glEnd()//左面 

有上面的编程可以看出,面的顺序是需要在编程之前就要确定。防止编程是 出现混乱。 

⑵图形的变换[12] 图形的变换,是改变图形位置或方向的重要方法。这主要是通过矩阵来实现

的。这里的矩阵是4 × 4的矩阵。在图形变换中主要是几何变换。几何变换又主

要分为平移、旋转和放大缩小。 来*自-优=尔,论:文+网www.youerw.com

①平移变换 图形的平移主要是沿着于平移变换向量的变换。其基本还是点的平移。这主

要涉及平移量(a,b,c)。平移公式为: 

图 2-1 平移示意图 

1 0

平移变换公式:      xyz1x y z 10 1

主要函数就是:glmatrixmode、glloadidentity 和 gltranslatef。其中 glmatrixmode

的参数决定了图形需要进行哪种变换。编程一般如下: 

Bigan Glmatrixmode(GL_MODELVIEW); Glmatrixmode(); Gltranslatef(0.0f,0.0f,-4.5f);

  这 个 程 序 就 是 将 图 形 沿 着 z 轴 的 负 方 向 平 移 4.5 个 单 位 , 其 实 Gltranslatef 函数只是创建了一个平移矩阵,与原来的模型矩阵相乘。其中 a、 b、c 有函数 Gltranslatef(x,y,z)提供的。 

上一篇:ANSYS单体液压支柱三用阀自动试验台自动装卸调压机构和液压系统设计
下一篇:QY20汽车起重机悬挂系统设计+CAD图纸

基于网络技术的转向架应力监测与评估

海力精密压机液压伺服送料系统的设计

含集中质量的刚柔耦合机械臂系统动力学仿真

PLZT光驱动微位移伺服系统的设计及控制

AVLBOOST喷油定时对高海拔柴...

黑龙江省机械加工业成本...

高速公路沥青路面施工机...

麦秸秆还田和沼液灌溉对...

网络语言“XX体”研究

新課改下小學语文洧效阅...

老年2型糖尿病患者运动疗...

ASP.net+sqlserver企业设备管理系统设计与开发

LiMn1-xFexPO4正极材料合成及充放电性能研究

安康汉江网讯

互联网教育”变革路径研究进展【7972字】

张洁小说《无字》中的女性意识

我国风险投资的发展现状问题及对策分析