精华内容
下载资源
问答
  • 数字模拟电路中图分类号:TN402 文献标识码:A1 数字集成电路EDA的发展历程回顾40多年来集成电路设计自动化EDA系统的发展,大致可以分为三个阶段:70年代的第一代EDA成为计算机辅助设计CAD系统,他以交互式图形编辑...
  • 进展 中图分类号:305.94 文献标识码:A 1引言 随着信息时代的到来,电子工业得到了迅猛发展,计算机、移动电话等产品的迅速普及,使得电子产业成为最引人注目和最具发展潜力的产业之一,电子产业的发展也带动了与...
  • (中国电子科技集团公司第二研究所,山西 太原 030024)摘 要:本文叙述了圆片级封装的概念、现状及发展方向。对超级CSP与MOST(Microspring on Silicon Technology)两种圆片级封装重点进行推介,并详细介绍了其...
  • OPENGL中3DMAX模型的应用

    千次阅读 2008-04-22 11:26:00
    OPENGL中3DMAX模型的应用方 斌(贵航集团飞机设计所,贵州 安顺 561000)摘 要:阐述如何在OPENGL三维编程中实现3DMAX数据模型的程序控制,成果可用于飞机飞行的运动模拟和飞行实时监控等领域中。 OPENGL;3DMAX;ASE...

    OPENGL中3DMAX模型的应用

    方 斌

    (贵航集团飞机设计所,贵州 安顺 561000)

    摘 要:阐述如何在OPENGL三维编程中实现3DMAX数据模型的程序控制,成果可用于飞机飞行的运动模拟和飞行实时监控等领域中。 OPENGL;3DMAX;ASE文件;投影和变换

    中图分类号:

    TP391.72;TH311.52 文献标识码:B

    0 前 言

    OPENGL是一个硬件和图形软件接口,由于它在三维真实感图形制作中性能优秀,诸如Microsoft、SGI、IBM、DEC、SUN等计算机主导公司都采用了OPENGL标准,OPENGL已经成为事实上的高性能和交互式视景标准。Microsoft 公司在Window95/NT操作系统中支持OPENGL前,只有在昂贵的图形工作站上才能运行OPENGL程序,随着支持OPENGL图形加速卡的出现和PC机性能的提高,OPENGL在PC机上得到广泛的应用。OPENGL中很容易实现模型的各种变换、着色、光照、纹理、交互操作和动画,但是它只能提供基本几何元素的造型函数,使得复杂模型的建模相对困难。3DMAX是Kinetix公司的三维图形建模和动画软件,能方便建立各种复杂物体模型,但是很难进行程序控制。因此,我们自然想到在3DMAX中建立好复杂模型后,在OPENGL中实现对其方便控制和变换。

    1 OPENGL的基本操作

    ①物体的绘制:通过点、线、多边形实现。

    ②变换:投影变换、几何变换、裁剪变换、视口变换。

    ③着色:OPENGL提供RGBA模式和颜色索引模式,提供224种颜色。

    ④纹理映射:在具体模型表面加上现实世界中物体的纹理,可使三维模型更生动。

    ⑤交互操作和动画:OPENGL辅助函数库提供了消息响应函数,可以较方便的实现交互程序控制。

    ⑥其它:光照、反走样、混合、雾化等功能。

    2 3DMAX ASE模型描述及OPENGL控制

     

    在3DMAX中建立好模型后,仅以三角形网格方式存为ASE文件(ASCII文件),在程序中我们需建立对应的模型数据结构,本文以C语言数据结构为例。

    例子ASE文件包含简单的一个金字塔和球体,具体内容如下(略去头部):

    *GEOMOBJECT {//单个物体模型的开头

    *NODENAME "Pyramid01"//物体名称

    · · · ·

    *MESH {//网格

    *TIMEVALUE 0

    *MESHNUMVERTEX 6//物体的顶点数

    *MESHNUMFACES 8//物体的三角形面数

    *MESHVERTEXLIST {

    *MESHVERTEX00.00000.000030.0000//顶点坐标

    · · · ·

    *MESHVERTEX50.00000.00000.0000

    }

    *MESHFACELIST {//面号和构成面的顶点

    *MESHFACE0:A:0 B:1 C:2 AB:1 BC:1 CA:0

    · · · ·

    *MESHFACE7:A:4 B:5 C:1 AB:0 BC:1 CA:1

    }

    }

    · · · ·

    *GEOMOBJECT {//格式同上个物体

    *NODENAME "Sphere01"

    · · · ·

    }

    分析上面的ASE文件结构,可得到通用的对应ASE文件的C模型数据结构如下:

    点的定义:typedef struct PointType{ double x,x,y; } POINTTYPE;

    三角形面的定义 typedef struct FaceType{ int a,b,c; }FACETYPE;

    单个物体的定义

    typedef struct ObjectType{

    int VertexNum;//点的个数

    POINTTYPE *PointList;//点列表

    int FaceNum;//面的个数

    FACETYPE *FaceList;//面列表

    OBJECTTYPE *Next;//指向下一物体的指针

    }OBJECTTYPE;

    多个物体

    typedef struct ObjectsHead{

    int ObjectNum;//物体的个数

    OBJECTTYPE *ObjectList;物体的列表

    }OBJECTSHEAD;

     

    ■从ASE文件导入物体数据

    int GetObjects(char *FileName,OBJECTSHEAD *Objects) //从文件中读入到Objects 中

    {FILE fp;//文件指针

    char line[200];//存储文件中一行的数据

    OBJECTTYPE *p,q;POINTTYPE tempoint; FACETYPE tempface;

    if (fp=open(FileName,"r")<=0) then return -1;//读文件失败

    Objects→ObjectList=NULL; Objects->ObjectNum=0;

    while(not eof(fp)) {

    getlint(fp,line);//从文件中读入一行到Line;自定义函数;if(JudgeIn(line,"GEOMOBJECT")){//物体定义的头部q=malloc sizeof(OBJECTTYPE);//为物体分配空间

    q→Next:=NULL;

    if (Objects→ObjectList=NULL) p=ObjectList=q;

    else{ p→Next:=q;p=p→Next; }

    ++Objects→ObjectNum; }

    if (JudgeIn(line,"*MESHNUMVERTEX")){

    q→VertexNum=GetVertexNum(line); //读入点数

    q→PointList=(POINTTYPE *) malloc(sizeof(POINTTYPE)*q→VertexNum); }

    if (JudgeIn(line,"*MESHNUMFACES") ){

    q→FaceNum=GetFaceNum(line); //读入面数

    q→FaceList=(FACETYPE *) malloc(sizeof(FACETYPE)*q→FaceNum); }

    if (JudgeIn(line," *MESHVERTEX")){

    GetPoint(line,tempoint);  //读入点座标

    AddPoint(q->PointList,tempoint);  }//将点加入点列表中

    if(JudgeIn(line," * MESHFACE")){

    GetFace(line,temface);//读入面

    AddFace(q->PointList,temface); }//将面加入面列表中

    }///While语句结束

    fclose(fp) ; return 1;

    }

    ■在OPENGL中实现动画控制

    #include<GL/gl.h>//OPENGL核心库

    #include<GL/glu.h>//OPENGL 实用库

    #include<GL/glaux.h>//OPENGL 辅助库

    OBJECTSHEAD *Objects;Gldouble rx=0,ry=0,rz=0;//rx,ry,rz 为物体旋转的角度

    void CALLBACK myReshape(GLSize w,Glsize h)//窗口改变尺寸回调函数

    { glViewPort(0,0,w,h); }

    void CALLBACK display()//显示物体回调函数

    { int j,k; OBJECTTYPE *p;

    Delay(1000); Rx=rx+0.1; Ry=ry+0.1; Rz=rz+0.1;

    glClear(GLCOLORBUFFERBIT);//清除OPENGL 的颜色缓冲

    glPushMatrix();

    glRotate(rx,ry,rz,0.0);//旋转物体

    p=Objects→ObjectList;

    for( j=1;j<Objects→num;j++) {

    for(k=1;k<p→FaceNum;k++){

    glBegin(GLTRIANGLES);//用OPENGL命令绘制三角形网格

    glVertex3f(p→PointList[(p→Face-List[i]).a], p→PointList[(p→Face-List[i]).b]);

    glVertex3f(p→PointList[(p→Face-List[i]).b], p→PointList[(p→Face-List[i]).c]);

    glVertex3f(p→PointList[(p→Face-List[i]).c], p→PointList[(p→Face-List[i]).a]);

    glEnd();

    }

    p=p→Next;

    }

    glPopMatrix();

    glFlush()l; //与显示区交换数据

    }

    void main(void)

    {

    auxInitDisplayMode(AUXSINGLE|AUXRGB);//初始化显示模式

    auxInitPosition(0,0,400,400);//初始化窗口位置和大小

    auInitWindow("OPENGL-3DMAX例子");//标题

    glClearColor(0.0,0.0,0.0,0.0);//清除显示区

    auxReshapeFunc(myReshape);

    auxMainLoop(display);

    }

    2.2 读入3DMAX物体数据以OPENGL实现动画

    3 结束语

    把3DMAX模型应用于OPENGL中,降低了OPENGL复杂建模的难度,我们可以得到较真实的复杂物体模型。在飞机运动模拟和远程姿态监控的具体应用中,我们在OPENGL程序中引入3DMAX飞机模型,得到了满意的三维动画效果。同样,我们还可以编制AutoCAD、UG等多种图形接口程序,把在AutoCAD、UG等CAD软件中建立的物体模型引入OPENGL的应用程序中, 将可应用于飞行模拟、运动虚拟仿真、商业广告、游戏制作、影视采辑等多个领域。

    参考文献

     

    [2][美]S.Ellion.P.Miller著,张若青,古梅译.3DMAX STUDIO 技术精粹[M].北京:清华大学出版社.1997.9.

    [1]白燕斌,史惠康等编.OPENGL三维图形库编程指南[M].北京:机械工业出版社.1998.11.

    The Application of 3DMAX Modelling to OPENGL

    FANG Bin

    (Aircraft Design Institute,Guizhou Aviation Group,Anshun,Guizhou,China,561000)

    Abstract:

    Key words:

    

    (本文责编:周晓南)

    OPENGL;3DMAX;ASE file,projection and transformThis paper introduces the program control of 3DMAX data model in OPENGL,which finds application in kinematic simulation and real time monitoring of airplanes.2.1 用C语言数据结构描述3DMAX模型

    关键词:

     
    展开全文
  • (中国电子科技集团公司第58研究所,江苏 无锡 214035)摘 要:本文对CVD WSix制造设备及工艺进行了详细的描述,以大量的实验数据为依据,开发出适合本科研生产线WSix复合栅薄膜的工艺标准。关键词:WSix;“Polycide...
  • 2.中电科技集团电子13所,河北 石家庄 050051)摘要:综合介绍了目前半导体大功率激光器普遍采用的材料结构、芯片结构、封装技术、散热致冷技术以及发展现状;给出了当前大功率半导体激光器的研究发展方向。 关键词...
  • 1.华中科技大学a.光电子工程系; b.激光技术国家重点实验室,武汉,430074; 2.中国电子科技集团第44研究所,重庆 400060)摘 要:采用统计...选择比 中图分类号:TN305.7 文献标识码:A 文章编号:1003-353X(2005)06-002
  • (中国电子科技集团公司第四十五研究所,北京东燕郊,065201)摘要:概述了国外半导体制造设备市场现状、市场总规模变化、分类设备市场,探讨了半导体制造设备市场的发展趋势。关键词:半导体制造设备、技术现状、...
  • 中国电子科技集团公司十三所,河北 石家庄 050051;2.北京工业大学,北京 100022)摘要:对单台面SiGe HBT在E-B结反偏应力下直流特性的可靠性进行了研究。研究结果表明,随应力时间的增加,开启电压增加,直流电流...
  • (中国电子科技集团公司第13研究所,石家庄 050051)摘 要:随着微波混合集成电路向着高性能、高可靠、小型化、高均一性及低成本方向的发展,对芯片焊接工艺提出了越来越高的要求。本文对几种共晶烧结方法进行了实验...
  • 吴晓鸫 徐 政 何 磊(中国电子科技集团公司第58研究所,江苏 无锡 214035)摘 要:本文介绍了几种集成电路物工艺中高精度电阻和电容的制作方法。关键词:掺杂;扩散;注入;溅射中图分类号:TN305.2 文献标识码:A1 ...
  • 中国电子科技集团公司第四十八研究所,湖南长沙4l01l1;2.湖南证兴设备安装工程有限公司,湖南株洲4l2003)摘 要:以烧结铁氧体磁性材料推板窑为研究对象,探讨影响温度稳定性的因素,旨在烧结高档镍锌铁氧体材料的...
  • 陈 鹏 欧昌银(中国电子科技集团公司第二十四研究所,重庆市,400060)摘 要:为了使我所微电路封装产品能广泛满足航空、航天及其他特殊领域对内部水汽含量的要求(≤5000ppm),提出了降低金属或陶瓷结构封装的微电路...
  • 程开富(中国电子科技集团公司第44研究所,重庆 40060)摘要:本文主要概述了纳米电子/光电子器件的分类,并提出发展纳米电子/光电子器件的几点建议。 关键词:纳米电子学;纳米电子器件;纳米光电子器件中图分类号...
  • 张瑞君(中国电子科技集团公司第四十四研究所,重庆 400060)摘 要:本文介绍了用于高速光电组件的表面安装型焊球阵列(BGA)封装技术。关键词:焊球阵列(BGA);封装;光电组件中图分类号:TN305.94 文献标识码:A1 ...
  • 无铅焊料的发展

    2020-12-09 09:45:55
    (中国电子科技集团公司第四十研究所,重庆 南坪 400060)摘 要:本文就无铅焊料的发展进行论述。分析了几类正在实用化的无铅焊料特性。最后指出了无铅焊料的发展趋势。关键词:焊料;无铅焊料;特性;趋势中图分类...
  • (中国电子科技集团公司第四十五研究所,北京东燕郊 065201)摘要:简要阐述了键合机中校正系统设计,包括伺服系统校正,图像系统校正,物料系统校正等。 关键词:引线键合机,校正,图像映射 中图分类号:TN305 ...
  • 光刻机的匹配和调整

    2020-12-09 10:29:56
    周虎明 韩隽(中国电子科技集团公司第58研究所,江苏 无锡 214035)摘要:光刻机的匹配使用是半导体工艺大生产线上提高生产效率的一项重要措施。光刻机的匹配主要包括场镜误差的匹配和隔栅误差的匹配,如何调整相同...
  • (中国电子科技集团公司第四十四研究所,重庆400060)摘 要:本文介绍了10Gb/s光收发模块的封装技术。准平面封装技术非常适合于大规模制造的老器件,已广泛应用于各类激光器和接收器中。关键词:光收发模块,准平面,...
  • 颗粒碰撞失效分析

    2020-12-09 10:36:15
    朱卫良 宫建华 陆 坚(中国电子科技集团公司第58研究所,江苏 无锡 214035)摘 要:本文讲述了颗粒碰撞失效的分析方法。找出了引起失效原因的可动颗粒。关键词:颗粒碰撞;可动颗粒;X-射线中图分类号:TN407 文献标识...
  • 罗雁横 张瑞君(中国电子科技集团公司第四十四研究所,重庆摘要: 直接敷铜(DBC)板是用于电子学封装的一种陶瓷/金属化合物基板。这种DBC板适用于光电子学封装的采集排列制作,并可提供无源对准、好的热导率、CTE匹配...
  • labview串口通信

    2010-04-02 15:47:57
    3.吉林省物资集团有限责任公司,长春130022 摘 要 : 分析了在LabVIEW和VC+十中实现串行通信的方法,并通过具体的实例介绍了基于 虚拟仪器的串行通信系统的动态链接库设计方法。论述了将虚拟仪器强大的仪器控制功能及...
  • 自动化 中图分类号:TH-39 文献标志码:A 文章编号:1672-3872(2017)24-0040-01 1 方案选择 1.1 微控制器方案选择 方案一:采用瑞萨公司所生产的 R5F100LEA 单片机为主 控芯片,单片机运算功能强,软件编程灵活、...

空空如也

空空如也

1 2
收藏数 24
精华内容 9
关键字:

中图集团