当前位置:首页 > 段子 > 正文
文章正文

gl小说h段子楼主

段子 > :gl小说h段子楼主是由美文导刊网(www.eorder.net.cn)为您精心收集,如果觉得好,请把这篇文章复制到您的博客或告诉您的朋友,以下是gl小说h段子楼主的正文:

gl小说h段子楼主篇一

GlCallList

OpenGL显示列表(Display List)是由一组预先存储起来的留待以后调用的OpenGL函数语句组成的,当调用这张显示列表时就依次执行表中所列出的函数语句。前面内容所举出的例子都是瞬时给出函数命令,则OpenGL瞬时执行相应的命令,这种绘图方式叫做立即或瞬时方式(immediate mode)。本章将详细地讲述显示列表的基本概论、创建、执行、管理以及多级显示列表的应用等内容。

16.1、显示列表概论

16.1.1 显示列表的优势

OpenGL显示列表的设计能优化程序运行性能,尤其是网络性能。它被设计成命令高速缓存,而不是动态数据库缓存。也就是说,一旦建立了显示列表,就不能修改它。因为若显示列表可以被修改,则显示列表的搜索、内存管理的执行等开销会降低性能。

采用显示列表方式绘图一般要比瞬时方式快,尤其是显示列表方式可以大量地提高网络性能,即当通过网络发出绘图命令时,由于显示列表驻留在服务器中,因而 使网络的负担减轻到最小。另外,在单用户的机器上,显示列表同样可以提高效率。因为一旦显示列表被处理成适合于图形硬件的格式,则不同的OpenGL实现 对命令的优化程度也不同。例如旋转矩阵函数glRotate*(),若将它置于显示列表中,则可大大提高性能。因为旋转矩阵的计算并不简单,包含有平方、 三角函数等复杂运算,而在显示列表中,它只被存储为最终的旋转矩阵,于是执行起来如同硬件执行函数glMultMatrix()一样快。一般来说,显示列 表能将许多相邻的矩阵变换结合成单个的矩阵乘法,从而加快速度。

16.1.2 显示列表的适用场合

并不是只要调用显示列表就能优化程序性能。因为调用显示列表本身时程序也有一些开销,若一个显示列表太小,这个开销将超过显示列表的优越性。下面给出显示列表能最大优化的场合:

矩阵操作

大部分矩阵操作需要OpenGL计算逆矩阵,矩阵及其逆矩阵都可以保存在显示列表中。

 光栅位图和图像

程序定义的光栅数据不一定是适合硬件处理的理想格式。当编译组织一个显示列表时,OpenGL可能把数据转换成硬件能够接受的数据,这可以有效地提高画位图的速度。

 光、材质和光照模型

当用一个比较复杂的光照环境绘制场景时,可以为场景中的每个物体改变材质。但是材质计算较多,因此设置材质可能比较慢。若把材质定义放在显示列表中,则每次改换材质时就不必重新计算了。因为计算结果存储在

表中,因此能更快地绘制光照场景。

 纹理

因为硬件的纹理格式可能与OpenGL格式不一致,若把纹理定义放在显示列表中,则在编译显示列表时就能对格式进行转换,而不是在执行中进行,这样就能大大提高效率。

 多边形的图案填充模式

即可将定义的图案放在显示列表中。

16.2、创建和执行显示列表

16.2.1 创建显示列表

OpenGL提供类似于绘制图元的结构即glBegin()与glEnd()的形式创建显示列表,其相应的函数为:

void glNewList(GLuint list,GLenum mode);

说明一个显示列表的开始,其后的OpenGL函数存入显示列表中,直至调用结束表的 函数(见下面)。参数list是一个正整数,它标志唯一的显示列表。参数mode的可能值有GL_COMPILE和 GL_COMPILE_AND_EXECUTE。若要使后面的函数语句只存入而不执行,则用GL_COMPILE;若要使后面的函数语句存入表中且按瞬时 方式执行一次,则用GL_COMPILE_AND_EXECUTE。

void glEndList(void);

标志显示列表的结束。

注意:并不是 所有的OpenGL函数都可以在显示列表中存储且通过显示列表执行。一般来说,用于传递参数或返回数值的函数语句不能存入显示列表,因为这张表有可能在参 数的作用域之外被调用;如果在定义显示列表时调用了这样的函数,则它们将按瞬时方式执行并且不保存在显示列表中,有时在调用执行显示列表函数时会产生错 误。以下列出的是不能存入显示列表的OpenGL函数:

glDeleteLists() glIsEnable()glFeedbackBuffer() glIsList()glFinish() glPixelStore()glGenLists() glRenderMode()glGet*() glSelectBuffer() 16.2.2 执行显示列表

在建立显示列表以后就可以调用执行显示列表的函数来执行它,并且允许在程序中多次执行同一显示列表,同时也可以与其它函数的瞬时方式混合使用。显

示列表执行的函数形式如下:

void glCallList(GLuint list);

执行显示列表。参数list指定被执行的显示列表。显示列表中的函数语句按它们被存放的顺序依次执行;若list没有定义,则不会产生任何事情。下面举出一个应用显示列表的简单例子:

例16-1 显示列表例程(displist.c)

#include "glos.h"

#include <GL/gl.h>

#include <GL/glu.h>

#include <GL/glaux.h>

void myinit(void);

void drawLine(void);

void CALLBACK display(void);

void CALLBACK myReshape(GLsizei w, GLsizei h);

GLuint listName = 1;

void myinit (void)

{

glNewList (listName, GL_COMPILE);

glColor3f (1.0, 0.0, 0.0);

glBegin (GL_TRIANGLES);

glVertex2f (0.0, 0.0);

glVertex2f (1.0, 0.0);

glVertex2f (0.0, 1.0);

glEnd ();

glTranslatef (1.5, 0.0, 0.0);

glEndList ();

glShadeModel (GL_FLAT);

}

void drawLine (void)

{

glColor3f(1.0,1.0,0.0);

glBegin (GL_LINES);

glVertex2f (0.0, 0.5);

glVertex2f (5.0, 0.5);

glEnd ();

}

void CALLBACK display(void)

{

GLuint i;

glClear (GL_COLOR_BUFFER_BIT);

glColor3f (0.0, 1.0, 0.0);

glPushMatrix();

for (i = 0; i <5; i++)

glCallList (listName);

drawLine ();

glPopMatrix();

glFlush ();}

void CALLBACK myReshape(GLsizei w, GLsizei h)

{

glViewport(0, 0, w, h);

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

if (w <= h)

gluOrtho2D (0.0, 2.0, -0.5 * (GLfloat) h/(GLfloat) w, 1.5 * (GLfloat) h/(GLfloat) w);

else

gluOrtho2D (0.0, 2.0 * (GLfloat) w/(GLfloat) h, -0.5, 1.5); glMatrixMode(GL_MODELVIEW); glLoadIdentity();

}

void main(void)

{

auxInitDisplayMode (AUX_SINGLE | AUX_RGBA);

auxInitPosition (10, 200, 400, 50);

auxInitWindow ("Display List");

myinit ();

auxReshapeFunc (myReshape);

auxMainLoop(display);

}

以上程序运行结果是显示五个显示列表中定义的红色三角形,然后再绘制一条非表中的黄色线段。

16.3、管理显示列表

在上一 节例子中,我们使用了一个正整数作为显示列表的索引。但是在实际应用中,一般不采用这种方式,尤其在创建多个显示列表的情况下。如果这样做,则有可能选用 某个正在被占用的索引,并且覆盖这个已经存在的显示列表,对程序运行造成危害。为了避免意外删除,可以调用函数glGenList()来产生一个没有用过 的显示列表,或调用glIsList()来决定是否指定的显示列表被占用。

此外,在管理显示列表的过程中,还可调用函数glDeleteLists()来 删除一个或一个范围内的显示列表。下面分别介绍这些函数:

GLuint glGenList(GLsizei range);

分配range个相邻的未被占用的显示列表索引。这个函数返回的是一个正整数索引值,它是一组连续空索引的第一个值。返回的索引都标志为空且已被占用,以后再调用这个函数时不再返回这些索引。若申请索引的指定数目不能满足或range为0则函数返回0。{gl小说h段子楼主}.

GLboolean glIsList(GLuint list);

询问显示列表是否已被占用的情况。若索引list已被占用,则函数返回TURE;反之,返回FAULSE。

void glDeleteLists(GLuint list,GLsizei range);

删除一组连续的显示列表,即从参数list所指示的显示列表开始,删除range个显示列表,并且删除后的这些索引重新有效。若删除一个没有建立的显示列表则忽略删除操作。

当建立一个与已经存在的显示列表索引相同的显示列表时,OpenGL将自动删除旧表。这一节举个例子来说,如果将上一节程序/***.c*/中所创建的显示列表改为以下代码:

listIndex=glGenLists(1);if(listIndex!=0){ glNewList(listIndex,GL_COMPILE); ... glEndList();}

那么,这个程序将更加优化实用。读者自己不妨试试,同时还可用它多创建几个显示列表,或者再删除一个,看看效果怎样?

16.4、多级显示列表

多级显示列表的建立就是在一个显示列表中调用另一个显示列表,也就是说,在函数glNewList()与glEndList()之间调用 glCallList()。多级显示列表对于构造由多个元件组成的物体十分有用,尤其是某些元件需要重复使用的情况。但为了避免无穷递归,显示列表的嵌套 深度最大为64(也许更高些,这依赖于不同的OpenGL实现),当然也可调用函数glGetIntegerv()来获得这个最大嵌套深度值。

OpenGL在建立的显示列表中允许调用尚未建立的表,当第一个显示列表调用第二个并没 定义的表时,不会发生任何操作。另外,也允许用一个显示列表包含几个低级的显示列表来模拟建立一个可编辑的显示列表。如下一段代码:

gl小说h段子楼主篇二

试卷正文

职业技能鉴定国家题库 钢筋工中级理论知识试卷{gl小说h段子楼主}.

注 意 事 项 线1、本试卷依据2003年颁布的《钢筋工》国家职业标准命制, 考试时间:120分钟。 2、请在试卷标封处填写姓名、准考证号和所在单位的名称。 此3、请仔细阅读答题要求,在规定位置填写答案。

一、单项选择题(第1题~第200题。选择一个正确的答案,将相应的字母填入题内的括号准中。每题1分,满分200分。) 1.热处理钢筋是对由中碳钢制成的普通低合金钢钢筋进行( )的调质热处理所得到的钢筋。 A、退火和正火 B、淬火和退火 C、正火和过火 D、淬火和回火 不2.在受力较大处设置机械连接接头,位于同一连接区段内( )接头面积百分比不宜大于50%。 A、箍筋 B、纵向受压钢筋 C、构造钢筋 D、纵向受拉钢筋 题3.力是物体间的相互作用,它使物体的( )发生改变或使物体的形状发生改变。 A、尺寸 B、截面面积 C、运动状态 D、运动条件 4.钢筋应尽量储存在仓库或料棚内,钢筋堆下应有垫木,使钢筋( )。 A、离地不小于200mm B、离地小于100mm 答 C、间隔小于90mm D、间隔不小于110mm 5.平面一般力系的平衡条件是各力在两个坐标轴上的投影的( ),同时,各力对平面内任一点的力矩也应等于零。 A、代数和分别等于零 B、代数差分别等于零 生 C、代数和不等于零 D、代数差分别不等于零 6.在长线台座成批钢丝张拉工艺中,采用梳筋板镦头夹具时,( )下料长度的相对差值不应大于L/5000(L为钢丝的下料长度),且不大于5mm。 A、台座全长 B、同一构件中的钢丝 考 C、段与段之间的钢丝 D、相邻段钢丝 7.圆锥体置于三面投影体系中,使其轴线垂直于H面,其V面和W面的投影为( )。 A、一个三角形 B、两个相同弧长的圆

C、两个相同的等腰三角形 D、两个相同的矩形

8.( )弯起钢筋斜段长度为1.414倍弯起钢筋弯起的垂直高度。

A、30° B、45° C、90° D、135°

9.在纵向受压钢筋搭接长度范围内应配置箍筋,其直径( )搭接钢筋较大直径的0.25倍。

A、应小于 B、应等于 C、不应小于 D、不应大于

10.横向定位轴线编号用阿拉伯数字,( )依次编号。

A、从右向左 B、从中间向两侧 C、从左至右 D、从前向后

11.吊车梁的构件代号是D( )。

A、I B、E C、CH D、L

12.当预应力钢筋的实测伸长值与理论伸长值的差值比上理论伸长值在( )之间时,表明张拉后建立的预应力值满足设计要求。

A、±12% B、±10% C、±8% D、±6%

13.根据《混凝土结构工程施工质量验收规范》(GB50204—2002)的规定,在C30~C35混凝土中,当HPB235级光圆纵向受拉钢筋的绑扎搭接接头面积百分率大于25%,但不大于50%时,其最小搭接长度为( )倍钢筋直径。

A、25×1.25 B、30×1.2 C、35×1.35 D、45×1.3

14.后张法预应力构件如分几个部分制作,则在张拉操作前应进行拼装,块体的竖缝最小宽度不得( )。

A、小于2mm B、小于5mm C、小于10mm D、大于15mm

15.将空间形体的投影绘制在平面纸上,以表示其形状和大小的方法,称为( )。

A、类比投影法 B、图形影像法 C、映射法 D、投影法

16.尺寸界线应用细实线绘制,一般应与( )垂直.

A、脚注符号 B、尺寸起止符号 C、被注线段 D、框图

17.直接承受动力荷载的结构构件中,机械连接接头应满足设计要求的抗疲劳性能,位于同一连接区段内纵向受力钢筋接头面积百分比不应大于( )。

A、50% B、60% C、70% D、80%

18.某建筑企业的钢筋工老王在一次钢筋帮扎作业中,因为与自己新带的徒弟小孙聊天,精力不集中,导致自己的手臂被划破。造成这种情况出现的主要原因是( )。

A、作业时间太长 B、老王没有做到遵守工作纪律

C、徒弟小孙没有做到“尊师” D、钢筋太长

19.作用在( )的两个力,若这两个力的大小相等、方向相反、作用在同一条直线上,则物体处于平衡,即称二力平衡。

A、同一物体上 B、两个以上物体上

C、三个以上物体上 D、不同的物体上

20.在施工图中索引符号是由直径为10mm的圆和水平直线组成,用( )绘制。

A、粗实线 B、点划线 C、细实线 D、虚线

21.当箍筋直径为10~12mm时,对用于抗震结构的箍筋长度调整值,量内皮尺寸时为( )。

A、118mm B、198~218mm C、238mm D、318~338mm

22.安装张拉设备时,对于曲线预应力筋,应使( )与孔道中心线末端的切线重合。

A、千斤顶中心线 B、张拉力的作用线

C、张拉力的法线 D、高压油泵中心线

23.用于抗震结构的90°直弯钩箍筋的弯后平直部分长度为钢筋直径的( )倍。

A、2.5 B、3 C、5 D、10

24.先张法预应力筋的张拉分为单根张拉和( )。

A、单向张拉 B、多根成组张拉 C、多次张拉 D、双根对拉

25.同一构件中,各预应力筋的应力应均匀,其偏差的( )不应超过设计规定值的±5%。

A、最小值 B、最大值 C、绝对值 D、平均值

26.根据《混凝土结构工程施工质量验收规范》(GB50204—2002)的规定,在C20~C25混凝土中,当HRB335级带肋纵向受拉钢筋的绑扎搭接接头面积百分率不大于25%时,其

最小搭接长度为( )倍钢筋直径。

A、25 B、35 C、45 D、55

27.根据《混凝土结构设计规范》(GB50010—2002)的有关规定,通常情况下,处于二类b级环境中的C35预制混凝土梁内,纵向受力钢筋的混凝土保护层厚度为( )mm。

A、25 B、30 C、35 D、40

28.张拉过程中,预应力筋断裂或滑脱的数量,严禁超过结构中同一截面预应力筋总根数的3%,且( )最多只允许一根断裂或滑脱。

A、每个铁索束 B、一束钢丝 C、每个锚索束 D、一束钢绞线

29.如果预应力筋的实际伸长值比计算伸长值( ),应停止张拉,待采取措施予以调整后才可继续张拉。

A、大于10%或小于5% B、大于10%或小于3%

C、正好相差1% D、正好相差3%

30.处于二类b级环境中的C35预制混凝土板内,纵向受力钢筋的混凝土保护层厚度为

( )mm。

A、10 B、15 C、20 D、25

31.根据《中华人民共和国劳动法》的规定,国家对女职工和未成年工实行特殊劳动保护。其中,未成年工是指( )的劳动者。

A、年满十八周岁未满二十周岁 B、未满二十周岁

C、年满十六周岁未满十八周岁 D、未满十七周岁

32.当无粘结筋长度( ) m时,一般采用单端张拉。

A、≤25 B、>25 C、≤50 D、>100

33.机械连接接头连接件的混凝土保护层厚度宜满足纵向受力钢筋最小保护层厚度的要求,{gl小说h段子楼主}.

( )之间的横向净间距不宜小于25mm。

A、纵向受力钢筋 B、连接件 C、箍筋 D、混凝土保护层

34.根据《中华人民共和国安全生产法》的规定,生产经营单位必须依法参加( ),为从业人员缴纳保险费。

A、互助基金保险 B、工伤社会保险 C、人寿保险 D、财产保险

35.根据《混凝土结构工程施工质量验收规范》(GB50204—2002)的规定,检验批的质量要达到合格标准,要求一般项目的质量经抽样检验合格率达到( )。

A、100% B、90% C、80% D、70%

36.下列关于职业道德与一般道德规范的关系表述错误的是( )。

A、职业道德与一般道德规范具有一致性

B、一般道德规范属于公德的范畴,而职业道德不属于公德的范畴

C、职业道德反映了社会道德对职业的具体要求

D、职业道德与一般道德规范相比,带有具体的职业活动特征

37.钢筋工小孙在进行钢筋切断操作时,发现正在运行的切断机刀口上有杂物,便叫另外一名钢筋工小王用手去清理。小孙的这种做法( )。

A、符合安全操作规程

B、体现了同事之间的协作精神

C、有可能导致小王受到人身伤害,是十分危险的

D、提高了工作效率,值得提倡

38.( )应用细实线绘制,一般应与被注线段垂直。

A、尺寸线 B、图线 C、尺寸起止符号 D、尺寸界线

39.无粘结预应力筋组装后应及时对其进行检查和复验,其中镦头式锚具定位连杆拧入锚杯长度应( )。

A、不小于20mm B、大于15mm

C、不超过连杆外露长度 D、等于10mm

40.单根预应力筋的( )一般包括配料、对焊、冷拉。

A、张拉 B、编束操作 C、下料 D、制作工艺

41.无粘结预应力筋由( )和外包层组成。

A、防腐油脂层、隔热层 B、防腐层、防水层、沥青涂料层

C、无粘筋、涂料层 D、无粘筋、套管、涂料层

42.后张法预应力筋张拉、锚固后的外露部分宜采用机械方法切割,其( )预应力筋直径的1.5倍,且不宜小于30mm。

A、张拉长度不宜小于 B、外露长度不宜小于

C、切割长度应大于 D、伸长值应大于

43.直钢筋下料长度等于构件长度减去( ),加上弯钩增加长度。

A、弯曲调整值 B、斜段长度

C、混凝土保护层厚度 D、箍筋周长

44.根据《混凝土结构工程施工质量验收规范》(GB50204—2002)的规定,在C40混凝土中,当HRB400、RRB400级纵向带肋受拉钢筋的绑扎搭接接头面积百分率大于50%时,其最小搭接长度为( )倍钢筋直径。

A、30×1.2 B、35×1.35 C、45×1.45 D、55×1.5

45.圆锥体置于三面投影体系中,使其轴线垂直于H面,其H面的投影为( )。

A、圆 B、球 C、矩形 D、三角形

46.尺寸界线应用( )绘制,一般应与被注线段垂直。

A、粗实线 B、虚线 C、细实线 D、点划线

47.相对标高是以建筑物的( )的地面为零点,用±0.000表示。

A、首层室内主要使用房间 B、室外

C、二层室内主要使用房间 D、基础以上{gl小说h段子楼主}.

48.钢筋进场(厂)时必须按批次抽取试样,预应力混凝土用钢绞线的试样数量是每批

( )。

A、拉伸2个、弯曲1个 B、拉伸2个、反复弯曲2个

C、弯曲3个 D、拉伸3个

49.放张预应力筋的砂箱装砂量宜为砂箱长度的( )。

A、1/2~1/3 B、1/3~1/5 C、1/5~1/8 D、1/8~1/10

50.钢筋在加工过程中,若发生脆断,则应对该批钢筋进行( )检验。

A、塑性 B、拉伸性能 C、冷弯性能 D、化学成分

51.根据《中华人民共和国劳动法》的规定,用人单位由于生产经营需要,经与工会和劳动者协商后可以延长工作时间,一般每日( )。

A、最长为一小时,每月最长为四十小时

B、最长为两小时

C、不得超过一小时

D、不得超过三小时,每月累计不得超过四十六小时

52.钢筋在加工过程中,若发生脆断或( ),则应对该批钢筋进行化学成分检验。

A、焊接性能不良 B、热胀冷缩 C、弹变 D、塑变

53.在施工图中详图符号是用直径14mm ( )的圆来绘制,标注在详图的下方。

A、点划线 B、细实线 C、虚线 D、粗实线

54.施加预应力后,砂箱的压缩值若不大于( ) mm,则预应力损失可忽略不记。

A、0.5 B、1 C、1.5 D、2

55.根据《中华人民共和国劳动法》的规定,劳动合同应当以书面的形式订立,以下属于劳动合同必备条款的是( )。

A、最低工作量 B、劳动纪律

C、劳动工具种类 D、劳动工资延期支付最长时间

56.螺丝端杆锚具的垫板和螺母采用( )制作。

A、15号钢 B、45号钢 C、A3号钢 D、20锰硅钢

57.预应力筋张拉完毕后与( )的偏差不得大于5mm,且不得大于构件截面最短边长的4%。

A、设计位置 B、实际长度 C、标准值 D、计算长度

58.混凝土结构的四类环境是指( )。

A、室内正常环境

B、室内潮湿环境

C、海水环境

D、受人为和自然的侵蚀性物质影响的环境

59.当箍筋直径为6mm时,对用于抗震结构的箍筋长度调整值,量内皮尺寸时为( )。

A、74mm B、124mm C、134mm D、184mm

60.在短线钢模成批钢丝张拉工艺中,将冷拔低碳钢丝调直后按下料长度进行切断,并将钢丝的两端镦粗,制成后的长度偏差应( )。

A、不超过1% B、小于5mm C、不大于2mm D、不小于2%

61.当无粘结筋长度≤25m时,一般采用( )张拉。

A、单端 B、两端 C、分段 D、换向

62.摩阻型锚、夹具按其构造型式可分为( )和锥销式等几种型式。

A、锯齿式 B、压花式 C、镦头式 D、波浪式

63.( )构件的纵向受力钢筋不得采用绑扎搭接接头。

A、立柱 B、基础 C、轴心受拉 D、板

64.工程图上汉字的宽度与高度之比为2:3,5号字的字高为( )mm。

A、5 B、0.5 C、10 D、1

65.与千斤顶配套的高压油泵春季一般使用( )。

A、20号机油 B、10号甘油

C、0号柴油和一定量的水 D、低密度酒精

66.圆锥体置于三面投影体系中,使其( ),则H面的投影为一圆。

A、轴线垂直于V面 B、轴线垂直于H面

C、轴线垂直于V面,底面平行于V面 D、轴线平行于W面

67.形体分析法是根据基本体投影特性,在投影图上分析组合体各组成部分的( ),然后按投影规律综合想象出组合体的形状。

A、间隙和形状 B、相对位移

C、形状和相对位置 D、大小和位移

68.无粘结后张法的工艺特点之一是:无粘结预应力筋的强度一般不能充分发挥,约( ),且对锚具的要求较高。

A、提高15%~25% B、提高10%~30% C、降低1%~5% D、降低10%~20%

69.无粘结预应力筋由无粘筋、涂料层、( )组成。

A、导热层、外包层 B、隔热层、外包层

C、外包层 D、防锈层、外沿

70.在施工图中详图符号是用直径( )粗实线的圆来绘制,标注在详图的下方。

A、8mm B、10mm C、14mm D、16mm

71.( )张拉时,应预先调整初应力,以保证张拉时每根预应力筋的应力均匀一致,调

gl小说h段子楼主篇三

图形学第十一课--OpenGL特殊光处理

第十四章 OpenGL特殊光处理

目 录 14.1 光照模型 14.2 光源位置与衰减 14.3 聚光和多光源 14.4 光源位置与方向的控制 14.5 辐射光

本章内容是基础篇第七章的补充和提高。这一章主要讲述一些特殊光效果处理,如全局环境光、双面光照、光的衰减、聚光、多光源、光源位置的改变等等。读者若有兴趣,可以按照本章例程的方法作出许多变换,则会出现意想不到的效果,充分发挥你的艺术才能。

14.1、光照模型

OpenGL光照模型的概念由一下三部分组成:1)全局泛光强度、2)视点位置在景物附近还是在无穷远处、3)物体的正面和背面是否分别进行光照计算。

14.1.1 全局环境光

正如前面基础篇中所提到的一样,每个光源都能对一个场景提供环境光。此外,还有一个环境光,它不来自任何特定的光源,即称为全局环境光。下面用参数GL_LIGHT_MODEL_AMBIENT来说明全局环境光的RGBA强度:

GLfloat lmodel_ambient[]={0.2,0.2,0.2,1.0};

glLightModelfv(GLLIGHT_MODEL_AMBIENT,lmodel_ambient);

在这个例子中,lmodel_ambient所用的值为GL_LIGHT_MODEL_AMBIENT的缺省值。这些数值产生小量的白色环境光。

14.1.2 近视点与无穷远视点

视点位置能影响镜面高光的计算,也就是说,顶点的高光强度依赖于顶点法向量,从顶点到光源的方向和从顶点到视点的方向。实际上,调用光照函数并不能移动视点。但是可以对光照计算作出不同的假定,这样视点似乎移动了。对于一个无穷远视点,视点到任何顶点的方向保持固定,缺省时为无穷远视点。对于一个近视点,物体每个顶点到视点的方向是不同的,需要逐个计算,从而整体性能降低,但效果更真实。下面一句函数代码是假定为近视 点:

glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER,GL_TRUE);

这个调用把视点放在视点坐标系的原点处。若要切换到无穷远视点,只需将

参数GL_TRUE 改为GL_FALSE即可。

14.1.3 双面光照

光照计算通常是对所有多边形进行的,无论其是正面或反面。一般情况下,设置光照条件时总是正面多边形,因此不能对背面多边形进行正确地光照。在基础篇的第七章中的例子里,物体是一个球,只有正面多边形能看到,即球的外部可见,这种情况下不必考虑背面光照。若球被砍开,其内部的曲面是可见的,那么对内部多边形需进行光照计算,这时应该调用如下函数:

glLightModeli(LIGHT_MODEL_TWO_SIDE,GL_TRUE);

启动双面光照。实际上,这就是OpenGL给背面多边形定义一个相反的法向量(相对于正面多边形而言)。一般来说,这意味着可见正面多边形和可见反面多边形的法向量都面朝观察者,而不是向里,这样所有多边形都能进行正确的光照。关闭双面光照,只需将参数GL_TRUE改为GL_FALSE即可。

14.2、光源位置与衰减

在基础篇中已经提到过,光源有无穷远光源和近光源两种形式。无穷远光源又称作定向光源,即这种光到达物体时是平行光,例如现实生活中的太阳光。近光源又称作定位光源,光源在场景中的位置影响场景的光照效果,尤其影响光到达物体的方向。台灯是定位光源的范例。在以前所有与光照有关的例子里都采用的是定向光源,如:

GLfloat light_position[]={1.0,1.0,1.0,0.0};

glLightfv(GL_LIGHT0,GL_POSITION,light_position);

光源位置坐标采用的齐次坐标(x, y, z, w),这里的w为0,所以相应的光源是定向光,(x, y, z)描述光源的方向,这个方向也要进行模型变换。GL_POSITION的缺省值是(0.0, 0.0, 1.0, 0.0),它定义了一个方向指向Z负轴的平行光源。若w非零,光源为定位光源。(x, y, z, w)指定光源在齐次坐标系下的具体位置,这个位置经过模型变换等在视点坐标系下保存下来。

真实的光,离光源越远则光强越小。因为定向光源是无穷远光源,因此距离的变换对光强的影响几乎没有,所以定向光没有衰减,而定位光有衰减。OpenGL的光衰减是通过光源的发光量乘以衰减因子计算出来的。其中衰减因子在第十章表10-2中说明过。缺省状态下,常数衰减因子是1.0,其余两个因子都是0.0。用户也可以自己定义这些值,如:

glLightf(GL_LIGHT0,GL_CONSTANT_ATTENUATION,2.0);

glLightf(GL_LIGHT0,GL_LINEAR_ATTENUATION,1.0);

glLightf(GL_LIGHT0,GL_QUADRATIC_ATTENUATION,0.5);

注意:环境光、漫反射光和镜面光的强度都衰减,只有辐射光和全局环境光的强度不衰减。

14.3、聚光和多光源

14.3.1 聚光

定位光源可以定义成聚光灯形式,即将光的形状限制在一个圆锥内。OpenGL中聚光的定义有以下几步:

1)定义聚光源位置。因为聚光源也是定向光源,所以他的位置同一般定向光一样。如:

GLfloat light_position[]={1.0,1.0,1.0,1.0};

glLightfv(GL_LIGHT0,LIGHT_POSITION,light_position);

2)定义聚光截止角。参数GL_SPOT_CUTOFF给定光锥的轴与中心线的夹角,也可说成是光锥顶角的一半,如图14-1所示。缺省时,这个参数为180.0,即顶角为360度,光向所有的方向发射,因此聚光关闭。一般在聚光启动情况下,聚光截止角限制在[0.0, 90.0] 之间,如下面一行代码设置截止角为45度:

glLightf(GL_LIGHT0,GL_SPOT_CUTOFF,45.0);

3)定义聚光方向。聚光方向决定光锥的轴,它齐次坐标定义,其缺省值为(0.0, 0.0, -1.0),即指向Z负轴。聚光方向也要进行几何变换,其结果保存在视点坐标系中。它的定义如下:

GLfloat spot_direction[]={-1.0,-1.0,0.0};

glLightfv(GL_LIGHT0,GL_SPOT_DIRECTION,spot_direction);

4)定义聚光指数。参数GL_SPOT_EXPONENT控制光的集中程度,光锥中心的光强最大,越靠边的光强越小,缺省时为0。如:

glLightf(GL_LIGHT0,GL_SPOT_EXPONENT,2.0);

此外,除了定义聚光指数控制光锥内光强的分布,还可利用上一节所讲的衰减因子的设置来实现,因为衰减因子与光强相乘得最终光强值。

14.3.2 多光源及例程

在前面已提到过场景中最多可以设置八个光源(根据OpenGL的具体实现也许会更多一些)。在多光源情况下,OpenGL需计算每个顶点从每个光源接受的光强,这样会增加计算量,降低性能,因此在实时仿真中最好尽可能地减少光源数目。在前面都已讨论过八个光源的常数:GL_LIGHT0、GL_LIGHT1、…、LIGHT7,注意:GL_LIGHT0的参数缺省值与其它光源的参数缺省值不同。下面这段代码定义了红色的聚光:

GLfloat light1_ambient[]= { 0.2, 0.2, 0.2, 1.0 };

GLfloat light1_diffuse[]= { 1.0, 0.0, 0.0, 1.0 };

GLfloat light1_specular[] = { 1.0, 0.6, 0.6, 1.0 };

GLfloat light1_position[] = { -3.0, -3.0, 3.0, 1.0 };

GLfloat spot_direction[]={ 1.0,1.0,-1.0};

glLightfv(GL_LIGHT1, GL_AMBIENT, light1_ambient);

glLightfv(GL_LIGHT1, GL_DIFFUSE, light1_diffuse);

glLightfv(GL_LIGHT1, GL_SPECULAR,light1_specular);

glLightfv(GL_LIGHT1, GL_POSITION,light1_position);

glLightf (GL_LIGHT1, GL_SPOT_CUTOFF, 30.0);

glLightfv(GL_LIGHT1, GL_SPOT_DIRECTION,spot_direction);

glEnable(GL_LIGHT1);

// 这段代码描述的是一个红色的立方体,用它来代表所定义的聚光光源 // // 可加到程序的函数display()中去。 //

glPushMatrix();

glTranslated (-3.0, -3.0, 3.0);

glDisable (GL_LIGHTING);

glColor3f (1.0, 0.0, 0.0);

auxWireCube (0.1);

glEnable (GL_LIGHTING);

glPopMatrix ();

//////////////////////////////////////////////////////////////////

将这些代码加到基础篇第十章光照的例程(light2.c)中去:

例14-1 聚光和多光源运用例程(spmulght.c)

#include <windows.h>

#include <math.h>

#include <gl/gl.h>

#include <gl/glut.h>

#include <GL/glaux.h>

/* 初始化光源、材质等 */

void myInit (void)

{

GLfloat mat_ambient[]= { 0.2, 0.2, 0.2, 1.0 };

GLfloat mat_diffuse[]= { 0.8, 0.8, 0.8, 1.0 };{gl小说h段子楼主}.

GLfloat mat_specular[] = { 1.0, 1.0, 1.0, 1.0 };

GLfloat mat_shininess[] = { 50.0 };

GLfloat light0_diffuse[]= { 0.0, 0.0, 1.0, 1.0};

GLfloat light0_position[] = { 1.0, 1.0, 1.0, 0.0 };

GLfloat light1_ambient[]= { 0.2, 0.2, 0.2, 1.0 };

GLfloat light1_diffuse[]= { 1.0, 0.0, 0.0, 1.0 };

GLfloat light1_specular[] = { 1.0, 0.6, 0.6, 1.0 };

GLfloat light1_position[] = { -3.0, -3.0, 3.0, 1.0 };

GLfloat spot_direction[]={ 1.0,1.0,-1.0};

glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient);

glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);

glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);

glMaterialfv(GL_FRONT, GL_SHININESS,mat_shininess);

glLightfv(GL_LIGHT0, GL_DIFFUSE, light0_diffuse);

glLightfv(GL_LIGHT0, GL_POSITION,light0_position);

glLightfv(GL_LIGHT1, GL_AMBIENT, light1_ambient);

glLightfv(GL_LIGHT1, GL_DIFFUSE, light1_diffuse);

glLightfv(GL_LIGHT1, GL_SPECULAR,light1_specular);

glLightfv(GL_LIGHT1, GL_POSITION,light1_position);

glLightf (GL_LIGHT1, GL_SPOT_CUTOFF, 30.0);

glLightfv(GL_LIGHT1, GL_SPOT_DIRECTION,spot_direction);

glEnable(GL_LIGHTING);

glEnable(GL_LIGHT0);

glEnable(GL_LIGHT1);

glDepthFunc(GL_LESS);

glEnable(GL_DEPTH_TEST);

}

void myReshape(GLsizei w,GLsizei h)

{

glViewport(0, 0, w, h);

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

if (w <= h)

glOrtho (-5.5, 5.5, -5.5*(GLfloat)h/(GLfloat)w,

5.5*(GLfloat)h/(GLfloat)w,-10.0, 10.0);

else

gl小说h段子楼主篇四

钢结构中GJ\GL\GZ\XG\SC\YC\ZC\LT\GZL\GXL\CG代表含义

钢结构中GJ\GL\GZ\XG\SC\YC\ZC\LT\GZL\GXL\CG代表含义 来源: 郁向娟的日志

GJ钢架

GL钢架梁或GJL钢架梁

GZ钢架柱或GJZ钢架柱

XG系杆

SC水平支撑

YC隅撑

ZC柱间支撑

LT檩条

TL托梁

QL墙梁

GLT刚性檩条

WLT屋脊檩条

GXG刚性系杆

YXB压型金属板

SQZ山墙柱

XT斜拉条

MZ门边柱

ML门上梁

T拉条

CG撑杆

HJ桁架

FHB复合板

YG:压杆或是圆管(从材料表中分别)

XG:系杆

LG:拉管

QLG:墙拉管

QCG:墙撑管

GZL直拉条

GXL斜拉条

GJ30-1跨度为30m的门式刚架,编号为1号

3钢结构设计图

1)设计说明:设计依据、荷载资料、项目类别、工程概况、所用钢材牌号和质量等级(必要时提出物理、力学性能和化学成份要求)及连接件的型号、规格、焊缝质量等级、防腐及防火措施;

2)基础平面及详图应表达钢柱与下部混凝土构件的连结构造详图;

3)结构平面(包括各层楼面、屋面)布置图应注明定位关系、标高、构件(可布置单线绘制)的位置及编号、节点详图索引号等;必要时应绘制檩条、墙梁布置图和关键剖面图;空间网架应绘制上、下弦杆和关键剖面图;

4)构件与节点详图

a)简单的钢梁、柱可用统一详图和列表法表示,注明构年钢材牌号、尺寸、规格、加劲肋做法,连接节点详图,施工、安装要求。

b)格构式梁、柱、支撑应绘出平、剖面(必要时加立面)、与定位尺寸、总尺寸、分尺寸、分尺寸、注明单构件型号、规格,组装节点和其他构件连接详图。

4钢结构施工详图

根据钢结构设计图编制组成结构构件的每个零件的放大图,标准细部尺寸、材质

要求、加工精度、工艺流程要求、焊缝质量等级等,宜对零件进行编号;并考虑运输和安装能力确定构件的分段和拼装节点。

《常用用术语》

钢结构:是由钢板、型钢、冷弯薄壁型钢等通过焊接或螺栓连接所组成的结构。

钢结构的特点:轻质高强;塑性、韧性好;各向同性,性能稳定;可焊性;不易渗漏;耐热但不耐火;耐腐蚀性差;制造简便,施工周期短。

塑性:承受静力荷载时,材料吸收变形能的能力。塑性好,会使结构一般情况下不会由于偶然超载而突然断裂,给人以安全保障。

结构设计的目的:是保证所设计的结构和结构构件在施工和工作过程中能满足各种预定功能要求并具有适当的可靠性。

注明钢构件,我在算量的时候再讲什么是支承呀,什么是斜承呀什么的,哈哈

钢结构通常有框架、平面桁架、网架(壳)、索膜、轻钢、塔桅等结构形式。

其理论与技术大都成熟。亦有部分难题没有解决,或没有简单实用的设计方法,比如网壳的稳定等。

结构选型时,应考虑不同结构形式的特点。在工业厂房中,当有较大悬挂荷载或大范围移动荷载,就可考虑放弃门式刚架而采用网架。基本雪压大的地区,屋面曲线应有利于积雪滑落(切线50度外不需考虑雪载),如亚东水泥厂石灰石仓棚采用三心圆网壳,总雪载和坡屋面相比释放近一半。降雨量大的地区相似考虑。建筑允许时,在框架中布置支撑会比简单的节点刚接的框架有更好的经济性。而屋面覆盖跨度较大的建筑中,可选择构件受拉为主的悬索或索膜结构体系。高层钢结构设计中,常采用钢混凝土组合结构,在地震烈度高或很不规则的高层中,

不应单纯为了经济去选择不利抗震的核心筒加外框的形式。宜选择周边巨型SRC柱,核心为支撑框架的结构体系。我国半数以上的此类高层为前者,对抗震不利。

结构的布置要根据体系特征,荷载分布情况及性质等综合考虑.一般的说要刚度均匀.力学模型清晰.尽可能限制大荷载或移动荷载的影响范围,使其以最直接的线路传递到基础.柱间抗侧支撑的分布应均匀.其形心要尽量靠近侧向力(风、震)的作用线.否则应考虑结构的扭转.结构的抗侧应有多道防线.比如有支撑框架结构,柱子至少应能单独承受1/4的总水平力.

框架结构的楼层平面次梁的布置,有时可以调整其荷载传递方向以满足不同的要求。通常为了减小截面沿短向布置次梁,但是这会使主梁截面加大,减少了楼层净高,顶层边柱也有时会吃不消,此时把次梁支撑在较短的主梁上可以牺牲次梁保住主梁和柱子.

构件设计首先是材料的选择.

比较常用的是Q235和Q345.当强度起控制作用时,可选择Q345;稳定控制时,宜使用Q235.通常主结构使用单一钢种以便于工程管理.经济考虑,也可以选择不同强度钢材的焊接组合截面(翼缘Q345,腹板Q235).另外,焊接结构宜选择Q235B或Q345B。

节点设计

1.焊接:对焊接焊缝的尺寸及形式等,规范有强制规定,应严格遵守.焊条的选用应和被连接金属材质适应.E43对应Q235,E50对应Q345.Q235与Q345连接时,应该选择低强度的E43,而不是E50.

焊接设计中不得任意加大焊缝.焊缝的重心应尽量与被连接构件重心接近.其他详

gl小说h段子楼主由美文导刊网(www.eorder.net.cn)收集整理,转载请注明出处!原文地址http://www.eorder.net.cn/duanzi174345/

文章评论
Copyright © 2006 - 2016 www.eorder.net.cn All Rights Reserved
美文导刊网 版权所有