三维仿真范文

时间:2023-03-28 08:30:32

导语:如何才能写好一篇三维仿真,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。

三维仿真

篇1

【关键字】UG;五轴数控加工;加工仿真

现阶段,使用的五轴数控仿真系统通常只有二维动画仿真,且整个仿真系统的几何功能有所限制,加工零件和机床模型必须借助其他CAD软件才能建模,整个模型的仿真精度不高。基于UG软件创建五轴数控机床仿真模型,能够准确读出数控代码,并为机床的各个部件实施三维仿真,同时对零件加工环节机床各部件之间的干涉进行检查,为合理修改刀具轨迹提供可靠依据,避免因文件格式转化导致仿真精度降低的情况。

创建三维仿真系统的步骤

(一)仿真系统工作流程

三维仿真环境是基于计算机虚拟系统中,以不消耗能源和资源真实加工系统的映射,虚拟环境的操作应于实际加工系统所具备的功能相互一致。五坐标数控机床建立的仿真系统具体流程如图1.五坐标联动机床进行加工的零件极为管饭干,可以综合考虑工件、道具等物品的外形、参数的变化,通过装配的形式把制作的CAD模型加入仿真系统内,从而提升仿真系统的灵活性。用户依照实际加工操作基于UG环境下创建刀具、工件等模型,进一步方便对这些模型的尺寸进行修改,在仿真系统的操作直视下,用户只要挑选最佳的部件和位置,

就能把工件、夹具等模型装配至仿真系统的模板文件内。

Y

N

N

Y

N

图1 仿真系统程序具体流程图

初始化仿真环境

建立合理的仿真模型之后,应对UG环境展开初始化操作,随之进入运动分析模块。为了方便在仿真系统内合理控制机床的各个运动部件,在开展仿真操作前要对机床模型中的几何体实施遍历,随后获得相关几何体的指针。

解释NC代码语义

基于NC代码对整个机床加工环节进行仿真操作,必须准确解释机床NC代表的意义,把代码指令进行转化,从而得到机床不同轴的联动运动。机床NC代码是由大量繁乱的机床运动指令组成,每次读取的代码都必须进行语义解释,从而把NC代码内有用的控制命令和数据转换为机床各个轴的位移。

基于三维造型仿真加工过程

使用三维实体造型的办法,能在仿真环境内更改不同的视角并无需重新进行计算,准确表示刀具与工件之间的几何关系和位置。把NC代码予以转化成各个轴的位移,并对其运动情况实施仿真操作。在三维造型中把动画一帧帧的展示出来,并保存到UG后台数据库内。经过存储的仿真动画能够反复回放,可以根据各行的NC代码依次显示,实际显示时可以进行放大、缩小及变换视角等操作。基于三维造型对整个加工环节进行仿真操作,能够准确展现出空间内实体之间的位置关系,三维效果非常好。

干涉检查仿真过程

对仿真过程进行干涉和检查操作,主要是对加工操作中刀具、夹具、刀柄与工件之间进行干涉。因整个仿真过程采用三维实体造型的模式,因此干涉检查就是对机床模型运动时是否相交进行判断。采用模型的几何体指针,对加工环节内可能出现的干涉部件其位置关系展开检查计算。如果运动部件遭到干涉,创建干涉产生的实体,并通过UG系统获取干涉部位的深度、体积等相关信息,并输出形成干涉效果的NC代码,为合理修改刀具轨迹提供可靠依据。

五坐标机床仿真系统实现

文中以五坐标联动机床为研究对象,为该机床建立仿真模型,同时为三元叶轮的铣削加工环节实施仿真操作。整体式三元叶轮形状非常复杂,具有大量的约束条件,因此加工难度较大,这是五轴数控加工操作中独具代表性的零件。根据数控机床具体的传动尺寸,基于UG环境创建仿真模型,对机床各个轴的运动方向及副作性质进行设定,同时把建立的模型存储为模板文件。五坐标联动机床的运动轴是由2个转动轴,和三个移动轴组合而成。根据实际机床部件的具体尺寸,使用UG/Modeling模块为机床部件创建各自的实体模型,随后使用UG/Assemblies模块把不同部件进行装配操作,从而形成完整的实体模型。在UG/Motion运动分析模块挑选工作台等机床部件定义成连杆,移动副由机床的X、Y、Z轴定义,B、C轴表示转动副,根据设定的机床传动轴运动方向进行操作,同时设定运动副其驱动方式是Articulation。对仿真完成的机床模型进行保存,就能加载各类工件、刀具及夹具,如此采用同个机床对各类工件进行加工时,不需要反复创建仿真模型。通过UF_UI_FILENAME函数弹出的对话框,挑选应该装配的部件,同时输入待装部件的位置,采用UF_ASSEM_assembly函数对部件进行装配,并把部件实体指针设置为运动副。若装配部件有必须隐藏的地方,可通过UG中Blank命令对其进行隐藏操作。

【结束语】:总之,基于UG建立的数控加工仿真模型,可以对整个加工过程机床干涉情况进行检查,为合理修改刀位提供有效依据,提升整个数据加工的工作效率,具有优良的实用性。

【参考文献】

[1] 范蓉.整体叶轮曲面造型及数控加工仿真研究[J].中国机械,2013,(6):102-103.

[2] 章芳芳.基于Vericut的车削中心仿真系统研究[J].科技视界,2013,(28):180-180.

[3] 丁刚强.整体叶轮五轴数控加工技术的研究[J].制造技术与机床,2013,(4):100-103.

篇2

关键词:数控机床;仿真系统;三维建模

0 引言

所谓数控,是数字控制的简称,其指的是就是建立在数字化信息技术的基础上,完成对机械运动设备以及加工设备的数字控制,实现自动化操作和管理。而数控仿真系统,其就是通过在数控技术的基础上,完成对真实数控机床的作业的流程和操作环节进行模拟,并结合编程技术实现对数控机床实现全自动化操作,并在构建数控仿真系统的基础上提高操作人员或者编程人员的工作效率。

1 建模思路

在三维建模的过程中,其具体对象为数控机床,通过利用几何原理、空间点离散原理以及数控仿真系统的构建原理,来整理出如下建模思路:

第一,数控机床的本体建立三维模型。以基本硬件设备为基础,从宏观构建到微观零部件的角度完成建模思路的规划,并结合旋转模型对数控机床的真实操作状态进行规则化比对,从而能够更加清晰和直观地描述出数控机床的本体。第二,数控机床加工过程中的动态建模。利用NC码进行实施监控与描写,提取每个时间点的运动轨迹和几何定位点[1]。

2 建模过程

2.1 数控机床本体的三维建模

在数控机床仿真系统的构建过程中,通过利用三维建模中的CSG建模理念,使数控机床仿真系统的总体构建趋于多层次化和多结构化。并在三维建模的基础上将复杂、繁琐建模过程转化为更加清晰、更加明了的简易结构,从而在简易结构的基础上完成简单形体的建模组合,实现数控机床仿真系统的模型构建。在数控机床本文的三维建模中,其具体的建模方法为[3]:

首先,以数控机床的操作规则为基本原则,以实际具体的工作状态进行真实模拟。在理想状态的环境中忽略数控机床内部的传动装置与后备服务装置,从而在最大程度的简化内部要素的结构,实现三维模型构建的程序化。其次,利用三维理念对数控机床的几何结构与物理结构进行区分和划分,对每种结构的内部构造层层细分,在宏观环境下对微观因素按照相似性规则进行详细区分,并利用三维维度进行简化处理,降低数控机床仿真系统构建的难度和复杂度。最后,通过利用三维建模数据库中的几何实体进行模型构建,将具体的立方体、圆柱体以及圆环体等做种几何立体模型与数据库中的具体数据进行比对和配对,在数控技术的基础上实现最优化组合。与此同时,采用方差计算的方式使组合的计算结果更加精确,立足于OpenGL软件内部强大的三维图型库,找到最符合数控机床本体的最佳三维模型,从而完成机床本体的三维建模工作。

2.2 加工过程的动态仿真三维建模

在数控机床的加工过程中,为了使数控仿真系统的动态性能实现最优化发展,通过利用三维建模中的空间离散法,来促使数控机床在加工过程中的数控仿真系统构建的更为精确和高效。在空间离散法的运用下,要将数控机床内部的空间物体转换为不同三维位置的“空间点”,并对这些“点”进行均匀布阵,按照这些“点”分布的具体线条关系连结成三角片矩阵,从而形成了初步的三维建模。当程序处于运行的过程中,要不断按照真实的路径进行重新描写,并对这些“点”的真实属性进行程序化渲染,从而保证数控仿真系统运作状态的自身“分析”能力更加准确无误[4]。

在空间离散法的应用下,对数控机床的车削和三轴铣削进行三维建模并做出进一步加工。首先,数控机床的车削毛坯呈现为圆柱形的状态,且其多利用在打磨和加工机床的回转表面。其次,三轴铣削的毛坯多呈现出长方体的形状,其只有在毛坯体的表面进行加工,因此只具备了独立的加工面。通过在数控机床的毛坯体上进行离散化和三维建模,来构建属于数据机床的仿真系统。下图为数控机床中车削和三轴铣削毛坯的三维立体离散图:

在该图中,以独立面为中心构建三维函数轴,即X轴、Y轴与Z轴,那么在该三维函数轴基础上对车削进行空间点离散化,使其形成三点共面的状态,作为三维建模的基本模型。与此同时,针对数控机床中的三轴铣削设立A、B、C、D四个点,以四个点形成的不同三维空间模型进行细细划分,比如ABD之间的三角网格、BCD之间的三角网格等,从而以网格为单位进行三维建模。当前使用的数控仿真系统多是建立在windows系统基础上,那么在windows的环境下通过利用Visual、OpenGL以及C++6.0技术软件,使数控机床的毛坯体离散化过程得到细节分析,结合数据结构和各个节点的具体数据构建三维模型,实现数控机床仿真系统的多元化建设。

2.3 粒子系统的建模

为了更加真实的模拟数控机床在冷却液喷出状态下的具体工作细节,需要立足于粒子系统,完成细致环节的三维建模,体现液体粒子的冷却状态与运动状态。在粒子三维建模的过程中,要周而复始的完成以下四个环节的工作:母粒子源产生新粒子;准确计算、复核并实时性更新新粒子的基本属性;定位删除死亡(淘汰)粒子;绘制粒子的具体运动线路,从而构成源源不断、持续运作的粒子流。在以上四个环节的循环运动下,完成了更加具体的三维建模工作,这样在粒子系统的基础上,构建了更为清晰、细致化和高度仿真性的数控机床仿真系统。

结论:

综上所述,本文以上通过围绕三维建模的过程进行分析,并结合三维建模技术进行展开探讨。通过结合三维建模技术对数控仿真系统进行真实还原与模拟,形成的三维图示更加具有真实感,并且形成的三维立体Flash实时性与可视性都很强,实现了数控仿真系统研发与运用的高效化与集约化发展。

参考文献:

[1]陆宝春,徐开芸,等人.数控仿真教学系统的研究与开发[J].中国制造业信息化,2013,19:30-33+37.

[2]张天其,于忠海,等人.数控机床三维建模与加工仿真技术研究[J].机械工程师,2014,01:62-63.

[3]邢吉利,李翔龙,等人.数控铣削仿真系统关键技术的研究[J].机械设计与制造,2015,06:170-172.

[4]唐宇鸿,高丽娜,等人.仿真系统中三维建模技术的研究[J].电子制作,2014,19:48-49.

篇3

关键词:自升式抛石整平船;3ds Max;三维仿真;粒子系统

中图分类号:TP391.9 文献标识码:A 文章编号:1009-3044(2013)19-4496-03

1 概述

港珠澳大桥位于珠江口处,跨越伶仃洋海域,是连接香港、珠海、澳门的世界级跨海通道。岛隧工程是港珠澳大桥的核心工程,其长达5664米的沉管隧道,施工难度居世界前列,它采用碎石垫层作为沉管基础,不仅铺设整平总方量巨大,而且施工水深、铺设宽度、整平精度都前所未有[1]。由于工期紧张,当时世界上没有合适的抛石整平船能完成此施工任务,上海振华重工自主研发的自升式抛石整平船应运而生,为了让船东在短期内对该工程船的布局及作业流程有个全面、直观的了解,同时方便设计人员进行方案交流,以发现潜在的设计问题,避免发生重大经济损失,该文运用三维仿真技术开发了自升式抛石整平船作业流程三维仿真,以系统的展示该工程船的整体布置、设计思路、作业流程等。

2 建立数字模型

自升式抛石整平船的建模是整个三维仿真制作过程中最重要的环节。考虑到本三维仿真由多个软件配合完成,所建立的数字模型要求有较好的兼容性,模型的坐标系、信息、数据能够正确快速的转换。为此,船体部分由AVEVA公司的Tribon M3建模,设备部分则由Inventor建模。将两种三维建模软件制作的数字模型导入到三维仿真软件3ds Max中,构建场景模型[2]。导入的流程图见图1。

模型导入后,使用“成组”命令对模型进行分组,使用“移动”以及“对齐”命令对模型进行装配定位。最后根据船东要求,对模型赋予颜色材质。图2所示为自升式抛石整平船的仿真模型。

3 三维仿真制作过程

3.1 仿真步骤及方法分析

在建立数字模型之后,制作仿真动画之前,需要对自升式抛石整平船的作业流程进行分析,以确定仿真动画的制作步骤及方法。

自升式抛石整平船的作业流程如下:

1)抛石船拖航到位后,抛6只定位锚,通过6台定位锚机将船体定位在施工工位上;

2)桩腿插入海底站稳后,通过对角线压载的方式两两对桩腿施加载荷;

3)预压载完成后,将船体顶升离开水面;

4)碎石通过石料传送系统从取料漏斗输送到抛石管;

5)通过大小车的联合移动完成抛石整平作业;

6)由抛石管头部油缸的伸缩来对抛石作业中的各种因素造成精度误差进行补偿,保证抛石整平精度;

7)当一个船位的抛石整平和检查验收作业完成后,下降船体,抬升桩腿,抛石船移到下一个船位,重复抛石整平作业;

8)重复完成7个船位的抛石整平作业即可铺设完一个标准沉管隧道的碎石垫层。

通过对整个作业流程的分析,建立动画仿真的步骤及方法如下:

1)使用3ds Max的关键帧动画技术制作拖航、抛锚、桩腿插入海底、船体抬升、大小车联合移动、抛石管头部油缸伸缩以及移动船位等动作;

2)通过控制子物体顶点级别,选择需要移动的点,实现石料传送系统上的皮带跟随大小车移动以及碎石垫层随着抛石管的移动而出现;

3)碎石在石料传送系统上的输送以及石料的抛洒采用3ds Max的粒子系统[3]进行模拟。

3.2 仿真动画制作过程

1)抛石船拖航、抛锚、桩腿插入海底、船体抬升、大小车联合移动、抛石管头部油缸伸缩以及移动船位等动作的动画制作。采用3ds Max的关键帧动画技术,使用“选择并移动” 工具选择之前建立的各分组来实现其运动过程。整个动画的总帧数为3400帧(设定每秒25帧)。

2)皮带、碎石垫层的动画制作。在进行抛石作业时,大车带着抛石管纵向移动,小车带动抛石管横向移动,石料传送系统上的部分皮带也需随着大小车作相应移动(见图3),常规在制作物体运动的动画时,是整个物体做运动,而此时仅需皮带的部分地方作移动,为此,通过进入皮带的顶点级别,选择需要移动的点来做动画,实现皮带的部分地方根据需要跟随大小车移动,而其余地方则保持不动。同样,碎石垫层随着抛石管的移动而逐步出现的动画也通过控制顶点来实现。

3)粒子系统的建立。碎石在石料传送系统上的输送以及石料的抛洒采用粒子系统来实现。在本项目中,碎石经过3条皮带机投入抛石管进料口,因此,需分别建立3个“暴风雪”粒子发射器,模拟石料在皮带机上进行输送的效果。为了使粒子呈现出碎石的效果,将粒子类型设为“实例几何体”,对粒子进行碎石的取样。图4为取样后的粒子效果。设定3个“暴风雪”粒子发射器的“粒子运动”、“粒子计时”和“粒子大小”参数,特别是“粒子计时”参数,应使得3个“暴风雪”粒子发射器的发射时间正好首尾衔接上(见图5)。另外建立一个“暴风雪”粒子发射器,调节相应的参数,并将其绑定到抛石管头部,使其随着抛石管运动,模拟抛石管抛洒石料的效果。

4 渲染及合成

选用3ds Max自带的MentalRay渲染器进行渲染。Mental Ray是一个专业的渲染系统,它可以生成令人难以置信的高质量真实感图像。选择输出分辨率为高清电视的“1280x720”,同时,采用TGA图片序列为最终渲染结果,方便视频编辑软件来合成三维动画视频,最后添加字幕、音乐、配音等完成整个自升式抛石整平船作业流程的三维仿真动画。

5 结束语

三维仿真因能帮助人们建立一个具有身临其境的沉浸感、促进构想与创造的环境,而成为社会各个应用领域发展中不可或缺的高科技手段。研究表明,利用三维仿真技术,在自升式抛石整平船的设计阶段就能直观展现其整体布局及实际的作业流程,使抽象的技术问题形象化,大大方便了船东和设计人员对项目方案进行交流,并提前发现潜在的设计问题,使得抛石船的设计更合理、设备布局更科学,从而避免发生重大经济损失。

参考文献:

[1] 王吉云.港珠澳大桥岛隧工程沉管隧道施工新技术介绍[J].地下工程与隧道,2011(1).

篇4

关键词:仿真;旋转算法;XNA;四元数;矩阵

中图分类号:TP391.41文献标识码:A文章编号:1009-3044(2012)27-6576-03

The Research of Rotating Algorithms in 3D Simulation System

PAN Jun1, SUN Shao-bin2, ZHANG Shi-nan2

(1.Postgraduate Team, Armored Force Academy of PLA, Bengbu 233050, China; bat Experimental Center, Armored Force Academy of PLA, Bengbu 233050, China)

Abstract: Although rotation is the basic operation of 3D emulational system, its accuracy and efficiency are vital for emulational system. Firstly, this article analyzes the principle of rotating algorithms and evaluate its efficiency.And then,according to the advan? tage of the algorithms and the characteristics of current developing platform, synthetical application of the rotating algorithms im? prove the efficient of emulational system. The proof-test of the algorithmic efficiency is carried out in XNA eventually.

Key words: emulation; rotating algorithm; XNA; equaternion; Matrix

三维仿真系统中旋转的方法通常有三种:欧拉角法、矩阵变换法和四元数法。这些方法在具体的应用中各有优势,可根据实际情况进行选择。本文通过对这三种算法的分析,发挥各自优势,提出了一种更为高效的旋转算法。本文所有算法均使用右手坐标系。 2.1欧拉角法

欧拉角的基本思想是将角位移分解为绕三个互相垂直轴的三个旋转序列的复合,用这三个序列来描述任意轴的旋转。为了方便计算,通常将这三个互相垂直的轴设置为与物体坐标系一致。绕X轴旋转的角称为俯仰角(pitch),绕Y轴旋转的角称为偏航角

(yaw),绕Z轴旋转的角称为翻滚角(roll)。在三维空间中,旋转可以通过三个欧拉角(α,β,γ)来定义。依据"z-x-z"欧拉角,在坐标系中的主动旋转矩阵可表达为:

R(α,β,γ)=Rz(α)Rx(β)Rz(γ)

进行乘法运算生成:

欧拉角容易使用,它比矩阵和四元数简单得多,这是因为欧拉角中的数都是角度,符合人们思考方位的方式。当需要为世界中的物体指定方位时,欧拉角能大大的简化人机交互,包括直接的键盘输入方位、在代码中指定方位以及在调试中测试。但欧拉角表示也有它的局限性。因为旋转矩阵是不可交换的,基于欧拉角的旋转一定要按某个特定的次序进行;此外,等量的欧拉角变化不一定引起等量的旋转变化,从而导致旋转的不均匀;欧拉角还有可能导致自由度的丧失,出现令人头痛的“万向节死锁”现象。

在三维仿真系统的开发过程中,为了达到更加真实的效果,增加用户的沉浸感,三维模型做得非常精细,三维动画效果也很细腻。由于模型是基于顶点创建的,在模型运动过程中,将会有更多的顶点进行旋转;不仅如此,为了提高系统的连续性,用户还可以自己定义刷新频率。这些都对旋转算法提出了更高的要求。而在此前的系统开发过程中,程序员使用的算法相对单一。

目前,由于显卡技术的不断进步,GPU已经有了较快的运算速度和较强的运算能力,可以用于分担CPU图形处理方面的工作,例如:渲染、光照、场景的虚拟变化等等。不仅如此,GPU中集成的矩阵运算逻辑还可以帮助编程者更方便的进行坐标变换,可将大量的附属变换操作通过HLSL传递给GPU进行运算,从而减少CPU的运算压力。因此,在三维仿真系统的开发过程中,针对CPU和GPU各自特点,笔者认为有必要将四元数法与矩阵变换法进行综合运用。下面是使用XNA对3D模型运动进行设计的例子。

在3D模型的设计中,为了提高动画效果,可使用骨骼进行连接。而在3D模型的驱动过程中,可在CPU中对骨骼的旋转使用四元数法进行运算;将运算所得的四元数转换为骨骼的最终变换矩阵,而后将骨骼的最终旋转矩阵及附着在骨骼上的顶点的通过HLSL传递给GPU进行矩阵变换运算及渲染,最后在CPU中对模型进行绘制。

篇5

关键词:五轴机床;三维建模;运动仿真

0 引言

五轴加工的建模和运动仿真一般应用在较复杂的曲面加工技术上,如大型船用螺旋桨。五轴机床加工中心采用了直流电动机、高速旋转电主轴,结合了机电、通信的优势。一台机器就可以对付各类加工模式,这是未来“加工中心”全能设备的体现,将能成为真正实用意义上的加工中心。

1 五轴机床的概述和优势

1.1 五轴机床

五轴联动机床是在传统三个线性坐标(X,Y,Z)轴的基础上增加两个可旋转坐标轴,工件一次夹装即可以对五个面的同时加工,也可以完成复杂空间曲面的高精度加工[1]。五轴机床通常有三种结构:(1)单转台单摆头五轴联动机床;(2)双转台结构五轴联动机床;(3)双摆头五轴联动机床。

1.2 五轴机床的优势

(1)适应范围广 程序是可编写式的,因此当加工不同零件时,只需改变程序,不改动其他设备。(2)加工效率高 数控设备加工时可采用较大的切削量,能缩短零件加工所需要的时间。(3)产品有稳定的加工精度,提高了加工质量。(4)劳动强度较低 数控设备的自动化程度高,无需工人进行繁重的作业操作。

2 五轴机床的三维建模

对于vericut软件,由于软件本身带有三维建模的功能,能创建方块、圆柱、旋转面轮廓等模型,但是这些只能创建一些简单的机床,对于五轴机床,由于结构形式的复杂性,采用vericut创建不能实现,需要在Proe中创建机床模型,然后在导入到vericut中。在vericut中机床部件一般都是相对于机床坐标系创建的。在Proe的机床模型上创建合适的坐标系,将会降低导入过程可能出现的仿真模型的错误。还应该注意在Proe中创建完模型之后,保存文件的格式,应该是vericut能够识别的格式。

2.1 新建一个项目文件

选择“文件”-“新项目”-“毫米”,写入你要建立的文件的名字。根据加工的仿真要求,在项目树文件中对项目树写的各项,如数控系统、坐标系统、加工刀具等进行相应的设置。

2.2 定义机床运动构件

(1)定义Base部件。由于底座已经在Proe中画好了,只需要导入到VERICUT软件就可以了。首先在菜单栏中点击显示机床组件按钮,则所有的节点就显示在项目树中了。然后在Base(0,0,0)节点,点击鼠标右键,选择“添加模型”,选择“模型文件”,然后导出已画底座模型。(2)右击Base,点击添加X线性轴-在“位置”文本中定义X轴零点。在X轴上,右击添加Y线性轴-在“位置”文本中定义Y轴零点。(3)跟 X线性轴并行的位置,定义线性Z轴-在“位置”文本中定义Z轴零点。(4)定义B旋转轴。在Y轴下,右击添加B旋转轴(Spindle),在“快速速度”中定义B速度。然后添加模型。右击B旋转轴,点击主轴,定义模型,完成操作。定义C旋转轴。在Z轴节点下添加C轴,(5)定义Tool轴。在Spindle轴节点下添加Tool轴。(6)移动“附属”组件。在“附属”右击选择剪切,粘贴在C轴下。按照上述步骤定义完成主要机床部件。调入各轴组件之前,为使装配位置不变,在添加轴组件模型时让其向方向移动相同的距离。

2.3 机床配置

在机床运动结构定义完成后,需要进行机床初始化设置。打开“配置”-“机床设定”命令,弹出机床设定对话框。

(1)加载机床文件:选择配置--机床--打开机床文件命令,选择在Proe中画好的模型的存储位置,就可以把画好的机床模型导入vericut里面了。(2)控制系统的导入:配置-控制--打开控制文件,也可以在项目树中“控制”节点下打开“机床库”,在文件列表框中选择“hei530.ctl”便将此系统加载到机床文件中(3)安装圆形毛坯:在组件树中选stock(0,0,0),在添加模型中,选择圆柱。然后在“配置模型”对话框中,选择“模型”,进而输入圆柱的高、半径。(4)新建刀具:在项目树中双击“加工刀具”选项,弹出“刀具管理器”对话框,然后选取“添加”--“铣刀向导”对话框。由于一把完整的铣刀是由刀夹、引伸、切刀三部分组成,设置完刀具之后,要进行刀夹的设置,根据提示,完成一系列的刀具设置。(5)加工程序导入:在项目树中,双击”数控程序”,在“配置NC程序”添加“NC程序文件”按钮,然后根据提示选择,根据编写的加工工艺过程添加的相应加工程序。(6)G代码偏置:在项目树中双击“G代码偏置”,将偏置名由“机床零点”改为“工作偏置”,将寄存器中的值由“1”改为“54”,单击“添加”按钮,完成 G代码的添加。

2.4 碰撞干涉检查的设定

(1)确定已选中的“开机床仿真”复选框。在碰撞检测标签中,选中“碰撞检测”复选框。在“忽略在切刀和毛料间的碰撞”下拉列表框中选择否。在“碰撞间隙文本框”中输入2.0。(2)在机床设定对话框中,单击“表”标签,单击“添加”按钮。在“位置名”下拉列表框中选择初始机床位置。在“子系统”名下拉列表框中选择1。在“值”文本框(3)在机床设定对话框中,单击行程极限标签,选中超程错误复选框。

2.5 加工仿真

利用Vericut对叶轮零件进行加工仿真。在仿真之前,通过面板设定碰撞检查和行程检查值,结合信息栏对仿真进行分析和检测[2]。

3 结束语

本文对五轴机床的发展做了简单阐述,提出了五轴机床的概念,对比出了五轴机床的独特地位和优势。另外,还整理出五轴机床建模和仿真的开发思路和研发成果。该五轴机床以其方便快捷和强大的功能获得了一致好评。

参考文献:

[1]何志伟.数控加工过程建模和仿真的研究与应用[J].组合机床与自动加工技术,2004(03):5-7.

篇6

【关键词】离散元法;泥石流;三维流态;PFC3D

中图分类号:K92文献标识码A文章编号1006-0278(2015)11-137-01

泥石流是由多种因素激发含有大量泥沙、石块等的松散土体与水体混合的特殊洪流,是介于崩塌、滑坡等块体运动和高含沙水流运动之间的一系列流动过程,具有迸发突然、来势凶猛,毁坏性强等特点。我国长期受到泥石流灾害的困扰,泥石流灾害分布范围很广,发生频繁,造成巨大的损失。2010年8月7日甘肃舟曲发生的特大山洪泥石流造成1748人遇难,直接经济损失超过14.1多亿元;2012年5月10日甘肃岷县发生特大冰雹山洪泥石流灾害共造成49人死亡,35.8万人受灾,直接经济损失超过68亿元;2015年8月9日温州市因台风“苏迪罗”引发山洪泥石流造成12人死亡,5人失踪。

泥石流运动属于非定常的复杂多相流流动,其研究内容属于多学科交叉复合。当前对泥石流的研究注重于流动机理的理论研究,提出了宾汉体模型、膨胀流模型、粘塑流模型等泥石流运动模型。但这些模型无法全面描述泥石流的运动,并且很难得到解析解,因此数值计算仿真显得很重要。本文基于离散元法对泥石流的三维流动形态进行数值仿真,对泥石流的理论研究和实际应用都有重要的价值和意义。

一、离散元法及PFC3D程序

离散单元法(Discrete Element Method, DEM)是一种研究非连续性颗粒物质结构和运动规律的一种数值方法,由Cundall和Strack于1979年最先提出。其基本思想是把不连续体或者连续体离散为具有一定物理意义的独立“微元”或“粒子”,相邻单元之间存在一种或几种作用力,单元的运动受牛顿第二运动定律支配,得到各个离散单元的运动方程,用时步迭代的方法求解各单元的运动方程,更新单元节点的速度、位移等物理量,进而得到整体模型的形变和运动形态。

PFC3D是由1979年Cundall和Strack推出的三维圆球程序TRUBAL发展而来,通过离散元方法来模拟球形颗粒介质的运动及其相互作用,既可直接模拟球形颗粒的运动与相互作用问题,也可以通过两个或多个颗粒与其直接相邻的颗粒连接形成任意形状的组合体来模拟块体结构问题。颗粒单元的直径可以是一定的,也可按高斯分布规律分布,单元生成器根据所描述的单元分布规律自动进行统计并生成单元。PFC3D既可解决静态问题也可解决动态问题;既可用于参数预测,也可用于在原始资料详细情况下的实际模拟;还可以用PFC3D模拟试验代替室内试验。PFC3D在模拟颗粒间的相互作用、大变形、断裂等方面应用广泛。

二、泥石流模型的建立

以甘肃省永靖县境内某一条泥石流沟为模拟研究对象,根据文献[3]中提供的泥石流沟地表数据点在3dsMAX中建立样条曲线,再通过样条曲线生成较为光滑的沟壑曲面,最后导出PFC3D支持的STL三角网格模型(图1),限于计算规模,仅取沟壑段长100m,沟壑宽度为20m。3dsMAX生成的网格较为粗糙,不能满足计算要求,再到HyperMesh中细化网格(图2),通过节点耦合排除网格模型中存在的裂隙、孤立边等几何缺陷保证STL模型的有效性,并统一三角网格的方向确保能正确计算颗粒跟网格之间的接触问题。最后编写FISH函数将细化后的、有效的STL模型读入PFC3D程序中(图3)。

编制颗粒生成FISH子程序,生成大小不一的颗粒,并根据文献[4]中直剪试验结果设置颗粒的摩擦系数为0.25,密度2.147,法向接触黏接强度、剪切黏接强度均为6.7Kpa。假设墙体静止不动,并赋予其相应的接触刚度和剪切刚度。

三、泥石流流动形态仿真

颗粒在重力的作用下下落,并受建立在山体上的一个壁面约束,堆积在山体上,不沿沟壑流下,模拟泥石流爆发前,颗粒的堆积和所建立的拦挡坝对泥石流的拦挡作用。

删除沟壑模型上加的约束壁面(相当于拦挡坝在地震、暴雨冲刷等外力的影响下发生破坏,失去拦挡作用),颗粒流启动,开始在沟壑中流动。颗粒颜色代表颗粒速度,从深蓝色到红色,速度从0 m/s逐一递增到14 m/s。

由结果可见,初始3s时,开始流动的颗粒流顶部的颗粒势能大,并且受到约束较少,释放能量快,速度较大;图a、b中,同一高度,不同尺寸的颗粒速度基本一致,但图c-e中,同一高度,小颗粒速度明显高于大颗粒速度,且跑在最前线的是小颗粒,这是由于小颗粒的相对接触面积小,能量损耗少;颗粒从较为陡峭的坡面流下来后,几乎在水平面上前行,由于能量的耗散,速度逐渐减慢;最终有少数颗粒停留在第一个台阶处。

四、结语

本文将泥石流体简化为相互之间有粘接效应的颗粒,通过PFC3D模拟泥石流的三维流态。本文先在3ds Max中建立山体沟壑STL模型并导入HyperMesh中细化,再导入到PFC3D中,然后生成大小不同的颗粒模型,最后模拟泥石流的堆积、启动和流动等过程。本文采用离散元分析特定情况下的泥石流流态具有一定的研究价值,是后续模拟泥石流防护措施的基础。

参考文献:

[1]袁道先,谢云鹤.岩溶与人类生存、环境、资源和灾害[M].桂林:广西师范大学出版社,1996.

[2]孙其诚,王光谦.颗粒物质力学导论[M].北京:科学出版社,200

篇7

关键词:DEM;Vega Prime;MetaFlight数据;作战模拟

中图分类号:TP391文献标识码:A 文章编号:1009-3044(2008)20-30377-02

Three Dimensional Virtual Scene Real-time Simulation of Large Area terrain Based on MultiGen Vega Prime

XING Ying, ZHAO Zhen-nan

(People's Liberation Army University of Science & Technology, Nanjing 210007,China)

Astract:This article bases on the simulation of battlefield to create the three dimensional terrain with CTS and analysis the theory that the data of large area terrain how to be organized and transferred and realize Virtual Scene Real-time Simulation.

Key words: DEM; Vega Prime; MetaFlight Dataset; Campaign Simulation

1 引言

通常数字高程模型DEM数据越精确,卫星遥感数据分辨率越高,场景就越真实。但仿真区域越大,DEM数据量也就越大;真实感越高,需要的多边形就越多;纹理越精细,需要的纹理内存就越多。如何实时处理这些海量的数据,就成了实现大场景的漫游的关键。目前在视景仿真领域用于视景场景管理的软件种类很多,比较流行的有MultiGen VegaPrime、OpenGVS、Vtree、WTK、Open Invetor等。其中VegaPrime作为当前实时视景仿真领域的主流高层开发平台,是一种高性能的场景管理软件,用于实时视景仿真、虚拟现实、科学计算可视化等。本文从分析大地形数据组织调用原理入手,最后基于VegaPrime实现三维大场景地形的调用、管理及实时动态操作。

2 数据的准备

本文采用覆盖范围为117°-E125°E,22°N-30°N 的卫星图片和1:250000DEM数据,对纹理及各类数据进行优化预处理,依据所选工具软件CTS的要求,根据纹理所覆盖的区域和卫星影像分辨率,确定地表采样间距、虚拟纹理的层数以及相应地形的LoD个数 ,对原始卫星影像进行融合、拼接、分割等处理,制作满足地形要求的映射纹理。

3 基于VP的大地形管理调度原理

Vega Prime是MultiGen-Paradigm公司推出的实时视景仿真软件环境,主要包括两个方面:一是可视化的图形编程环境Lynx;二是完整的C++语言应用程序接口API。

3.1 大地形管理与调度的方法

如图1 DEM数据通过专业地制作软件CTS生成Vega prime所识别Metaflight(*.mft)文件,Lynx prime场景编辑器和Vega Prime LADBM(大规模数据库管理)对其进行加载管理,通过大地形管理接口函数对场景实施实时动态操作。

Vega Prime首先把地形数据分割,将大面积地形分割成若干地形单元文件。在调用的过程中,根据观察者当前的位置及视线方向确定感兴趣区域(AOI),近距离区域装载高精度的地形单元文件,远距离区域装载低精度的地形单元文件。最后,把相应的纹理与地形单元匹配,就生成了地景库。在对地景进行处理的基上,系统还需要建立子线程对地景库进行管理和动态调度,首先根据观察者的位置,确定感兴趣的区域AOI,映射相应的地形文件;当观察者位置改变时,带动兴趣区域AOI的变化,当变化超过设定的临界值时,将不再感兴趣区域AOI内的地形文件取消其映射关系,使其从物理内存中消失。将新出现的在感兴趣区域范围内的地形文件映射到物理内存,而且那些一直在感兴趣区域内的地形文件保留原有映射关系;当新旧地形文件的数据融合后,通知主线程,进行绘制。

3.2 MetaFlight文件

Metaflight 文件类型采用了XML (extensible Markup Language)语言来描述地形数据库。XML语言是一种有严格语法要求的元标记语言,其最大优点是允许自定义一套标记来开发与自己领域相关的标记语言。MetaFlight 就是用XML来将整个地形数据的数据结构、组织形式、文件命名方式、坐标系统所构成的复杂数据库进行描述的。(如图2)

采用XML语言描述地形数据库的Metaflight文件本身并不包含具体的几何形状数据,它主要描述了构成数据库的众多文件(flt格式、fst格式和pfb格式文件等)的组织形式。采用XML语言描述地形数据库的Metaflight文件在地形是数据库生成工具CTS和实时应用软件Vega Prime之间起到桥梁的作用,传达地形数据库以及地形任意子部分的信息,方便有效地实现数据的转换、载入和使用。采用XML还可以方便地被Vega Prime、Sitebuilder 3d 或其它含有XML 文档编辑器的软件所读取和编辑,适用范围比较大。

本文将卫星图片切分成分辨率为1600*1600的小块,经计算制作纹理12层,地形为3 LOD,采样为8*8。

4 场景调度管理实现

用Creator软件工具制作场景中的重点目标、机场及机场三维建筑物10 ∶ 1实物模型,将模型以及CTS生成的地景数据库导入到Vega Prime中,使用大地形管理模块LADBM进行管理,可使用Vega Prime的GUI和进行二次开发来完成场景的调度漫游。

运用Vega Prime进行场景的驱动与渲染

UINT runvpApp( LPVOID pParam )

// 实例化Vega Prime的应用实例

result = vp::initialize(__argc, __argv); // 初始化vega prime

vsgu::initialize(__argc, __argv);

pOwner->setVpInitted( true );result=vpKernel::instance()->define(pOwner->getAcfName());

// 加载acf文件

result=vpKernel::instance()->configure();

// 参数配置

pOwner->setVpConfiged(true); pOwner->postConfig();

while ( pOwner->getContinueRunning() // 仿真循环

int frameNum = vpKernel::instance()->beginFrame();

pOwner->postSync();// 帧同步

pOwner->vpUpdate();

result = vpKernel::instance()->endFrame();

pOwner->postFrame();

vpKernel::instance()->unconfigure();

pOwner->unref(); // 取消实例引用

vpKernel::instance()->breakFrameLoop();

vp::shutdown(); //关闭Vega prime

5 结束语

平台使用英特尔双核处理器,CPU 2.0 GHz ,内存为1G,显卡为ATI HD 2400,显存128 MB计算机。在大地形的漫游过程中,祯画面比较流畅,基本上达到仿真的效果(如图3)。使用Vega Prime实现场景管理调用基于线程的。线程作为基本的执行单元,划分较小且共享内存单元,一定程度上提高了执行效率。本文基本解决了大场景调用的问题,但在地形精细度和纹理的精确度上还有待改进。

参考文献:

[1] 汪连栋,张德峰,聂孝亮,马孝尊.电子战视景仿真技术与应用[M].北京:国防工业出版社.

[2] MetaFlight Concept Guide Version 1.2January 2005MultiGen-Paradigm, Inc.

[3] 杨丽,李光耀。城市仿真建模工具-Creator软件教程[M].上海:同济大学出版社.

[4] 周建龙。计算机图形学理论与OpenGl编程实践[M].广州:华南理工大学出版社.

篇8

一、三维仿真人像摄影模型与摄影教学改革

(一)什么是三维仿真人像摄影模型

三维仿真人像摄影模型,是基于摄影的形式,对被摄者相貌和神态进行不同角度的拍摄,获得一组18-33张的人像图片集,使用专业三维平台建立数字模型及全景工具软件制作而成的,360°旋转效果的高品质立体人像摄影文件,制作完成后可以使用IE浏览器或播放软件观看,并操作鼠标控制改变角度及大小。

(二)三维仿真人像摄影模型在教学改革中的作用

三维仿真人像摄影模型在教学改造中主要有两大作用:(1)能够建构灵活的自主学习方式。学生的实践训练可以从目前的依靠印象到具体技法的反复观察、反复对比,从抽象模糊的学习到具体精确的学习,大大提高人像摄影课程的学习质量和效率。(2)能够及时更新教学内容和方法。基于数字摄影高质量、低成本及后期制作便捷的特点,可以使三维仿真人像的实物模型更新快,使多年不变的教学方法日新月异,跟上摄影技法的变革,为培养适应未来社会的发展培养具有创新能力的人才奠定基础。

二、三维仿真人像摄影教学模型的拍摄与制作

(一)三维仿真人像摄影教学模型的拍摄

1.拍摄准备。模特;条件完备的摄影棚;专业数码单反相机;单反专业广角至中长焦变焦镜头;三脚架;云台;快门线;可以360°自由旋转的高脚凳;一张圆形的硬纸板。

2.拍摄方法及步骤。(1)选择一位肤色白皙、五官端正的模特,简单裸妆,露出脸部部分,表情自然生动,眼睛均向斜上方45°的状态,体现自然感。(2)在摄影棚内使用四盏大型闪光灯布平光及背景光。(3)让模特坐在可以360度旋转的高脚凳上,并在凳子下方放上标注刻度的圆形硬纸板。(4)相机固定在三角架上,放置在圆形纸板的中轴位置,固定不变,按照纸板的刻度旋转高脚凳,拍摄10-16张照片,此时,模特要保持身体重心不能偏移。

(二)三维仿真人像摄影教学模型的制作

后期制作需要采用Adobe Photoshop(PS)图像处理软件及Object2VR 2.0三维图像拼合软件。制作方法和步骤:

1.色彩影调控制。用PS软件调整每张照片的色彩、曝光及中轴线,使所有拍摄照片的这三个因素都保持统一。

2.三维合成。用Object2VR 2.0对处理好的图片进行三维合成,一般情况下选用12张图片进行合成比较适合人眼的观看方式,较为流畅、自然(具体的操作方法因篇幅有限省略)。

3.生成文件。针对Flash、HTML5、Quicktime等播放模式生成不同的格式文件,例如用Flash就生成swf文件,该文件可以用鼠标拖动旋转并放大和缩小。

三、三维仿真人像摄影教学模型的教学作用

将三维仿真人像摄影教学新模型应用到课程中,主要从以下几个方面进行实践探索,并取得了一定的效果。

(一)课堂教学从“填鸭式”转变为“自助式”

改变了以往PPT为主的课堂教学模式,形成了多视点、立体化、互动式的课堂教学,更好地实现了以学生为中心的教学方式,从而使课程教学从‘填鸭式’顺利转变为‘自助式’,加强了学生基础知识的掌握。

(二)实现学习成果实时参照对比

学生可以通过教学模型与拍摄的实际照片进行对比,也可以把模型存入电脑或手机与现场拍摄操作进行对比,从而控制实际拍摄的角度、光线等因素,加强拍摄的精准性,大幅度提升了专业技术的学习效率及质量。

(三)提高学生对模型的开发能力、创新能力

课程教学过程通过运用新的教学模型并结合分小组、项目式教学方法,让学生在运用新教学模型的同时研究及制作除更多、更精美的教学模型,为今后的课程‘自助式’教学提供更多、更有效的模型资源。

篇9

关键词:OpenGL;高仿真;贴图技术

一 问题的提出

(1),营销手段的进步,对商品模拟软件的需求

技术的发展已经慢慢进入了人们的生活,以前买东西,你可能在犹豫这个东西是否适合自己家的氛围,购买时犹豫不决,现在的营销模式改变了这一现状,很多厂家将三维仿真技术用到了商业促销上,提高了成交率。例如你要为自己家里选择木地板,但你不知道选择什么颜色和花纹适合自己家,商家通过计算机将铺装后的效果展现出来,供消费者决策。

(2),商品模拟软件开发可以使用OpenGL技术

OpenGL技术完全可以胜任仿真物体的任务,OpenGL 是最早出现的图形接口标准,它以动态库的方式提供给软件开发者所有图形绘制接口函数。OpenGL易学易用,开发方便,本文重点就是讨论OpenGL技术中比较关键技术之一,即贴图技术,选用DELPHI 7做了演示程序。

二 相关概念和实现工具

(1),建模

现实世界中,固体物体正常状态下都有固定的形状,仿真物体,首先要对物体建立模型,任何物体的表面都可以用无数个小三角形或者多边形去逼近,这些三角形和多边形都有各自的顶点坐标,根据这些坐标与OpenGL坐标系之间的对照关系,就可以将物体置放到虚拟世界中。

(2),OpenGL纹理与贴图

现实世界中的物体表面往往有各种纹理,仿真时需要给物体加上纹理,同时结合光照和材质参数的设置,使物体看起来更真实。OpenGL编程的重点是图形的生成和如何逼近真实效果。纹理贴图技术贯穿于整个OpenGL技术体系纹理和贴图时两个并行的概念,物体有纹理,而纹理是通过贴图技术来实现的。 

(3),单片贴图和重复贴图

贴图最基本的方式有两种,一种方式是单片贴图,比如对一扇门来讲,我们就应该用单片贴图方式。如果是目地板或者瓷砖,因为需要好多地板或者是瓷砖,就需要重复的贴图。贴图的方向需要注意,图片的顶点和物体的顶点要一一对应否则,图片就会颠倒,下图就是图片和物体表面顶点的对照关系。

                  图 1

(4),贴图的右手法则

在实际的开发工程中,经常发现贴上去的图,无论如何显示不出来,坐标都是正确的,但是无论如何贴图无法显示。所以一定要注意贴图遵循右手法则:即面对你要观看的物体,深处右手,大拇指对向你的脸,手指的方向就是贴图的次序。

(5),阴影

阴影的实现过程的操作可以说是一条深度比较指令。根据场景物体像素在光源视觉下的深度得到的阴影图,在视图转换阶段对应相机视觉中的像素判断是否属于阴影图中的像素,这本来就是一个TRUE OR FALSE的判断,若TRUE证明非阴影,像素颜色值不变;若FALSE则涂黑,以表明该处阴影,例如,当门打开时,我们需要实现阴影。或者当放置物体时,我们需要在地板或者地板瓷砖上建立阴影。

三,以家装中贴图为例,说明三维物体贴图技术具体实现过程

1, 编程实现贴图的一般过程

(1),定义纹理

有两种方法定义纹理:连续法和离散法。连续法把纹理定义为一个二元函数,函数的定义域就是纹理空间。而离散法则是把纹理定义在一个二维数组中,该数组表示纹理空间中行间隔和列间隔固定的一组网格点上的纹理值。网格点之间的其它点的纹理值可以通过对相邻网格点上纹理值进行插值来获得。通过纹理空间与物体空间之间的坐标变换,可以把纹理映射到物体表面。

(2)纹理贴图方式

OpenGL用于纹理贴图方式的函数为glTex~v(),该函数的原型(以glTexEnvf形式为例)为:voi  dglTexEnv(Gl_enum  target,Gl_enum  pname,GLfloat  param)其中target参数必须为GL_TEXTURE_ENV,pname参数必须为GL_TEXTURE_ENV_MODE,而参数parmn为GL_MODULATE、GL_DECAL或GL_BLEND。纹理坐标可以是1、2、3、4维的,通常用齐次坐标来表示,即(5,t,r,q)。OpenGL定义纹理坐标的函数为xCoord()。

2, 程序贴图后的效果

   

                                图 2

3,关键代码与技术

(1)建立模型。

  房屋的模型可以通过如下代码设置顶点坐标,与纹理坐标和顶点坐标对应。类似于如下代码实现。

glBegin(GL_QUADS);

glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f, -1.0f,  1.0f);  glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.0f, -1.0f,  1.0f);  glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.0f,  1.0f,  1.0f);  glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f,  1.0f,  1.0f); 

glEnd();

(2)确保贴图不颠倒

在程序中,窗户和门,墙壁,顶棚和地板都是通过绘制矩形的方式来实现的,然后对这个矩形四个顶点分别和纹理的四个顶点相对应,使图像能正常显示出来不会颠倒,具体形式如下。 

    glBegin(GL_POLYGON);

    【代码含义】定义及即将绘制矩形

for F:=0 to FaceCount-1 do

    【代码含义】对三维物体中存在多少平面进行逐个处理

    for iVertex:=0 to 3 do

    【代码含义】对每个平米的四个坐标进行逐一的处理

    begin

        glNormal3f(Normals[iVertex].X, Normals[iVertex].Y, Normals[iVertex].Z);

    【代码含义】定义光照的法向量

        if Material.HasTexture then

【代码含义】如果物体定义了贴图,则用下面的代码定义纹理的坐标

          glTexCoord2f(TexVerts[iVertex].X, TexVerts[iVertex].Y)

        else

    【代码含义】否则用下面的颜色代码,显示颜色。

          glColor(Material.Diffuse.Vector.Red,Material.Diffuse.Vector.Green, Material.Diffuse.Vector.Blue);

        glVertex3f(Verts[iVertex].X , Verts[iVertex].Y , Verts[iVertex].Z );

      end;

    glEnd;

      这里有三个OpenGL 的关键函数, glNormal3f,glTexCoord2f glVertex3f。

分别定义了这个顶点的法向量位置,纹理坐标的位置,和顶点坐标。

如果法向量的位置设置错误,那么光照将不能很好的表现出贴图的效果,会使物体看上去没有真实的感觉。纹理坐标决定该坐标点对应于图片的哪个角。顶点坐标 就是物体的某个顶点的空间位置了。

(3) 重复和单片贴图技术实现。

篇10

关键词:MAXSript;勾线效果;晕染效果;合成效果;彩墨效果

中图分类号:TP391.41 文献标识码:A 文章编号:1007-9599 (2012) 21-0000-03

近几年是中国不平凡的几年,“中国热”现象持续升温,中国特色动画形式——水墨动画经历辉煌、沉寂之后,以三维技术的形式再次吸引了大家的眼球。

传统水墨动画曾因难度大、耗时耗力而难以为继,三维水墨技术将水墨动画的难度一再降低,但水墨动画并没有普及,而水墨效果的模拟已经成为制约水墨三维动画发展的拦路虎。

水墨风格效果仿真的处理方式主要为两类:一类是基于物理原理的模拟,另一类是基于图像特征提取的模拟,以及再现。第1类方法的特点是绘制,以原画绘制为主体,水墨效果以位图为材质基本元素,效果好,但缺点是非常耗时。第2类方法的特点是更加快速,但绘制效果不如前者逼真,且开发技术难度大。

从制作动画的角度考虑:使用第1类方法需要大量原画人员,且只能进行离线渲染;使用第2类方法渲染速度快,适合应用于网络游戏及动画领域。

如何更好的拥有渲染速度快及技术难度低一点的水墨效果设计方法,是一个值得研究的问题。

1 MAXScript脚本开发技术

3ds Max作为国内用户最多的三维动画设计软件,大受用户欢迎,然而其三维脚本插件技术却鲜为人知。近几年各高校动漫专业遍地开花,动漫学习者人数每年逐次增加,而知道或者听说过MAXScript的却寥寥无几。对于熟悉3ds Max的人来说,脚本绝对可以带给大家全新的理念。

1.1 艺术设计群体脚本开发技术分析

一部动画片是否“好”,不在于其所使用的是什么技术,技术故事画面和情节能否打动人才最关键。真正好的动画片,靠的是故事本身的感染力和情感诉求与观众产生共鸣。作为其表达情感的一种方式,如何更好地利用现有技术来为展现画面感染力服务,是设计者最关注的。动画艺术设计者可以没有很好的“高深”技术编程能力,但一定需要具备发现美、展现美的能力。因此,艺术设计者往往会将更多的精力用于后者的培养,应用编程技术来开发作品的能力则一般较低。

而三维动画或为了达到更真实更具美感的效果,或为了更快速而有效的完成某一特效,需要更多功能强大的应用软件或插件来实现。

然而CG设计行业的现状是,插件设计者与一线的艺术作品设计者交集较少。尤其国内,插件开发者一般从事图形学和三维重建等的研究,而作品设计者一般是艺术设计专业人才[1]。如何将艺术创作和需求的插件设计结合起来,使基于插件开发的群体更好地把握所需特效的精髓,是需要解决的一大问题。

1.2 MAXScript脚本特征分析

MAXScript脚本语言最大的优势——易学易用。MAXScript非常适合没有编程基础的大众用户特别是艺术设计类用户学习。因为它的语法格式和规则非常少。MAXScript脚本语言除了能把脚本做成工具栏的按钮以外,还可以通过命令行窗口将用户在3ds max用户界面中的操作转化为MAXScript脚本。

脚本语言必须具备的特点——功能强大。MAXScript语言具备一般程序语言的普遍特点,而且几乎可以实现所有3ds max界面下的交互操作。MAXScript完全基于OpenGL以及VC核心制作,功能强大。如果能好好利用MAXScript,完全可以在3ds max里实现许多MAYA等工具的优势功能。

与国内应用最广的三维动画软件3ds max——融合最好。MAXScript是3ds max内置脚本语言,是3ds max软件最好的表达式和插件编写工具。MAXscript很好地融入到了3ds max用户界面中,可以将脚本集成为程序面板、卷展栏、浮动窗口或者工具栏中的一个按钮,也可以用来扩展或替代对象、修改器、材质、贴图、渲染效果和大气效果的默认设置界面。

1.3 MAXScript脚本开发技术应用

3ds max中的插件又称作外挂滤镜(Plug_in),3ds max允许用户对软件功能进行重新卡发,对软件功能进行扩展和完善。因此,3ds max中已有的外挂滤镜,大部分可以重新被扩展,或重新定义——在MAXScript脚本语言中这种能力被称为“规划移植”[2]。

MAXScript并不能对所有的插件进行新对象的扩展,部分插件类型限制只能对已有的插件进行功能性扩展,如本插件中需要用到的贴图插件。还有个别插件类型暂时还被限制扩展。在编写MAXScript插件时必须指定对应的插件类型,才能调用该插件类型的相关属性。

MAXScript脚本文件大致可分为3种类型:程序型脚本(.ms)、插件型脚本(.ms或.dlx)和宏脚本(.mcr)。

根据类型的不同,文件名和所使用的方式也有所不同。3ds max软件本身提供了很多脚本范例,都可以直接使用,有些非常优秀。另外,国外的一些脚本网站也提供了大量的免费或收费脚本。

3ds max脚本扩展名为*.ms,可以使用记事本来编辑脚本另保存为*.ms,3ds max内置有一脚本编辑器,通常使用这种方式来编写脚本。

MAXScript脚本语言因其语法格式和规则非常少,操作相对简单,适合没有编辑基础的用户。国外有不少免费学习网站,同时还有不少优秀的免费插件开源,对于学习MAXScript脚本语言有较大的帮助。

2 基于MAXScript的水墨效果仿真

水墨笔触的特点遵循了中国特色艺术特点,所谓“大音希声,大象无形”,描述的是一种和自然融为一体的境界[3]。水墨笔触就是一种墨水与宣纸融为一体,墨的浓淡、宣纸不同位置对墨水的吸收自然呈现,仿佛自然存在于宣纸上,没有刻画痕迹的特殊笔触,对水墨笔触的模拟难度是可想而知的。

ChineseMaterials水墨材质插件是对水墨晕染[4]与勾线效果[3]的仿真设计。通过MAXScript脚本语言对3ds Max的标准材质插件进行扩展,得到本插件。插件功能模块如图1。插件功能结构表如表2。

由于两部分功能是独立存在的,所以,对造型的笔触描述可以根据实际场景进行部分效果的模拟,如有些造型不需要勾线效果,只注重内部墨水的自然晕开,就可以只应用“晕染效果”功能直接设计对应材质。

3 仿真效果算法设计

ChinesePainter插件主要实现了对水墨笔触的模拟,通过材质实现模块的“勾线效果”、“晕染效果”、“合成效果”、“彩墨效果”四个子模块,实现了对水墨效果和彩墨效果的模拟。

3.1 “晕染效果”效果仿真

水墨材质插件ChinesePainter 的“晕染效果”模块是本插件的核心部分。主要用来调制水墨材质的内部墨水晕开的效果。具体设计算法如下:

Step1 设置材质的不透明度贴图为衰减贴图。通过设置衰减贴图的颜色、类型、衰减方向并调整混合曲线,得到衰减效果。

Step2 设置衰减贴图1为渐变坡度贴图。通过指定渐变坡度贴图参数的标志1、2、3及渐变类型、噪波相关参数,得到渐变效果。

3.2 “勾线效果”效果仿真

“勾线效果”模块主要用来模拟外部轮廓线。水墨动画中也有不描绘外部轮廓的造型,所以“勾线效果”模块为可选项。

本程序段的编写具体对材质进行的设置与“晕染效果”类似,不同之处在于参数值的变化。

3.3 “合成效果”效果仿真

“合成效果”部分主要实现“勾线效果”和“晕染效果”两种效果的混合效果,用户需要先设置“勾线效果”和“晕染效果”两种材质,通过“合成效果”按钮指定合成材质的基础材质为“勾线效果”材质,再指定材质1为“晕染效果”材质,即可实现两者的合成效果。

当然,在不同的用户需求下,合成效果的使用情况会有所不同,对于不同动画造型,可能出现部分使用合成效果,部分只取勾线效果或晕染效果一种效果的情况。因此,合成功能当根据实际情况使用。

3.4 “彩墨效果”仿真

“彩墨效果”部分主要实现用户对彩色对象的设置需求,如水墨荷花中的荷花等,自然界的许多动植物都可以调制彩墨效果。

Step1设置材质的不透明度贴图为衰减贴图。设置衰减贴图的color1、color2和curve曲线,并指定衰减贴图的map1为渐变坡度贴图,实现衰减效果。

Step2 设置渐变坡度的渐变参数,如:flag1、2、3的位置和颜色,并设置渐变类型和对应噪波参数,实现渐变效果。

4 实验结果

本文使用上述方法,利用MAXScript设计了Chinese painter水墨材质插件,对多个静态造型进行测试,均达到较真实仿真水墨效果。为了验证将其应用于动画、游戏及其他数字娱乐产业的可行性,而进行了实时动画的制作。本文使用3ds max设计了一个简单茶壶模型,对茶壶模型分别进行了三种水墨效果的渲染。并制作了一部水墨效果动画短片,对其中的花朵应用彩墨效果进行了渲染,渲染窗口大小为800*600(pixel),模型水墨效果仿真如图4,其中图4(a)为晕染效果仿真,图4(b)为勾线效果仿真、图4(c)为合成效果仿真,图4(d)为彩墨效果仿真。

5 结束语

水墨动画作为极具中国特色的动画形式,在经过三维技术重构以后,以全新的形式再次吸引世界的眼球,然而三维水墨技术的开发难度大,本文提出一种基于MAXScript脚本的水墨材质设计方法,操作简单易学,并开发对应的设计插件,可以快速自动生成默认的水墨效果,同时提供自定义模块,供广大艺术设计工作者参考使用。

参考文献:

[1]何芳.基于GPU的3D水墨动画技术研究[D].天津大学硕士学位论文.2008.

[2]王华.3ds MAXScript脚本语言完全学习手册[M].北京:北京科海电子出版社.2006:755-759.

[3] 鲍海燕.从3DS MAX软件到三位动画产业[J].硅谷.2008,(24):194-195.

[4] Bousseau A, kaplanM,Thollot J,et al.Interactive watercolor rendering with temporal coherence and abstraction[C]//Proceedings of the 4th International Symposium on Non-photprealistic Animation and Rendering.New York:ACM Press,2006:141-149.

[5] Luft T,Kobs F,Zinser W,et al.Watercolor illustrations of CAD data [C]//International Symposium on Computational Aesthetics in Graphics,Visualization and Imaging.Lisbon:Eurographics Association,2008:57-63