OpenGL 中常用的 GLUT 函数库

OpenGL 中常用的 GLUT 函数库
OpenGL 中常用的 GLUT 函数库

OpenGL 中常用的GLUT 函数库

GLUT函数说明

一、初始化

void glutInit(int* argc,char** argv)

这个函数用来初始化GLUT库。对应main 函数的形式应是:int main(int argc,char* argv[]);

这个函数从main 函数获取其两个参数。

1void glutInitWindowSize(int width,int height);2void

glutInitWindowPosition(int x,int y);

设置glut程序要产生的窗口的大小和位置(左上角)。以像素为单位。

void glutInitDisplayMode(unsigned int mode);

设置图形显示模式。参数mode的可选值为:

?GLUT_RGBA:当未指明GLUT-RGBA或GLUT-INDEX时,是默认使用的模式。表明欲建立RGBA模式的窗口。

?GLUT_RGB:与GLUT-RGBA作用相同。

?GLUT_INDEX:指明为颜色索引模式。

?GLUT_SINGLE:只使用单缓存

?GLUT_DOUBLE:使用双缓存。以避免把计算机作图的过程都表现出来,或者为了平滑地实现动画。

?GLUT_ACCUM:让窗口使用累加的缓存。

?GLUT_ALPHA:让颜色缓冲区使用alpha组件。

?GLUT_DEPTH:使用深度缓存。

?GLUT_STENCIL:使用模板缓存。

?GLUT_MULTISAMPLE:让窗口支持多例程。

?GLUT_STEREO:使窗口支持立体。

GLUT_LUMINACE: luminance是亮度的意思。但是很遗憾,在多数Ope nGL平台上,不被支持。

二、事件处理(Event Processing)

void glutMainLoop(void)

让glut 程序进入事件循环。在一个glut程序中最多只能调用一次。一旦调用,会直到程序结束才返回。

三、窗口管理(Window Management)

int glutCreateWindow(char* name);

产生一个顶层的窗口。name 作为窗口的名字,也就是窗口标题栏显示的内容。

返回值是生成窗口的标记符,可用函数glutGetWindow()加以引用。

int glutCreateSubWindow(int win,int x,int y,int width,int height);

创建一个子窗口。win是其父窗口的标记符。x,y是相对父窗口的位移,以像素表示。width,height是子窗口的宽和高。

void glutSetWindow(int win);int glutGetWindow(void);

功能分别是:设置标记符为win的窗口为当前窗口;返回当前窗口的标记符。

void glutDestroyWindow(int win);

销毁以win 标记的窗口。

void glutPostRedisplay(void);

将当前窗口打上标记,标记其需要再次显示。

void glutSwapBuffers(void);

当窗口模式为双缓存时,此函数的功能就是把后台缓存的内容交换到前台显示。当然,只有单缓存时,使用它的功能跟用glFlush()一样。

而使用双缓存是为了把完整图画一次性显示在窗口上,或者是为了实现动画。

void glutPositionWindow(int x,int y);

改变当前窗口的位置:当前窗口是顶层窗口时,x,y是相对于屏幕的的位移;当前窗口若是子窗口时,x,y是相对其父窗口原点的位移。

void glutReshapeWindow(int width,int height);

改变当前窗口的大小。

width,height是当前窗口新的宽度和高度值,当然只能是正值。

void glutFullscreen(void);

让当前窗口全屏显示。当前窗口是顶层窗口时才有效。

void glutPopWindow(void);void glutPushWindow(void);

对顶层窗口和子窗口均有效。改变当前窗口在栈中相对于其它窗口的次序。

void glutShowWindow(void);void glutHideWindow(void);void

glutIconifyWindow(void);

这三个函数作用是改变当前窗口的显示状态。

glutShowWindow让当前窗口可视(这时它还是可能被其它窗口挡住)。glutHideWindow让当前窗口成为不可视状态。

glutIconifyWindow让当前窗口成为一个图标,也即是最小化。

void glutSetWindowTitle(char* name);

void glutSetIconTitle(char* name);

设置当前窗口(必须是顶层窗口)的标题和图标化时的标题。

void glutSetCursor(int cursor);

设置当前窗口的光标样式。

cursor可选值有许多:如GLUT_CURSOR_RIGHT_ARROW指向右边的光标,GLUT_CURSOR_LEFT_ARROW指向左边的光标,GLUT_CURSOR_INFO成为手状。GLUT_CURSOR_DESTROY呈叉状,GLUT_CURSOR_HELP呈现问号的形状。等等。

四、窗口的覆盖管理

void glutEstablishOverlay(void);

对当前窗口创建覆盖图层。该覆盖图的模式由初始化显示模式函数glutDisplayMode()决定。

glutLayerGet(GLUT_OVERLAY_POSSIBLE); // 可用以设置对于当前窗口,是否允许产生由初始化显示模式函数规定其模式的覆盖图层。

void glutUserLayer(GLenum layer);

枚举量layer可选值为:GLUT_NORMAL,GLUT_OVERLAY.分别选取正常位平面或覆盖平面。

void glutRemoveLayer(void);

除去覆盖图。当没有覆盖图层时,调用这条语句也是安全的,这时系统不做任何事。

void glutPostOverlayRedisplay(void);

标记该覆盖图层为需要重新显示的状态。

void glutShowOverlay(void);void glutHideOverlay(void);

显示当前窗口的覆盖图层;隐藏覆盖图层。这两条语句即时执行。注意一下,只有窗口可视时,使用glutShowOverlay才能使其覆盖图层可视。当窗口被其他窗口遮挡时,其覆盖图层也被遮挡从而不可视。

五、菜单管理

int glutCreateMenu(void (*func)(int value))

当点击菜单时,调用回调函数func,value为传递给回调函数的数值,它由所选择的菜单条目对应的整数值所决定。

这个函数创建一个新的弹出式菜单,并返回一个唯一的标识次菜单的整型标识符,并将新建的弹出菜单与func函数关联在一起,这样,当选择此菜单中的一个菜单条目时,调用回调函数func.

void glutSetMenu(int menu);int glutGetMenu(void);

设置当前菜单;获取当前菜单的标识符

void glutDestroyMenu(int menu);

删除指定的菜单

void glutAddMenuEntry(char* name, int value);

添加一个菜单条目

void glutAddSubMenu(char* name, int menu);

在当前菜单的底部增加一个子菜单的触发条目

void glutChangeToMenuEntry(int entry, char* name, int value);

更改当前菜单中指定菜单项

void glutChangeToSubMenu(int entry, char* name, int menu);

将指定的当前菜单中菜单项变为子菜单触发条目

void glutRemoveMenuItem(int entry);

删除指定的菜单项

void glutAttachMenu(int button);void glutDetachMenu(int button);

把当前窗口的一个鼠标按键与当前菜单关联起来;解除鼠标按键与弹出式菜单的关联关系。

六、注册回调

void glutDisplayFunc(void (*func)(void) );

为当前窗口设置显示回调函数

void glutOverlayDisplayFunc(void (*func)(void) );

注册当前窗口的重叠层的显示回调函数

void glutReshapeFunc(void (*Func)(int width, int height) );

指定当窗口的大小改变时调用的函数

void glutKeyboardFunc(void (*func) (unsigned char key, int x, int y) );

注册当前窗口的键盘回调函数

void glutMouseFunc(void (*func) (int button, int state, int x, int y));

注册当前窗口的鼠标回调函数

func为注册的鼠标回调函数,这个函数完成鼠标事件的处理

button为鼠标的按键,为以下定义的常量:

GLUT_LEFT_BUTTON 鼠标左键

GLUT_MIDDLE_BUTTON 鼠标中键

GLUT_RIGHT_BUTTON 鼠标右键

state为鼠标按键的动作,为以下定义的常量:

GLUT_UP 鼠标释放

GLUT_DOWN 鼠标按下

x,y为鼠标按下式,光标相对于窗口左上角的位置

void glutMotionFunc(void(*func)(int x, int y));void glutPassiveMotionFunc(void (*func)(int x, int y));

设置移动回调函数;设置当前鼠标移动函数

Func为注册的鼠标移动函数

x,y为鼠标按下式,光标相对于窗口左上角的位置

当鼠标在窗口中按下并移动时调用glutMotionFunc注册的回调函数

当鼠标在窗口中移动时调用glutPassiveMotionFunc注册的回调函数

void glutVisibilityFunc(void (*func) (int state) );

设置当前窗口的可视回调函数

Func为指定的可视回调函数

state表示窗口的可视性,为以下常量:

GLUT_NOT_VISIBLE 窗口完全不可见

GLUT_VISIBLE 窗口可见或部分可见

这个函数设置当前窗口的可视回调函数,当窗口的可视性改变时,该窗口的可视回调函数被调用.只要窗口中的任何一个像素是可见的,或者他的任意一个子窗口中任意一个像素是可见的,GLUT则认为窗口是可见的.

void glutEntryFunc(void (*func) (int state));

设置鼠标的进出窗口的回调函数

Func为注册的鼠标进出回调函数

state为鼠标的进出状态,为以下常量之一:

GLUT_LEFT 鼠标离开窗口

GLUT_RIGHT 鼠标进入窗口

当窗口取得焦点或失去焦点时调用这个函数,当鼠标进入窗口区域并点击时,state为GLUT_RIGHT,当鼠标离开窗口区域点击其他窗口时,state为GLUT_LEFT.

void glutSpecialFunc(void (*func) (int key, int x, int y))

设置当前窗口的特定键的回调函数

Func为注册的特定键的回调函数

key为按下的特定键,为以下定义的常量:

key常量描述

GLUT_KEY_F1 F1功能键

GLUT_KEY_F2 F2功能键

GLUT_KEY_F3 F3功能键

GLUT_KEY_F4 F4功能键

GLUT_KEY_F5 F5功能键

GLUT_KEY_F6 F6功能键

GLUT_KEY_F7 F7功能键

GLUT_KEY_F8 F8功能键

GLUT_KEY_F9 F9功能键

GLUT_KEY_F10 F10功能键

GLUT_KEY_F11 F11功能键

GLUT_KEY_F12 F12功能键

GLUT_KEY_LEFT 左方向键

GLUT_KEY_UP 上方向键

GLUT_KEY_RIGHT 右方向键

GLUT_KEY_DOWN 下方向键

GLUT_KEY_PAGE_UP PageUp键

GLUT_KEY_PAGE_DOWN PageDown键

GLUT_KEY_HOME Home键

GLUT_KEY_END End键

GLUT_KEY_INSERT Insert键

x,y为当按下键时鼠标的坐标,相对于窗口左上角,以像素为单位

注意:ESC,回车和delete键由ASCII码产生.

void glutMenuStatusFunc(void (*func) (int status, int x, int y));

设置菜单状态回调函数

func是注册的菜单状态回调函数

status是当前是否使用菜单,为以下定义的常量:

GLUT_MENU_IN_USE 菜单正在使用

GLUT_MENU_NOT_IN_USE 菜单未被使用

x,y是鼠标按下式,光标相对于窗口左上角的位置

这个函数时glut程序判定是否正在使用菜单,当弹出菜单时,调用注册的菜单状态回调函数,同时status设置为常量GLUT_MENU_IN_USE, 当菜单使用完毕时,也调用菜单状态回调函数,此时status变量变为GLUT_MENU_NOT_IN_USE.从已弹出的菜单中再弹出的菜单不产生菜单状态回调过程.每个glut程序只有一个菜单状态回调函数.

glutSpaceballRotateFunc

glutSpaceballButtonFunc

glutButtonBoxFunc

glutDialsFunc

glutTabletMotionFunc

glutTabletButtonFunc

void glutMenuStatusFunc(void (*func) (int status, int x, int y));

设置菜单状态回调函数

func为注册的菜单状态回调函数

status表示当前是否使用菜单,为以下定义的常量:

GLUT_MENU_IN_USE 菜单正在使用

GLUT_MENU_NOT_IN_USE 菜单未被使用

x,y表示鼠标按下式,光标相对于窗口左上角的位置

这个函数时glut程序判定是否正在使用菜单,当弹出菜单时,调用注册的菜单状态回调函数,同时status设置为常量GLUT_MENU_IN_USE, 当菜单使用完毕时,也调用菜单状态回调函数,此时status变量变为GLUT_MENU_NOT_IN_USE.从已弹出的菜单中再弹出的菜单不产生菜单状态回调过程.每个glut程序只有一个菜单状态回调函数.

void glutIdleFunc(void (*func) (void));

设置空闲回调函数

func表示当系统空闲时调用的函数,它的形式为void func(void)

void glutTimerFunc(unsigned int msecs, void (*Func)(int value), int value);

注册一个回调函数,当指定时间值到达后,由GLUT调用注册的函数一次

msecs是等待的时间

Func是注册的函数

value是指定的一个数值,用来传递到回调函数Func中

这个函数注册了一个回调函数,当指定的毫秒数到达后,这个函数就调用注册的函数,value 参数用来向这个注册的函数中传递参数。

七、色彩管理(未完成)

glutSetColor

glutGetColor

glutCopyColormap

八、状态检索

int glutGet(GLenum state);

检索指定的GLUT状态

state为指定要检索的状态类型,为以下常量:

state常量描述

GLUT_WINDOW_X 当前窗口的x坐标,以像素为单位

GLUT_WINDOW_Y 当前窗口的y坐标,以像素为单位

GLUT_WINDOW_WIDTH 当其窗口的宽度,以像素为单位

GLUT_WINDOW_HEIGHT 当前窗口的高度,以像素为单位

GLUT_WINDOW_BUFFER_SIZE 当前窗口中,颜色分量占用的位数,即用多少bit表示颜色分量

GLUT_WINDOW_STENCIL_SIZE 当前窗口中,蒙板分量占用的位数,即用多少bit表示蒙板分量

GLUT_WINDOW_DEPTH_SIZE 当前窗口中,深度分量占用的位数,即用多少bit表示深度分量

GLUT_WINDOW_RED_SIZE 当前窗口中,红色分量占用的位数,即用多少bit表示红色分量

GLUT_WINDOW_GREEN_SIZE 当前窗口中,绿色分量占用的位数,即用多少bit表示绿色分量

GLUT_WINDOW_BLUE_SIZE 当前窗口中,蓝色分量占用的位数,即用多少bit表示蓝色分量

GLUT_WINDOW_ALPHA_SIZE 当前窗口中,alpha色分量占用的位数,即用多少bit 表示alpha色分量

GLUT_WINDOW_ACCUM_RED_SIZE 当前窗口累积缓存中,红色分量占用的位数,即用多少bit表示红色分量

GLUT_WINDOW_ACCUM_GREEN_SIZE 当前窗口累积缓存中,绿色分量占用的位数,即用多少bit表示绿色分量

GLUT_WINDOW_ACCUM_BLUE_SIZE 当前窗口累积缓存中,蓝色分量占用的位数,即用多少bit表示蓝色分量

GLUT_WINDOW_ACCUM_ALPHA_SIZE 当前窗口累积缓存中,alpha色分量占用的位数,即用多少bit表示alpha色分量

GLUT_WINDOW_DOUBLEBUFFER 如果窗口式双缓存模式,返回1,否则返回0 GLUT_WINDOW_RGBA 如果窗口是RGBA模式,返回1,否则返回0

GLUT_WINDOW_PARENT 查询当前窗口的父窗口个数,如果为顶层窗口返回0 GLUT_WINDOW_NUM_CHILDREN 查询当前窗口的子窗口个数

GLUT_WINDOW_NUM_SAMPLES 查询多重采样的采样点个数

GLUT_WINDOW_STEREO 查询是否使用立体模式,是则返回1,否则返回0 GLUT_WINDOW_CURSOR 返回光标的整数标示

GLUT_SCREEN_HEIGHT 屏幕的高度,以像素为单位

GLUT_SCREEN_WIDTH 屏幕的宽度,以像素为单位

GLUT_SCREEN_WIDTH_MM 屏幕的宽度,以毫米为单位

GLUT_SCREEN_HEIGHT_MM 屏幕的高度,以毫米为单位

GLUT_MENU_NUM_ITEMS 查询当前菜单包含的菜单项的个数

GLUT_DISPLAY_MODE_POSSIBLE 查询窗口系统是否支持当前的显示模式,1表示支持,0表示不支持

GLUT_INIT_DISPLAY_MODE 初始窗口的显示模式

GLUT_INIT_WINDOW_X 初始窗口的x坐标

GLUT_INIT_WINDOW_Y 初始窗口的y坐标

GLUT_INIT_WINDOW_WIDTH 初始窗口的宽度

GLUT_INIT_WINDOW_HEIGHT 初始窗口的高度

GLUT_ELAPSED_TIME 返回两次调用glutGet(GLUT_ELAPSED_TIME)的时

间间隔,单位为毫秒

返回值根据查询的内容返回相应的值,无效的状态名返回-1. int glutLayerGet(GLenum info);

查询属于当前窗口的重叠层的状态

Info表示查询的重叠层状态常量:

GLUT_OVERLAY_POSSIBLE

在给定的初始显示模式下,能否为当前窗口创建重叠层.如果能,返回1;如果不能,返回0

GLUT_LAYER_IN_USE

返回当前的使用层,为GLUT_NORMAL或GLUT_OVERLAY

GLUT_HAS_OVERLAY 判断当前窗口是否创建了重叠层

GLUT_NORMAL_DAMAGED

如果当前窗口的图像层在上一次显示回调函数调用后已经破坏,则返回TRUE

GLUT_OVERLAY_DAMAGED

如果当前窗口的重叠层在上一次显示回调函数调用后已经破坏,则返回TRUE

int glutDeviceGet(GLenum info);

检索设备信息

info为要检索的设备信息的名字,为以下常量:

GLUT_HAS_KEYBOARD 如果键盘可用,返回非0值,否则,返回0

GLUT_HAS_MOUSE 如果鼠标可用,返回非0值,否则,返回0

GLUT_NUM_MOUSE_BUTTONS 返回鼠标支持的按键数,如果鼠标不可用,返回0 返回值0表示检索的设备不存在,非0表示设备可用

int glutGetModifiers(void);

返回组合功能键的状态

返回值为以下定义的常量:

GLUT_ACTIVE_SHIFT 当按下shift键时

GLUT_ACTIVE_CTRL 当按下ctrl键时

GLUT_ACTIVE_ALT 当按下alt键时

int glutExtensionSupported(char* extension);

判定是否支持特定的OpenGL扩展。

extension是指定要测试的OpenGL扩展的名称

如果给定扩展获得支持,函数返回非0,否则返回0。

九、实体绘制

以下所有函数中,radius表示球体的半径,slices表示球体围绕z轴分割的数目(经线),stacks表示球体沿着z轴分割的数目(纬线)。

绘制中心在模型坐标原点,半径为radius的球体,球体围绕z轴分割slices次,球体沿着z轴分割stacks次

void glutWireSphere(GLdouble radius, GLint slices, GLint stacks); 线框球void glutSolidSphere(GLdouble radius, GLint slices, GLint stacks); 实心球

void glutWireCube(GLdouble size); 线框立方体void glutSolidCube(GLdouble size); 实心立方体

void glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint nsides, GLint rings); 线框圆环void glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint nsides, GLint rings); 实心圆环

void glutWireIcosahedron(void); 线框20面体void glutSolidIcosahedron(void); 实心20面体

void glutWireOctahedron(void); 线框8面体void glutSolidOctahedron(void); 实心8面体

void glutWireTetrahedron(void); 线框4面体void glutSolidTetrahedron(void); 实心4面体

void glutWireDodecahedron(GLdouble radius); 线框12面体void

glutSolidDodecahedron(GLdouble radius); 实心12面体

void glutWireCone(GLdouble radius, GLdouble height, GLint slices, GLint stacks); 线框圆锥体void glutSolidCone(GLdouble radius, GLdouble height, GLint slices, GLint stacks); 实心圆锥体

void glutWireTeapot(GLdouble size); 线框茶壶void glutSolidTeapot(GLdouble size); 实心茶壶

VF常用函数列表

VF常用函数列表数值函数: 1.绝对值和符号函数 格式:ABS(<数值表达式>) SIGN(<数值表达式>) 例如:ABS(-5)=5,ABS(4)=4,SIGN(8)=1,SIGN(-3)=-1,SIGN(0)=0 2.求平方根表达式 格式:SQRT(<数值表达式>) 例如:SQRT(16)=4,它与开二分之一次方等同。 3.圆周率函数 格式:PI() 4.求整数函数 格式:INT(<数值表达式>)返回数值表达式的整数部分 CEILING(<数值表达式>)返回大于或等于表达式的最小整数FLOOR(<数值表达式>)返回小于或等于表达式的最大整数 例如: INT(5.8)=5.8,INT(-7.8)=-7,CEILING(6.4)=7,CEILING(-5.9)=-5 FLOOR(9.9)=9 5.四舍五入函数 格式:ROUND(<数值表达式1>,<数值表达式2>) 功能:返回制定表达式在制定位置四舍五入的结果 例如:

ROUND(345.345,2)=345.35,ROUND(345.345,1)=345.3,ROUND(345.345,0)=345,ROUND(345.345,-1)=350 6.求余函数 格式:MOD(<数值表达式1>,<数值表达式2>) 例如: MOD(10,3)=1 MOD(10,-3)=-2 MOD(-10,3)=2 MOD(-10,-3)=-1 求余数的规律:1.首先按照两数的绝对值求余 2.表达式1的绝对值大于表达式2的绝对值,则余数为表达式1的值 3.余数取表达式1的正负号 4.若两数异好号,余数在加上表达式2的值为最终的结果 7. 求最大值和最小值函数 MAX(数值表达式列表) MIN (数值表达式列表) 例如:MAX(2,3,5)=5 MAX(…2?,?12?,?05?)=2 MAX(…汽车?,?飞机?,?轮船?) 字符串比较的规律: 字符串比较首先比较第一个字母,如果有结果那就不用在进行比较了。如果相等在进行第二个字母的比较,以次类推。 字符函数 1.求字符串长度函数 格式:LEN(<字符表达式>) 功能:返回制定字符表达式的长度,即所包含的字符个数。函数值为数值型 例如:X=“中文Visual FoxPro6.0” 则LEN(X)=20 2.大小写转换函数

OPenGL的基本程序结构

O p enGL的基本程序结构 常用的程序设计语言,如C、C++、Pascal、Fortran和Java等,都支持OpenGL的开发。这里只讨论C版本下OpenGL的语法。 程序的基本结构 OpenGL程序的基本结构可分为三个部分: 第一部分是初始化部分。主要是设置一些OpenGL的状态开关,如颜色模式(RGBA或ALPHA)的选择,是否作光照处理(若有的话,还需设置光源的特性),深度检验,裁剪等等。这些状态一般都用函数glEnable(???), glDisable(???)来设置,???表示特定的状态。 第二部分设置观察坐标系下的取景模式和取景框位置大小。主要利用了三个函数: 函数void glViewport(left,top,right,bottom):设置在屏幕上的窗口大小,四个参数描述屏幕窗口四个角上的坐标(以象素表示); 函数void glOrtho(left,right,bottom,top,near,far):设置投影方式为正交投影(平行投影),其取景体积是一个各面均为矩形的六面体; 函数void gluPerspective(fovy,aspect,zNear,zFar):设置投影方式为透视投影,其取景体积是一个截头锥体。

第三部分是OpenGL的主要部分,使用OpenGL的库函数构造几何物体对象的数学描述,包括点线面的位置和拓扑关系、几何变换、光照处理等等。 以上三个部分是OpenGL程序的基本框架,即使移植到使用MFC的Windows程序中,也是如此。只是由于Windows自身有一套显示方式,需要进行一些必要的改动以协调这两种不同显示方式。 OpenGL基本函数均使用gl作为函数名的前缀,如glClearColor();实用函数则使用glu作为函数名的前缀,如gluSphere()。 OpenGL基本常量的名字以GL_开头,如GL_LINE_LOOP;实用常量的名字以GLU_开头,如GLU_FILL。一些函数如glColor* ()(定义颜色值),函数名后可以接不同的后缀以支持不同的数据类型和格式。如glColor3b(...)、glColor3d(...)、 glColor3f(...)和 glColor3bv(...)等,这几个函数在功能上是相似的,只是适用于不同的数据类型和格式,其中3表示该函数带有三个参数,b、d、f分别表示参数的类型是字节型、双精度浮点型和单精度浮点型,v则表示这些参数是以向量形式出现的。 OpenGL定义了一些特殊标识符,如GLfloat,GLvoid。它们其实就是C中的 float和void。在gl.h文件中可以看到以下定义: …… typedef float GLfloat; typedef void GLvoid; ……

Excel中常用函数列表

数据库函数: DA VERAGE 返回选择的数据库条目的平均值 DCOUNT 计算数据库中包含数字的单元格个数 DCOUNTA 计算数据库中的非空单元格 DGET 从数据库提取符合指定条件的单个记录 DMAX 返回选择的数据库条目的最大值 DMIN 返回选择的数据库条目的最小值 DPRODUCT 将数据库中符合条件的记录的特定字段中的值相乘DSTDEV 基于选择的数据库条目的样本估算标准偏差DSTDEVP 基于选择的数据库条目的总体计算标准偏差 DSUM 将数据库中符合条件的记录的字段列中的数字相加 DV AR 基于选择的数据库条目的样本估算方差 DV ARP 基于选择的数据库条目的样本总体计算方差GETPIVOTDATA 返回存储在数据透视表中的数据 日期与时间函数 DA TE 返回特定日期的序列号 DA TEV ALUE 将文本格式的日期转换为序列号 DAY 将序列号转换为月的日期 DAYS360 计算基于一年 360 天的两个日期间的天数 EDATE 返回用于表示开始日期之前或之后月数的日期的序列号EOMONTH 返回指定个数月之前或之后的月的末日的序列号HOUR 将序列号转换为小时 MINUTE 将序列号转换为分钟 MONTH 将序列号转换为月 NETWORKDAYS 返回两个日期之间的所有工作日个数 NOW 返回当前日期和时间的序列号 SECOND 将序列号转换为秒 TIME 返回特定时间的序列号 TIMEV ALUE 将文本格式的时间转换为序列号 TODAY 返回今天日期的序列号 WEEKDAY 将序列号转换为一星期的某天 WEEKNUM 将序列号转换为代表该星期为一年中的第几周的数字WORKDAY 返回指定个数工作日之前或之后日期的序列号

OpenGL的库函数介绍

OpenGL的库函数介绍 开发基于OpenGL的应用程序,必须先了解OpenGL的库函数。 OpenGL库函数的命名方式非常有规律。所有OpenGL函数采用了以下格式: <库前缀><根命令><可选的参数个数><可选的参数类型> 库前缀有gl、glu、aux、glut、wgl、glx、agl等等,分别表示该函数属于OpenGL那个开发库。从函数名后面中还可以看出需要多少个参数以及参数的类型。I代表int型,f代表float型,d代表double型,u代表无符号整型。例如:glVertex3fv()表示了该函数属于gl库,参数是三个float型参数指针。我们用glVertex*() 来表示这一类函数。 OpenGL函数库相关的API有核心库(gl)、实用库(glu)、辅助库(aux)、实用工具库(glut)、窗口库(glx、agl、wgl)和扩展函数库等。从下图可以看出,核心库(gl)是核心,实用库(glu)是对gl的部分封装。窗口库(glx、agl、wgl)是针对不同窗口系统的函数。实用工具库(glut)是跨平台的OpenGL程序的工具包,比aux功能强大。扩展函数库是硬件厂商为实现硬件更新利用OpenGL的扩展机制开发的函数。下面逐一对这些库进行详细介绍。 1.OpenGL核心库(GL) 核心库包含有115个函数,函数名的前缀为gl。这部分函数用于常规的、核心的图形处理。由于许多函数可以接收不同数据类型的参数,因此派生出来的函数原形多达300多个。核心库在Windows平台上的头文件为“GL.H”,库文件为“OPENGL32.LIB”,动态链接库为“OPENGL32.DLL”。核心库可以在所有的OpenGL平台上运行。 核心库中的函数主要分为以下几类: ●基本几何图元的绘制函数:glBegain()、glEnd()、glNormal*()、glVertex*(); ●矩阵操作、几何变换和投影变换的函数:如矩阵入栈函数glPushMatrix(),矩阵出 栈函数glPopMatrix(),装载矩阵函数glLoadMatrix(),矩阵相乘函数glMultMatrix(), 当前矩阵函数glMatrixMode()和矩阵标准化函数glLoadIdentity(),几何变换函数 glTranslate*()、glRotate*()和glScale*(),投影变换函数glOrtho()、glFrustum()和视 口变换函数glViewport(); ●颜色、光照和材质的函数:如设置颜色模式函数glColor*()、glIndex*(),设置光照 效果的函数glLight*() 、glLightModel*()和设置材质效果函数glMaterial(); ●显示列表函数:主要有创建、结束、生成、删除和调用显示列表的函数glNewList()、 glEndList()、glGenLists()、glCallList()和glDeleteLists(); ●纹理映射函数:主要有一维纹理函数glTexImage1D()、二维纹理函数 glTexImage2D()、设置纹理参数、纹理环境和纹理坐标的函数glTexParameter*()、 glTexEnv*()和glTetCoord*();

最常用函数公式大全

Excel函数公式大全工作中最常用Excel函数公式大全 一、数字处理 1、取绝对值 =ABS(数字) 2、取整 =INT(数字) 3、四舍五入 =ROUND(数字,小数位数) 二、判断公式 1、把公式产生的错误值显示为空 公式:C2 =IFERROR(A2/B2,"") 说明:如果是错误值则显示为空,否则正常显示。 ? 2、IF多条件判断返回值 公式:C2 =IF(AND(A2<500,B2="未到期"),"补款","") 说明:两个条件同时成立用AND,任一个成立用OR函数.

? 三、统计公式 1、统计两个表格重复的内容 公式:B2 =COUNTIF(Sheet15!A:A,A2) 说明:如果返回值大于0说明在另一个表中存在,0则不存在。 ? 2、统计不重复的总人数 公式:C2 =SUMPRODUCT(1/COUNTIF(A2:A8,A2:A8)) 说明:用COUNTIF统计出每人的出现次数,用1除的方式把出现次数变成分母,然后相加。

? 四、求和公式 1、隔列求和 公式:H3 =SUMIF($A$2:$G$2,H$2,A3:G3) 或 =SUMPRODUCT((MOD(COLUMN(B3:G3),2)=0)*B3:G3) 说明:如果标题行没有规则用第2个公式 ? 2、单条件求和 公式:F2 =SUMIF(A:A,E2,C:C) 说明:SUMIF函数的基本用法

? 3、单条件模糊求和 公式:详见下图 说明:如果需要进行模糊求和,就需要掌握通配符的使用,其中星号是表示任意多个字符,如"*A*"就表示a前和后有任意多个字符,即包含A。 ? 4、多条件模糊求和 公式:C11 =SUMIFS(C2:C7,A2:A7,A11&"*",B2:B7,B11) 说明:在sumifs中可以使用通配符*

OpenGL 函数 gluLookAt

OpenGL 函数gluLookAt() glScalef() glTranslatef() glRotatef() glFrustum() glPerspective() 的使用 1.gluLookAt()——视图变换函数 把自己的眼睛当成是照相机,前三个参数表示眼睛的坐标,中间三个参数表示要拍照的物体的中心位置,可以理解成焦点吧, 后三个参数表示头顶的朝向,比如说头可以歪着(哈哈)。但是我测试过,如果歪的不对,原来的正前方现在已经不是正前方 了,那么就看不见物体了。举个例子: gluLookAt (0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);//这个就表示头顶是朝着y方向 gluLookAt (0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0);//这个表示头歪了45度,头顶朝着(1.0,1.0,0.0)这个方向 2.glScalef() ——模型变换函数缩放 void glScalef(GLfloat x, GLfloat y, GLfloat z); 模型变换的目的是设置模型的位置和方向,例如可以对模型进行旋转、移动和缩放,或者联合这几种操作。 这个函数表示模型在各轴上是如果进行缩放的。举个例子: glScalef (1.0, 2.0, 1.0);//表示y坐标值扩大两倍,这样原本方的物体就变成长的了。 3.glTranslatef() ——模型变换函数移动 void glTranslatef(GLfloat x, GLfloat y, GLfloat z); 这个函数表示模型是怎样移动的。举个例子: glTranslatef(-1.0,0.0,-2.0);//表示物体沿x负方向移动1.0,沿z轴负方向移动2.0。所以就好像能看见侧面一样

C程序设计常用函数列表

C语言常用函数 2009-11-07 22:53 1、字符处理函数 本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换头文件 ctype.h int isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0 int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或数字('0'-'9'),返回非0值,否则返回0 int isascii(int ch) 若ch是字符(ASCII码中的0-127)返回非0值,否则返回0 int iscntrl(int ch) 若ch是作废字符(0x7F)或普通控制字符(0x00-0x1F),返回非0值,否则返回0 int isdigit(int ch) 若ch是数字('0'-'9')返回非0值,否则返回0 int isgraph(int ch) 若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否则返回0 int islower(int ch) 若ch是小写字母('a'-'z')返回非0值,否则返回0 int isprint(int ch) 若ch是可打印字符(含空格)(0x20-0x7E)返回非0值,否则返回0 int ispunct(int ch) 若ch是标点字符(0x00-0x1F)返回非0值,否则返回0 int isspace(int ch) 若ch是空格(' '),水平制表符('\t'),回车符('\r'), 走纸换行('\f'),垂直制表符('\v'),换行符('\n'), 返回非0值,否则返回0 int isupper(int ch) 若ch是大写字母('A'-'Z')返回非0值,否则返回0 int isxdigit(int ch) 若ch是16进制数('0'-'9','A'-'F','a'-'f')返回非0值, 否则返回0 int tolower(int ch) 若ch是大写字母('A'-'Z')返回相应的小写字母('a'-'z') int toupper(int ch) 若ch是小写字母('a'-'z')返回相应的大写字母('A'-'Z') 2、数学函数 本分类给出了各种数学计算函数

Excel常用函数公式大全(实用)

Excel常用函数公式大全 1、查找重复内容公式:=IF(COUNTIF(A:A,A2)>1,"重复","")。 2、用出生年月来计算年龄公式:=TRUNC((DAYS360(H6,"2009/8/30",FALSE))/360,0)。 3、从输入的18位身份证号的出生年月计算公式: =CONCATENATE(MID(E2,7,4),"/",MID(E2,11,2),"/",MID(E2,13,2))。 4、从输入的身份证号码内让系统自动提取性别,可以输入以下公式: =IF(LEN(C2)=15,IF(MOD(MID(C2,15,1),2)=1,"男","女"),IF(MOD(MID(C2,17,1),2)=1,"男","女"))公式内的“C2”代表的是输入身份证号码的单元格。 1、求和:=SUM(K2:K56) ——对K2到K56这一区域进行求和; 2、平均数:=AVERAGE(K2:K56) ——对K2 K56这一区域求平均数; 3、排名:=RANK(K2,K$2:K$56) ——对55名学生的成绩进行排名; 4、等级:=IF(K2>=85,"优",IF(K2>=74,"良",IF(K2>=60,"及格","不及格"))) 5、学期总评:=K2*0.3+M2*0.3+N2*0.4 ——假设K列、M列和N列分别存放着学生的“平时总评”、“期中”、“期末”三项成绩; 6、最高分:=MAX(K2:K56) ——求K2到K56区域(55名学生)的最高分; 7、最低分:=MIN(K2:K56) ——求K2到K56区域(55名学生)的最低分; 8、分数段人数统计: (1)=COUNTIF(K2:K56,"100") ——求K2到K56区域100分的人数;假设把结果存放于K57单元格; (2)=COUNTIF(K2:K56,">=95")-K57 ——求K2到K56区域95~99.5分的人数;假设把结果存放于K58单元格; (3)=COUNTIF(K2:K56,">=90")-SUM(K57:K58) ——求K2到K56区域90~94.5分的人数;假设把结果存放于K59单元格; (4)=COUNTIF(K2:K56,">=85")-SUM(K57:K59) ——求K2到K56区域85~89.5分的人数;假设把结果存放于K60单元格;

OpenGL使用手册.

OpenGL函数使用手册 (一)OpenGL函数库 格式: <库前缀><根命令><可选的参数个数><可选的参数类型> 库前缀有 gl、glu、aux、glut、wgl、glx、agl 等等, 1,核心函数库主要可以分为以下几类函数: (1) 绘制基本的几何图元函数。如:glBegain(). (2) 矩阵操作、几何变换和投影变换的函数。如:矩阵入栈 glPushMatrix(),还有矩阵的出栈、转载、相乘,此外还有 几何变换函数glTranslate*(),投影变换函数glOrtho()和 视口变换函数glViewport()等等。 (3) 颜色、光照和材质函数。 (4) 显示列表函数,主要有创建、结束、生成、删除和调用 显示列表的函数glNewList()、glEndList()、 glGenLists()、glDeleteLists()和glCallList()。(5) 纹理映射函数,主要有一维和二维纹理函数,设置纹理 参数、纹理环境和纹理坐标的函数glTexParameter*()、 glTexEnv*()和glTetCoord*()等。 (6) 特殊效果函数。 (7) 选着和反馈函数。 (8) 曲线与曲面的绘制函数。 (9) 状态设置与查询函数。 (10) 光栅化、像素函数。 2,OpenGL实用库(The OpenGL Utility Library)(GLU) 包含有43个函数,函数名的前缀名为glu. (1) 辅助纹理贴图函数。 (2) 坐标转换和投影变换函数。 (3) 多边形镶嵌工具。 (4) 二次曲面绘制工具。

(5) 非均匀有理B样条绘制工具。 (6) 错误反馈工具,获取出错信息的字符串gluErrorString() 3,OpenGL辅助库 包含有31个函数,函数名前缀名为aux 这部分函数提供窗口管理、输入输出处理以及绘制一些简单的三维物体。 4,OpenGL工具库(OpenGL Utility Toolkit) 包含大约30多个函数,函数前缀名为glut,此函数由glut.dll来负责解释执行。 (1) 窗口操作函数。窗口初始化、窗口大小、窗口位置等函 数glutInit() glutInitDisplayMode()、glutInitWindowSize() glutInitWindowPosition()等。 (2) 回调函数。响应刷新消息、键盘消息、鼠标消息、定时 器函数等,GlutDisplayFunc()、glutPostRedisplay()、 glutReshapeFunc()、glutTimerFunc()、 glutKeyboardFunc()、 glutMouseFunc()。 (3) 创建复杂的三维物体。这些和aux库函数功能相同。如创 建球体glutWireSphere(). (4) 函数菜单 (5) 程序运行函数 glutAttachMenu() 5,16个WGL函数,专门用于OpenGL和Windows窗口系统的联接,其前缀名为wgl。 (1) 绘制上下文函数。 wglCreateContext()、 wglDeleteContext()、wglGetCurrentContent()、 wglGetCurrentDC() wglDeleteContent()等。 (2) 文字和文本处理函数。wglUseFontBitmaps()、 wglUseFontOutlines()。 (3) 覆盖层、地层和主平面处理函数。wglCopyContext()、 wglCreateLayerPlane()、wglDescribeLayerPlane()、wglReakizeLayerPlatte()等。 (4) 其他函数。wglShareLists()、wglGetProcAddress()等。

完整word版常用函数列表word文档良心出品

附录信号处理工具箱函数汇总1、滤波器分析与实现 函数名描述绝对值(幅值abs 取相angle 求卷conv 求二维卷conv2 去卷deconv 重叠相加FF滤波器实fftfilt 直接滤波器实filter 二维数字滤波filter2

零相位数字滤波filtfilt 滤波器初始条件选filtic 模拟滤波器频率响freqs 频率响应中的频率间freqspace 数字滤波器频率响freqz 画出频率响应曲freqzplot 平均滤波延grpdelay 数字滤波器的单位抽样响impz 格形滤波latcfilt 一维中值滤medfilt1 Savitzky-Gola滤波sgolayfilt 二次分式滤波sosfilt 离散系统零极点zplane 上采upfirdn 去除相unwrap 2、FIR数字滤波器设计 函数名描述 矩阵卷积convmtx 复、非线性相位等波纹滤波器设计cremez 基于窗函数的FIR滤波器设计fir1 1 FIR滤波器设计基于频率采样的fir2

FIR多频滤波器设计约束的最小二乘fircls FIR滤波设计约束的最小二乘、低通和高能、线性相位fircls1 FIR滤波器设计最优最小二乘firls 升余弦滤波器设计firrcos FIR滤波器设计内插intfilt 基于阶数估计的凯瑟滤波器设kaiserord FI滤波器设切比雪夫最remez reme设基于阶数估计remezord 滤波器设Savizky-Golay FIsgolay 数字滤波器设计IIR3、 描函数 巴特沃思滤波器设butter 型滤波器设切比雪cheby1 I型滤波器设切比雪cheby2 椭圆滤波器设计ellip 广义巴特沃思低通滤波器设计maxflat 递归滤波器设计yulewalk 巴特沃思滤波器阶估计buttord I型滤波器阶估计切比雪夫cheb1ord 型滤波器阶估计切比雪夫IIcheb2ord 椭圆滤波器阶估计ellipord 拟滤波器设计模4、

OpenGL库函数一览表

OpenGL库函数列表 OpenGl核心函数库 glAccum 操作累加缓冲区 glAddSwapHintRectWIN 定义一组被SwapBuffers拷贝的三角形glAlphaFunc允许设置alpha检测功能 glAreTexturesResident 决定特定的纹理对象是否常驻在纹理内存中glArrayElement 定义一个被用于顶点渲染的数组成分 glBegin,glEnd 定义一个或一组原始的顶点 glBindTexture 允许建立一个绑定到目标纹理的有名称的纹理glBitmap 绘制一个位图 glBlendFunc 特殊的像素算法 glCallList 执行一个显示列表 glCallLists 执行一列显示列表 glClear 用当前值清除缓冲区 GlClearAccum 为累加缓冲区指定用于清除的值 glClearColor 为色彩缓冲区指定用于清除的值 glClearDepth 为深度缓冲区指定用于清除的值 glClearStencil 为模板缓冲区指定用于清除的值 glClipPlane 定义被裁剪的一个平面几何体 glColor 设置当前色彩 glColorMask 允许或不允许写色彩组件帧缓冲区 glColorMaterial 使一个材质色彩指向当前的色彩 glColorPointer 定义一列色彩 glColorTableEXT 定义目的一个调色板纹理的调色板的格式和尺寸glColorSubTableEXT 定义目的纹理的调色板的一部分被替换glCopyPixels 拷贝帧缓冲区里的像素 glCopyTexImage1D 将像素从帧缓冲区拷贝到一个单空间纹理图象中glCopyTexImage2D 将像素从帧缓冲区拷贝到一个双空间纹理图象中glCopyTexSubImage1D 从帧缓冲区拷贝一个单空间纹理的子图象glCopyTexSubImage2D 从帧缓冲区拷贝一个双空间纹理的子图象glCullFace 定义前面或后面是否能被精选 glDeleteLists 删除相邻一组显示列表 glDeleteTextures 删除命名的纹理 glDepthFunc 定义用于深度缓冲区对照的数据 glDepthMask 允许或不允许写入深度缓冲区 glDepthRange 定义z值从标准的设备坐标映射到窗口坐标glDrawArrays 定义渲染多个图元 glDrawBuffer 定义选择哪个色彩缓冲区被绘制 glDrawElements 渲染数组数据中的图元 glDrawPixels 将一组像素写入帧缓冲区 glEdgeFlag 定义一个边缘标志数组 glEdgeFlagPointer 定义一个边缘标志数组 glEnable, glDisable 打开或关闭OpenGL的特殊功能

OpenGL函数原型

OpenGL函数原型 glAccum 操作累加缓冲区glAddSwapHintRectWIN 定义一组被SwapBuffers拷贝的三角形 glAlphaFunc允许设置alpha检测功能glAreTexturesResident 决定特定的纹理对象是否常驻在纹理内存中 glArrayElement 定义一个被用于顶点渲染的数组成分 glBegin,glEnd 定义一个或一组原始的顶点glBindTexture 允许建立一个绑定到目标纹理的有名称的纹理 glBitmap 绘制一个位图 glBlendFunc 特殊的像素算法 glCallList 执行一个显示列表 glCallLists 执行一列显示列表 glClear 用当前值清除缓冲区GlClearAccum 为累加缓冲区指定用于清除的值 glClearColor 为色彩缓冲区指定用于清除的值

glClearDepth 为深度缓冲区指定用于清除的值 glClearStencil 为模板缓冲区指定用于清除的值 glClipPlane 定义被裁剪的一个平面几何体glColor 设置当前色彩 glColorMask 允许或不允许写色彩组件帧缓冲区 glColorMaterial 使一个材质色彩指向当前的色彩 glColorPointer 定义一列色彩glColorTableEXT 定义目的一个调色板纹理的调色板的格式和尺寸glColorSubTableEXT 定义目的纹理的调色板的一部分被替换 glCopyPixels 拷贝帧缓冲区里的像素glCopyTexImage1D 将像素从帧缓冲区拷贝到一个单空间纹理图象中glCopyTexImage2D 将像素从帧缓冲区拷贝到一个双空间纹理图象中glCopyTexSubImage1D 从帧缓冲区拷贝一个单空间纹理的子图象

c++常用函数大全

数学函数,所在函数库为math.h、stdlib.h、string.h、float.h int abs(int i) 返回整型参数i的绝对值 double cabs(struct complex znum) 返回复数znum的绝对值 double fabs(double x) 返回双精度参数x的绝对值 long labs(long n) 返回长整型参数n的绝对值 double exp(double x) 返回指数函数ex的值 double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中double ldexp(double value,int exp); 返回value*2exp的值 double log(double x) 返回logex的值 double log10(double x) 返回log10x的值 double pow(double x,double y) 返回xy的值 double pow10(int p) 返回10p的值 double sqrt(double x) 返回+√x的值 double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度 double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度 double atan(double x) 返回x的反正切tan-1(x)值,x为弧度 double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度double cos(double x) 返回x的余弦cos(x)值,x为弧度 double sin(double x) 返回x的正弦sin(x)值,x为弧度 double tan(double x) 返回x的正切tan(x)值,x为弧度 double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度 double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度 double tanh(double x) 返回x的双曲正切tanh(x)值,x为弧度 double hypot(double x,double y) 返回直角三角形斜边的长度(z), x和y为直角边的长度,z2=x2+y2 double ceil(double x) 返回不小于x的最小整数 double floor(double x) 返回不大于x的最大整数 void srand(unsigned seed) 初始化随机数发生器 int rand() 产生一个随机数并返回这个数 double poly(double x,int n,double c[])从参数产生一个多项式 double modf(double value,double *iptr)将双精度数value分解成尾数和阶 double fmod(double x,double y) 返回x/y的余数 double frexp(double value,int *eptr) 将双精度数value分成尾数和阶 double atof(char *nptr) 将字符串nptr转换成浮点数并返回这个浮点数 double atoi(char *nptr) 将字符串nptr转换成整数并返回这个整数 double atol(char *nptr) 将字符串nptr转换成长整数并返回这个整数 char *ecvt(double value,int ndigit,int *decpt,int *sign) 将浮点数value转换成字符串并返回该字符串

OpenGL GLUT库函数汇总

OpenGL 库函数汇总-3.GLUT 库函数3.GLUT 库函数 初始化和启动事件处理 ------------------------- glutInit glutInitWindowPosition glutInitWindowSize glutInitDisplayMode glutMainLoop 窗口管理 ------------------------- glutCreateWindow glutCreateSubWindow glutHideWindow glutShowWindow glutSetWindowTitle glutPostRedisplay glutSwapBuffers glutFullScreen glutPositionWindow glutReshapeWindow glutSetWindow glutGetWindow glutPopWindow glutPushWindow glutDestroyWindow glutIconifyWindow

glutSetCursor 重叠层管理 ------------------------- glutEstablishOverlay glutUseLayer glutRemoveOverlay glutPostOverlayRedisplay glutShowOverlay glutHideOverlay 菜单管理 ------------------------- glutCreateMenu glutAddMenuEntry glutAddSubMenu glutAttachMenu glutGetMenu glutSetMenu glutDestroyMenu glutChangeToMenuEntry glutChangeToSubMenu glutRemoveMenuItem glutDetachMenu 注册回调函数 -------------------------------

常用函数列表

附录MATLAB图像处理工具箱函数 表1 通用函数 函数功能语法 colorbar 显示颜色条colorbar colorbar(...,'peer',axes_handle) colorbar(axes_handle) colorbar('location') colorbar(...,'PropertyName',pro pertyvalue) cbar_axes = colorbar(...) getimage 从坐标轴取得图 像数据 A = getimage(h) [x,y,A] = getimage(h) [...,A,flag] = getimage(h) [...] = getimage image 创建并显示图像 对象 image(C) image(x,y,C) image(...,'PropertyName',Prope rtyValue,...) image('PropertyName',Propert yValue,...) Formal syntax - PN/PV only handle = image(...) imagesc 按图像显示数据 矩阵 imagesc(C) imagesc(x,y,C) imagesc(...,clims) h = imagesc(...) imshow 显示图像imshow(I,n)

imshow(I,[low high]) imshow(BW) imshow(X,map) imshow(RGB) imshow(…,display_option) imshow(x,y,A,…) imshow filename h = imshow(…) imview 利用图像浏览器 显示图像 imview(I) imview(RGB) imview(X,map) imview(I,range) imview(filename) imview(...,'InitialMagnification ',initial_mag) h = imview(...) imview close all montage 在矩形框中同时 显示多帧图像 montage(I) montage(BW) montage(X,map) montage(RGB) h = montage(...) immovie 创建多帧索引色 图像的电影动画 mov = immovie(X,map) mov = immovie(RGB) subimage 在一个图形中显 示多个图像,结合 函数subplot使用 subimage(X,map) subimage(I) subimage(BW) subimage(RGB) subimage(x,y,...) h = subimage(...) truesize 调整图像显示尺 寸 truesize(fig,[mrows mcols]) truesize(fig) wrap 将图像显示到纹 理映射表面 warp(X,map) warp(I,n) warp(BW)

OPENGL中文教程 OPENGL-3-视口和绘制函数

OPENGL中文教程 OPENGL-3-视口和绘制函数

2、设置视口和重载你的绘制函数 NeHe SDK是把Nehe的教程中所介绍的所有功能,以面向对象的形式,提供给编程人员快速开发的一套编程接口。在下面的教程中,我将按NeHe SDK源码的功能分类,一步一步把这套api介绍给大家。如果你觉得有更好的学习方法,或者有其他有益的建议,请联系我。zhouwei02@https://www.360docs.net/doc/3817156349.html,,zhouwei506@https://www.360docs.net/doc/3817156349.html, 程序结构: 我们在第一课程序的基础上添加一下功能: 1.创建一个全局的视口类,控制场景中可见的范围

2.创建初始化函数,用来完成绘制的初始化工作 3.创建一个绘制三棱锥的函数 4.设置默认的视口棱台体 5.重栽我们的绘制函数,这里将绘制一个简单的三棱锥 为了使用视口类,我们需要包含下面的头文件(view.h),并声明一个全 局的视口变量view。 /*************************************新增的代码:包含视口类的声明********************/ #include "view.h" // 包含视口类的声明 /**********************************新增的代码:包含视口类的声明:结束******************/ /*************************************新增的代码:创建View类 ****************************/ View view; // 创建视口类/**********************************新增的代码:创建View类:结束 **************************/ 接着创建一个新的cpp文件,用来重栽我们的绘制函数。这里我把它命 名为Draw.cpp 为了使用OpenGL类和View类,我们需要包含头文件opengl.h和 view.h。 为了方便起见,我们启用NeHe名字空间。 接着我们使用extern关键字来使用全局变量view,最后我们创建一个 变量initialize来记录是否需要初始化。 整个代码如下: #include "opengl.h" // 包含创建OpenGL程序的框架类 #include "view.h" // 包含视口类的声明 #pragma comment( lib, "NeheSDK.lib" ) // 包含NeheSDK.lib库 using namespace NeHe; // 使用NeHe名字空间

glut常用函数介绍

GLUT常用函数介绍 stephenxjc_千年一笑 2010-7-29 对象:GLUT的入门级(初学者) 关键字:GLUT、函数 核心内容:主要是通过在一个具体的程序中函数的作用 平台:visual studio2008,需要配置好OpenGL32.lib、GLu32.lib、GlAux.Lib、glut32.lib和相应的dll文件。 正文 1示例 简单的一个主函数:

glutInitWindowSize() ,glutCreateWindow()等函数比较简单,程序中的介绍已经足够。下面重点介绍其它函数。 2glutInitDisplayMode() 初始化显示模式。这里主要采用RGB模式显示,并采用双缓存模式。双缓存模式相对的是单缓存,双缓存是现在后台缓存绘制,在绘制完成后,将后台与前台缓存交换,后台变前台,前台变后台,达到快速输出的效果。而单缓存,在绘制时就在唯一缓存中绘制,当绘制时间比较长时,会使屏幕比较卡。 3glutKeyBoardFunc(pressKeyboard) 设定键盘响应函数为pressKeyboard,函数的结构为:

其中,key为返回的按键的ASCII编码,x和y为鼠标的当前的位置。 4glutSpecialFunc(specialKey) 实际也是针对按键响应,但与glutKeyBoardFunc相比,前者针对的是一些特殊的按键。包括:GLUT_KEY_F1,GLUT_KEY_F2,GLUT_KEY_F3,GLUT_KEY_F4,GLUT_KEY_F5,GLUT_KEY_F6,GLUT_KEY _F7,GLUT_KEY_F8,GLUT_KEY_F9,GLUT_KEY_F10,GLUT_KEY_F11,GLUT_KEY_F12,GLUT_KEY_LEFT, GLUT_KEY_UP,GLUT_KEY_RIGHT,GLUT_KEY_DOWN,GLUT_KEY_PAGE_UP,GLUT_KEY_PAGE_DOW N,GLUT_KEY_HOME,GLUT_KEY_END,GLUT_KEY_INSERT。函数结构与glutKeyBoardFunc相同。 5glutMouseFunc(pickTarget) 鼠标点击响应。pickTarget函数结构如下:

工作中最常用的excel函数公式大全

工作中最常用的excel函数公式大全 一、数字处理 1、取绝对值=ABS(数字) 2、取整=INT(数字) 3、四舍五入=ROUND(数字,小数位数) 二、判断公式 1、把公式产生的错误值显示为空 公式:C2=IFERROR(A2/B2,"") 说明:如果是错误值则显示为空,否则正常显示。 2、IF多条件判断返回值公式: C2=IF(AND(A2<500,B2="未到期"),"补款","") 说明:两个条件同时成立用AND,任一个成立用OR函数。

1、统计两个表格重复的内容 公式:B2=COUNTIF(Sheet15!A:A,A2) 说明:如果返回值大于0说明在另一个表中存在,0则不存在。 2、统计不重复的总人数 公式:C2=SUMPRODUCT(1/COUNTIF(A2:A8,A2:A8)) 说明:用COUNTIF统计出每人的出现次数,用1除的方式把出现次数变成分母,然后相加。

1、隔列求和 公式:H3=SUMIF($A$2:$G$2,H$2,A3:G3) 或=SUMPRODUCT((MOD(COLUMN(B3:G3),2)=0)*B3:G3) 说明:如果标题行没有规则用第2个公式 2、单条件求和 公式:F2=SUMIF(A:A,E2,C:C) 说明:SUMIF函数的基本用法

3、单条件模糊求和 公式:详见下图 说明:如果需要进行模糊求和,就需要掌握通配符的使用,其中星号是表示任意多个字符,如"*A*"就表示a前和后有任意多个字符,即包含A。 4、多条件模糊求和 公式:C11=SUMIFS(C2:C7,A2:A7,A11&"*",B2:B7,B11) 说明:在sumifs中可以使用通配符*

相关文档
最新文档