前言:中文期刊网精心挑选了三维图范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
三维图范文1
关键词 图形引擎 3Dmax建模 设计研究
中图分类号:TP3 文献标识码:A
0前言
地球上的人类以及其它物种自诞生就在一个充满三维物体的三维空间中,而为了使计算机能够准确地再现这些人或物体,则必须在三维空间中描绘这些物体。现今社会发展正处于一个信息高爆发的时代,人们常常在茫茫的数据海洋面前显得不知所措,一时难以抓住隐藏在数据之中的本质、结构和规律,所以我们需要通过计算机是这些实物以抽象化等形式通过一定的软件使之表现出来这些物体和信息加深对现今社会的掌握和了解。从而促进现代社会的发展和充实人们的生活。三维图形引擎技术是种图形生成和图像理解相结合的技术,它赋予人们一种仿真的、三维的并且具有实时交互的能力,尤其是以可视化技术为基础发展起来的虚拟现实技术、三维仿真技术以及科学计算可视化技术,它们的发展及其相互结合使人类认识和驾驭世界的技能得到了极大的延伸。人们可以在三维图形世界中用以前不可想象的手段来获取信息,或发挥自己的创造性思维。
本次课题研究对象为对一个基于3DS MAX建模、DirectX技术实现的三维图形游戏引擎技术设计系统的开发。该系统主要实现对模型的视景交互、实时碰撞检测以及特殊效果的模拟等功能。
1建模的设计与实现
(1)软件建模方法。场景空间的建摸方法一般有两种:第一是把制作好的房屋和地形效果平面图导入3DS MAX中,在3DS MAX中直接利用挤出(Extrude)命令生成立体空间模型。第二种方法则是直接在DirectX中生成一些特定的空间地形效果,同时通过3DMax构建简单的房子等模型效果,然后导入到图形场景空间中。
(2)设计与实现。场景建模是3Dmax建模的重要环节之一,同时也是最为基本的功能之一,所以如何选择合适的建模方法也是极其重要的。为了让场景具有一定的真实感,所以在建模过程中应该注意两个方面:第一是注意创建模型原件的实际尺寸。第二是在满足设计效果图的前提下,尽量将模型做得精简美观,减少模型重复面的出现,提高对模型修改和渲染的速度。
建立了空间场景模型之后,在导入模型之前在创建房屋时,需把房间体模型转换成相关线框形式,选中要创建的房屋模型的基本图元,再选择所创建面的左右两个边,再使用多次挤出(Extrude)命令和进行多边形编辑(Polygon),最终完成房子模型的建模。
2系统逻辑功能设计
一个完整的程序当中个都会存在于一个初始化程序,这一表现尤其表现在大型程序当中如:游戏场景、网络编程等。程序的初始化它可以防止程序发生不可预知的错误,同时也可以用做程序出错时的依据,方便查出程序当中的错误原因,这是一个良好的编程习惯。在这里D3D初始化的作用就是初始化程序的运行功能,防止程序发生错误产生不必要的错误发生。
D3D初始化步骤:(1)获得D3D程序的应用接口指针。(2)检查相关设备技术的功能特性,确定显卡等设备是否正常运行、是否支持硬件顶点处理。 (3)初始化一个D3D应用窗口结构来作为实例,这个窗口包含大量的数据对象,它允许我们创建一个D3D窗口对象程序。
对于模型的创建我们一般采用的3Dmax建模工具来构造一个较为复杂的具有真实感模型,然后使用3Dmax建模工具插件将模型转换成.X特殊模型文件格式。对于生成的X模型文件而言,当一个程序需要被访问时他必须先访问X文件。访问X文件时通过调用程序DirectXFileCreate函数创建一个DX的应用窗口接口,此接口就代表了一个X文件的调用路径或者说是生成路径。创建IDirectXFile接口后,需注册一个系统的定制模版或者标准模版。定制模版是用户根据自己习惯和爱好定制的模板,标准模板则是微软公司自己定义的一种固定的模板。
系统通过调用系统函数IDirectXFile ::RegisterTemplates函数来注册模版。注册模版之后通过调用IDirectXFile::CreateEnumObject函数打开X文件来检查数据对象。在我们图形引擎构建模型中存在两种类型,一种是静态模型,另一种是动态模型。对于不同的模型类型则要采取不同的方式来进行绘制和生成。
3总结
当下游戏场景、建筑、房地产、室内场景设计与游戏和装修相关行业的繁荣发展使得三维建模技术已经达到了一个很高的程度,这种方案的设计将借助计算机变得更加轻松和高效,同时也会产生更加高效的场景设计模型。虚拟现实技术在各种技术应用的驱动和需求的刺激下,得到不断的高效的推陈出新,其应用的相关领域也会更加灵活和广泛。
参考文献
三维图范文2
1创建三维形象
当效果图设计制作者拥有相对较为完善的构思想法之后,需综合考虑平面图纸设计人员的想法,与此同时应该将该种构思采用较为具体的三维形态呈现于脑海之中,参考图纸设计,进行完整性较强策划。因此可以说,电脑效果图设计制作者应该仔细研读平面设计图纸,全面掌握相关图纸给出的厂房结构、标注材料、建筑尺寸等有价值的内容,能够了解相关材料所具备的质感与纹理;将效果图中所展现的室内外建筑结构跟电气线路、周边环境、管线布局等各个方面联系起来,采用较为合理的构图形式,清晰突显各类关系;结合对应思路进行方案制定,运用电脑设备将平面上的图纸转化成为较生动、形象、立体化的三维效果图,便于大家从各个角度出发审视并观察所设计内容,而后择取理想视角,实现高质电脑效果图作品的优化输出。对于整体建筑结构来说,室内以及室外建筑的三视图是对其展开说明需参照的基础性依据,为此要求相关的效果图制作者需具备良好的三维空间感官能力,便于其灵活运用3dsmax软件。
2布置灯光
制作效果图的进程当中,为实现对场景气氛的有效调整,必须根据实际情况设置灯光。通过灯光的立体化作用,能够直接决定三维效果图的层次感,不论一幅优秀的效果图能拥有多么出色的材质和造型,若是其未能拥有优化的灯光布局设置,那么其产生的效果也会大打折扣,为此需合理设置灯光,获取较为满意三维效果图成果。
3结语
三维图范文3
关键词: 三维图像; 运动合理性判断; 运动数据采集; 仿真模型
中图分类号: TN911.73?34; TP242 文献标识码: A 文章编号: 1004?373X(2017)08?0022?03
Study and simulation of motion rationality judgment method based on 3D image
QIN Guohui
(Baoshan University, Baoshan 678000, China)
Abstract: As the judgment efficiency and the accuracy of movement rationality of the traditional judgment method are not high, a motion rationality judgment method based on 3 d image is put forward. A 3D image human motion model is used to acquire human motion data. Taking the body's metabolism speed and lactic acid content in his muscle as the classification basis, the implicit sport injury data and reasonable human motion data are classified. The human body state characteristic analytic function is used to analyze whether the human body state in the classification results is legal. The acquired legal data is input into the simulation model of movement rationality judgment. By means of direct and inverse dynamics, the human body structural parameters are determined and the motion rationality judgment result is given. The experimental results show that the proposed method has low motion simulation error, and high judgment efficiency and accuracy.
Keywords: 3D image; motion rationality judgment; motion data acquisition; simulation model
运动合理性判断是电子科技领域极具创造性的研究项目,同时也是医疗领域中疾病预防与诊治的重要手段。近年来,运动合理性判断方法的研究与仿真已逐渐成为学术界共同探讨的前沿课题[1?3]。在学术界以往提出的方法中,均是根据人体的结构和运动规律对运动合理性进行判断的,这些二维的判断方法使用起来较为抽象,导致方法的运动仿真误差偏高,并无法取得较高的判断效率和判断准确度。为此,提出基于三维图像的运动合理性判断方法[4?6]。
1 运动合理性判断方法研究与仿真
1.1 三维图像人体运动模型
在日常生活中,由于受到体质和运动规律的影响,人体的反应能力和防御能力忽高忽低,导致运动损伤情况时有发生,为此,三维图像人体运动模型所需进行重点提供的数据应是隐含运动损伤数据和人体合理运动数据。根据上述情况构建三维图像人体运动模型,如图1所示。
由图1可知,三维图像人体运动模型先对人体运动三维图像的隐含运动损伤数据和正常运动数据(“人体运动数据”)进行采集,并将其输入到人体运动数据库中进行运动数据类型的分类。
由于人体在运动中的新陈代谢较为迅速,并且肌肉中将会汇聚大量乳酸,以上两点均是重要的运动合理性数据。因此,基于三维图像的运动合理性判断方法对运动损伤数据库的分类工作,将以人w的新陈代谢速度和肌肉中乳酸含量为分类依据,对隐含运动损伤数据和人体合理运动数据进行分类,组成人体运动数据分类结果,该分类结果将会使用函数进行进一步解析。
1.2 基于三维图像的人体状态特征解析函数
三维图像的运动合理性判断方法利用基于三维图像的人体状态特征解析函数,判断人体运动数据中的人体状态是否合法,这一解析过程是运动合理性判断仿真模型数据准确度的保障,对提高所提方法的判断准确度和判断效率具有重要作用,如图2所示。
由图2可知,三维图像人体运动模型给出的隐含运动损伤数据和人体合理运动数据中均含有人体状态特征,包括骨骼运动特征和肌肉运动特征。这些人体状态特征就是基于三维图像的运动合理性解析函数的重点解析内容。用集合表示人体运动数据的骨骼运动特征集合, 表示肌肉运动特征集合,,分别表示人体内骨骼和肌肉的数量,那么,人体综合状态特征的函数表达式为:
式中:表示运动时间;表示运动区域面积;表示人体状态特征因子。
根据式(1)的计算结果将人体结构划分成段,每段的人体状态特征用集合表示,将集合中排序为的人体状态特征与式(1)的计算结果进行对比,经由式(2)计算出二者的相似度:
根据式(2)的计算结果可解析出三维图像中的人体运动是否合法,合法的相似度计算结果应与人体运动数据库中的数据具有一定的函数对应关系。为此,将人体运动数据库的人体状态特征阈值设为,当时,则可确定三维图像中的人体状态是合法的。此时,所对应的人体运动数据会被输入到运动合理性判断仿真模型中。
1.3 基于三维图像的运动合理性判断仿真模型
基于三维图像的运动合理性判断仿真模型采用三维可视化方法,对用户所需的运动合理性判断流程和结果进行展示。其以人体\动数据为输入,对运动中各段人体结构的参数进行确定,最终得出运动合理性的判断结果,如图3所示。
由图3可知,基于三维图像的运动合理性判断仿真模型包括两个计算机仿真模型,分别是骨骼、肌肉计算机仿真模型和正逆向动力学计算模型。其中,骨骼、肌肉计算机仿真模型是对1.2节中计算出的合法人体运动数据进行计算机仿真建模得到的,可以通过这一仿真模型对人体运动中的惯性因子(包括人体重心、运动惯量等)进行获取。
正逆向动力学计算模型通过引入动力学中的正向判断方法和逆向判断方法,对人体运动中的惯性因子进行正向判断,确定出运动中各段人体结构参数;对人体结构参数进行逆向判断,可获取最终的运动合理性判断结果,进而得出此时的人体运动是否合理。
2 实验结果分析
2.1 运动仿真误差验证
对实验输出数据进行处理,所获取到的三种方法运动仿真误差数据如表1所示。
由表1可知,本文方法对比对照组1而言,运动仿真误差平均缩减0.142%;对比对照组2而言,运动仿真误差平均缩减0.254%。证明三维图像能够有效模拟人眼视觉特点进行人体运动仿真,为本文方法带来较低的运动仿真误差。
2.2 判断效率验证
对实验中三种方法的判断用时进行统计,如表2所示。
由表2可知,两个对照组中方法的判断用时基本持平,而本文方法的判断用时远高于其他两种方法,证明本文方法判断效率较高。
2.3 判断准确度验证
对实验输出数据进行处理,所获取到的三种方法判断准确度数据如表3所示(判断准确度的单位为1)。
由表3可知,本文方法的判断准确度始终高于0.95,该数值高于其他两种方法的最高判断准确度,证明本文方法具有较高的判断准确度。
3 结 论
三维图像是当今社会最为高级的显示技术之一,它根据人体双眼视力差异和折射原理为人们展现出逼真的画面。运动合理性判断通常指对不会造成人体内脏功能损伤的运动行为的判断。本文将两种技术融合在一起,提出基于三维图像的运动合理性判断方法。这种方法利用三维图像构建人体运动模型、提供人体运动数据并解析,在很大程度上降低了方法的运动仿真误差。本文最终通过运动合理性判断仿真模型给出运动合理性判断结果。通过实验对判断结果进行分析,可证明本文方法具有较高的判断效率和判断准确度。
参考文献
[1] 龚勇.基于三维图像分析潜在运动损伤姿态判断方法[J].计算机仿真,2015,32(9):245?248.
[2] 黄秀花.三维图像运动特征配准方法研究与仿真[J].计算机仿真,2015,32(12):206?209.
[3] 王鑫.单帧运动图像中人体三维重建方法研究与仿真[J].计算机仿真,2015,32(10):267?270.
[4] 金晖.三维多媒体视觉图像运动行为仿真研究[J].计算机仿真,2015,32(12):404?407.
三维图范文4
图像三维重建的方法主要有两大类:一类是三维面绘制;另一类是三维体绘制。体绘制更能反应真实的人体结构。由于体绘制算法运算量太大,即使利用高性能的计算机,仍然无法满足实际应用中交互操作的需要,因此,面绘制仍是目前的主流算法。
1.1三维面绘制(SurfaceRending)表面表示是表示三维物质形状最基本的方法,它可以提供三维物体的全面信息,其具体形式用边界轮廓线和表面曲面表示。
1.1.1基于断层轮廓的表面重建
在断层图像中,通过手工或自动方式实现目标轮廓的确定性分割,然后用各层的轮廓线“堆砌”在一起表示感兴趣物体的边界,这种轮廓线表示方法简单且数据量小,但是不很直观。除了以轮廓线表示物体外,还可以由轮廓重建物体的表面来表示。最早的方法是基于多边形技术,主要采用平面轮廓的三角形算法,用三角片面拟合这组表面轮廓的曲面,Bussonnat提出了另外一种基于表面轮廓的Delaunay三角形方法,解决了系列表面轮廓的三维连通性问题。用三角形或多边形的小平面(或曲面)在相邻的边界轮廓线间填充形成物体的表面,所得出的只是分片光滑的表面,Lin采用从轮廓出发的B样条插值重建算法,得到了整体光滑的表面。
1.1.2基于体素(Voxel)的等值面重建[1,2]
所谓等值面是指空间中的一张曲面,该曲面上函数F(x,y,z)的值等于某一给定值。等值面生成的最早研究是从医学图像的应用开始的。由于医学图像数据是三维正交等距网格,组织三维图像的基本六面体单元称为体素(Voxel)。基于体素的等值面重建方法主要有以下几种。
(1)Cuberille方法。该方法将三维图像中的每一像素看成是空间中的一个六面体单元,即体素。在体素内数据场具有相同的值,用边界体素的六个面拟合等值面,即边界体素中相互重合的面去掉,只把不重合的面连接起来近似表示等值面。这种方法的特点是算法简单易行,便于并行处理,因为对每个体素的处理都是独立的;主要问题是出现严重的走样,显示图像给人一种“块状”感觉,尤其在物体边界处锯齿形走样特别醒目,而且显示粗糙,不能很好地显示物体的细节。
(2)MarchingCubes方法[3,4]。这是由Lore2nesen提出的一种基于体素的表面重建方法,MC方法是三维规则数据场等值面生成的经典算法,它先确定一个表面阈值,计算每一个体素内的梯度值,并与表面阈值进行比较判断,找出那些含有表面的立方体,利用插值的方法求出这些表面,这其实是抽取等值面的过程。其主要优点是可以采用比较成熟的计算机图形学方法进行显示。计算量小,运行速度快,借助于专用硬件支持,在高性能PC上面绘制完全可以实现实时交互显示,但它存在连接上的二义性,为解决二义性问题,提出了很多有效的方法。例如MarchingTetrahedral,DiscMC方法。
(3)MarchingTetrahedral方法[5]。Marc2hingTetrahedral算法(简称MT算法)是在MC算法的基础上发展起来的,该算法首先将立方体体素剖分成四面体,然后在其中构造等值面,进行四面体剖分后,等值面在四面体中的剖分模式减少,算法实现简单。其次,构造的等值面较MC算法构造的等值面精度高。而最直接的原因是企图通过在四面体内构造等值面来避免MC算法中存在二义性问题。常见的立方体剖分成四面体的方法有5个、6个和24个四面体剖分法。一般最常用的是5个四面体剖分法。
(4)DividingCubes方法。这种方法是逐个扫描每个体素,当体素的8个顶点越过等值面时,将该体素投影到显示图像上。如果投影面积大于一个像素的大小,则该体素被分割成更小的子体素,使子体素在显示图像上的投影为一像素的大小,每一子体素在图像空间被绘制成一表面点。每一表面点由对应子体素的值,对象空间中的位置和剃度三部分表示,可使用传统的图形学消影技术,将表面点绘制到图像空间中。采用绘制表面点而不是绘制体素内等值面片,从而节省了大量的计算时间。
1.2三维体绘制(VolumeRending)[6]体绘制由于直接研究光线通过体数据场与体素的相互关系,无需构造中间面,体素的许多细节信息得以保留,结果的保真性大为提高。从结果图像的质量上讲,体绘制要优于面绘制,但从交互性能和算法效率上讲,至少在目前的硬件平台上,面绘制还是要优于体绘制的。下面讨论三种体绘制方法。
1.2.1投影法(Projection)首先根据视点位置确定每一体素的可见性优先级,然后,按优先级由低到高或由高到低的次序将所有体素投影到二维像平面上,在投影过程中,利用光学中的透明公式计算当前颜色与阻光度,依投影顺序(即体素可见性优先级)的不同,投影法分为从前至后(Front2to2Back)算法与从后至前(Back2to2Front)算法。一般说来,前一种算法运算速度快,但除需一个颜色缓存区外,还需要一个阻光度缓存区;后一种算法仅需一个颜色缓存区,并在执行过程中产生不同层面的图像,有助于医生更好地理解医学图像。
1.2.2光线跟踪法(Ray2Casting)此法是在体数据进行分类后,从像空间的每一体素出发,根据设定的方法反射一条光线,在其穿过各个切片组成体域的过程中,等间距地进行二次采样,由每个二次采样点的8个领域体素用三次线性插值法得到采样点的颜色和阻光度值,依据光照模型求出各采样点的光亮度值,从而得到三维数据图像。光线跟踪法所面临的问题是运行速度慢,可利用空间相关性提高算法的效率。
1.2.3最大密度投影(MIP)最大密度投影是一种广泛使用的体绘制技术,传统的MIP算法使用光线跟踪法(Ray2Cast2ing)跟踪图像平面上每个像素发出的投影光线与体数据相交的每个体素,逐个比较,找出每条光线上的最大值,将它作为投影平面上对应点的像素值。临床上在病人血管中注入造影剂后进行CT或磁共振成像,然后,用MIP算法显示血管的位置、形状和拓扑结构,也称为血管造影(Angiogra2phy)。几乎所有的商用医学图像系统都包含MIP绘制模块。由于MIP的结果缺少深度信息,观察时要对体数据旋转,这意味着每次要计算5~20帧图像。显然,若不优化,血管造影只能在昂贵的大型工作站上实现。
2三维表面重建MC算法的改进
2.1离散MarchingCubes算法
离散MarchingCubes算法(简称DiscMC)是MONTANIC,SCATENIR和SCOPIGNOR在2000年提出的一种新型的MarchingCubes的改进算法[3],它将三维表面的重构和简化过程融为一体,在等值面的生成过程中就自适应地完成了面片合并。与其它简化算法相比[2],DiscMC具有算法效率高、简化比例高、损失精度小等优点。同时,DiscMC还采用了非常简捷的办法解决了经典MarchingCubes算法中的二义性问题。说明DiscMC的算法流程如图1所示。其中左面是4个相邻的体元(Cubes),带有黑点侧的9个顶点位于等值面内,另外9个顶点位于等值面外,上面一行说明了用经典的MarchingCubes算法构造等值面三角面片的结果,下面一行说明了DiscMC的构造和简化流程。经典MarchingCubes算法直接根据这4个体元顶点的内外状态构造出8个三角面片,这些三角面片的顶点是根据所在边的两个顶点的密度值通过插值计算得出。DiscMC则把整个过程分成三步:(1)扫描(Marching):首先,所有与等值面相交的体元被逐一扫描,根据其8个顶点的内外状态,按照规定好的方式生成三角面片。在这一步中,所有生成的三角面片只是用它所在体元的位置和其形态的编号进行记录,并不计算实际的顶点坐标值。(2)合并(Merging):三角面片生成后,将凡是位于同一平面并且相邻的三角面片得到合并,形成大的多边形,随后,大的多边形又被重新划分为三角形。(3)插值(Interpolating):DiscMC的最后一个步骤是通过线性插值计算出最后所得的三角面片的顶点坐标,这一步和经典的MC算法是相同的。
2.2三维重建的代码实现[7~12]
采用格式为dcm的256×256×110的MRI人头图像序列,采用VisualC++6.0进行开发的,应用了MFC,OpenGL等技术,运行于Win2dows2000环境下。这里仅列出DiscMC算法实现的程序框架:DiscMC算法实现的伪代码如下:{清除当前正在显示的三维表面的数据结构;从CT数据与处理文件(PRE)中读取原始数据;if从PRE文件中读取数据{通过轮廓线数据进行体数据的填充;清除断层轮廓线的数据结构;}for(对每一个物体){初始化存储扫描形成的三角面片的两层链表结构INCIDENCE;for(对每个个体元){查表找到对应的三角面片分布情况;将每一个三角面片根据其平面方向和所处位置加入INCIDENCE;}初始化三角面片链表FaceList、顶点链表PointList和多边形链表PolyList;for(对INCIDENCE中的每一个平面){清空用于合并的二维数组Merger;for(对于该平面上的每个三角形或矩形){查表找到该三角形或矩形的边对应于Merger中的编号;以异或模式将每条边写入Merger;}至上而下扫描Merger,将合并的图形划分为凸多边形,加入PolyList;}将PolyList中涉及到的顶点加入PointList,同时建立顶点的逆向索引;for(PolyList中的每个凸多边形){检查其边界上(不含端点)是否有点在PointList中;找到这样的“T”型点,加入该多边形,同时做标记;进行“之”字形的三角形划分,生成的三角面片加入FaceList;if(不能划分完)进行扇状划分;}清除PolyList;清除INCIDENCE;将FaceList中的数据转移到数组FaceArray中;清除FaceList;将PointList中的数据转移到数组VertexArray中,同时进行插值;清除PointList;}对所有顶点计算其法向量;进行OpenGL的有关设置,准备显示。
三维图范文5
一、摄影影像自身存在弊端成为摄影与3D软件结合的条件
摄影影像与三维影像的共同之处在于都可以通过平面表达艺术创作的结果。不同之处在于,观看摄影影像产生真实的审美感受,而观看三维影像则产生虚拟的心理认定。视觉艺术发展至今,如果把两者优势互补地结合在一起,定会产生意想不到的视觉效果。摄影是客观真实影像瞬间纪实的视觉艺术形式。摄影的纪实性是摄影艺术的基本属性。纪实性是对镜头前存在事物的如实记录,是对现实中事物的客观写真。当人们已经适应了这种艺术形式时,人们更加渴望了解观看到那些难得一见的、非现实的景象并能够在真实中展现出来的虚拟现实物象。三维软件技术与实拍影像的结合出现满足了人们这种愿望。通过三维软件构建虚幻图像可以补充现实存在但无法实拍表现的部分,增强影像的虚拟想象,将图像形象的完全性多角度展现,可以将人们在生活中无法看到的虚幻形象通过三维软件图像合成技术形成全新的三维图像展现给观众。三维影像的主观随意创造性恰恰能够突破纪实性语言的客观限制,成为摄影艺术中不可多得的影像表现形式,使摄影的艺术影像更能增加独特的审美价值。摄影是瞬间艺术,无论你想怎么创造形象力,都不能超脱“几分之一秒”这一时间限定,使得摄影这门艺术有它自身的局限性。主观意识和想象力往往受被摄对象和照相机的性能限制,不能最大限度地发挥。在摄影艺术主张表现主观意见受到极大限制的情况下,作者主观情感需要借助于其他艺术形式得以实现。设计者可以在创作早期进行对画面图像的创新。通过全新虚拟图像的构建逐步完成对摄影作品的后期合成,形成全新的摄影作品。摄影艺术的瞬间也是作者情感高度体现的瞬间,其瞬间生成所面临的客观对象已是人化了的世界,是基于摄影者高度的个人化的能力的体现,相机已经不仅仅是一种工具,一种表现媒介,更是一种个人情感表达形式。通过3D软件制作技术,对虚幻图像进行三维立体构建,后期可以通过平面设计软件进行三维图像平面化,可以对后期整理的图像进行全新整合达到创作者情感的表现。这种全新的整合也是创作者赋予图像情感的延续,借助于其他形式将创作者的情感进行再次升华。
二、3D软件三维制作技术在更多领域的实现
三维图范文6
关键词:线性规划 二维线性规划 三维线性规划 图解法
线性规划图解法
1、线性规划
线性规划是对一组决策变量研究在
满足约束条件的前提下,最大化或最小化目标函数的问题,其中约束条件和目标函数均为线性函数,如:
■
其中c为n维列向量,称为价格向量或成本向量;■,称为决策变量;b为m维向量,称为右端向量;A为m*n阶矩阵,称为约束矩阵。称■为可行域。线性规划的可行域为凸集。通常我们将最大化目标函数的值作为线性规划的标准形式(最小化问题可看作最大化其负函数,即■)。
在线性规划问题中,决策变量的值称为一个解,满足所有的约束条件的解称为可行解。使目标函数达到最大值(或最小值)的可行解称为最优解。这样,一个或多个最优解能在整个由约束条件所确定的可行区域内使目标函数达到最大值(或最小值)。求解线性规划问题的目的就是要找出最优解。最优解可能出现下列情况之一:①存在着一个最优解;②存在着无穷多个最优解;③不存在最优解,这只在两种情况下发生,即没有可行解或各项约束条件不阻止目标函数的值无限增大(或向负的方向无限增大)。
2、二维线性规划图解法
二维线性规划图解法的求解过程为:求出并绘制可行域(凸多边形);找出目标函数下降(上升)方向,并以此为法方向绘制一条与可行域交集非空的初始等值线;沿目标函数下降(上升)方向平移等值线,直至边界。最终等值线与可行域边界的交集作为最优解集,等值线所代表的目标函数值为最优值。
下面我们用一个简单的二维线性规划问题说明图解法的求解过程。
■
■
用图解法求解:
第一步:画出可行域。以x1与x2为坐标轴作直角坐标系,根据不等式的意义求出各半平面的公共部分称为可行域。
第二步:画出等值线。目标函数S=2x1+5x2在坐标平面表示以S为参数、以■为斜率的一簇平行直线,即■,它的位置随着S的变化平行移动。位于同一直线上的所有点,都使S具有相同的值,所以该直线称为“等值线”。任取一个定点S0便可在坐标平面上画出一条等值线■,如图1所示。
第三步:求最优解。将直线■沿其法线方向向右上方平行移动时,参变量S的值由S0逐步增大。当等值线平行移动到可行域的最后一个点B时,S达到最大值。此时由线性方程组可解得B的坐标(2,3),故目标函数的最大值S=19。
对于二维的线性规划图解法,我们很容易在直角坐标系中实现,很容易在教学上演示,但当线性规划提升至三维乃至更高维空间以后,一些简单直观的操作就变得复杂起来,为了更好的研究和演示三维LP图解算法,需要分析图解算法的数学本质,使用精确的数学语言而非自然语言来描述图解算法。
3、三维线性规划图解法
三维LP图解算法在步骤上与二维的相似,但在细节上较为复杂,它的具体步骤可以简述为:
3.1求出并绘制可行域
根据线性规划的基本理论,一个n维空间中线性不等式组的解集一定是个凸多面体(polyhedron)。特别的,如果线性不等式组的解集有界(即对任意的目标系数向量■,有■),那么该不等式组的解集是一个多胞形(polytope)。由于图解法的特殊性和局限性,在LP图解法中,我们主要求解的是后者。
N维空间多胞形的定义:Q是n维空间Rn中的多胞形,当且仅当Q是Rn中有限点集的凸包,i.e. ■。
在二维平面上的图解法中,绘制可行域其实就是绘制了这个多胞形(限制在二维空间中为多边形)。而绘制多胞形所必需的信息即该多胞形的全部顶点。虽然,在理论上我们已经知道有界不等式系统和多胞形的等价性,但是这个定理的证明本身并没有提供计算多胞形全部顶点的算法。而Danzig所提出的单纯形算法理论,提供了求解这些顶点坐标的理论工具。基于多面体顶点的基本定义,可以简单的得到结论:多胞形的顶点一一对应于任一定义在这个多胞形上线性规划的基本可行解。即:
求解给定线性不等式组对应多胞形的顶点问题等价于求解该多面体上线性规划基本可行解。
基于这个结论,可以得到如下多项式时间的多胞形顶点坐标求解算法:
Step1:对于给定的线性不等式组Ax≤b,考虑其增广矩阵,选取一组极大线性无关行向量组得到与原不等式组等价的不等式组■;
Step2:选取■全部的极大线性无关列向量组,对■的每一个极大线性无关列向量组■,其实是一个满秩的方阵,■即可求得一个基本可行解,即一个顶点的坐标。遍历所有这样的■,就可以求得全部顶点的坐标。
3.2找出目标函数下降(上升)方向,并以此为法方向绘制一条与可行域交集非空的初始等值线
目标函数的下降(上升)方向甚至是梯度方向都是容易求解的,因为目标函数的梯度正是目标系数向量。但是寻找初始与可行域交集非空的等值线则是一件复杂的事情。事实上,初始等值线的选取问题等价于如下问题:
找到■,使得线性不等式组{Ax≤b,cx=c0}解集非空,即寻找一个原线性规划的初始可行解。在运筹学中,两阶段法是用来构造求解初始可行解的常用手法。两阶段法简要如下:
Step1:将线性不等式组Ax≤b化成标准型中的等式组,每一个不等式添加非负的一个人工松弛变量变量;
Step2:构造新的目标函数,及最小化人工变量之和;
Step3:求解该线性规划,如求得的最优解的目标函数值为0,则该最优解为原问题的可行解;如目标函数值大于0,则原问题无可行解。
在求得初始可行解x0以后,即可选取cx=cx0为初始等值面。
3.3沿目标函数下降(上升)方向平移等值线(面),直至边界
在该步骤中,主要的难点在于如何判定等值面是否到达边界。一方面,由于移动的是等值面,故在图解算法过程中并不记录当前可行解的信息,所以单纯形算法所使用的检验系数判定方法难以奏效。另一方面,图解算法的移动行为非常近似于使用连续优化技巧的线性规划内点算法,所以三维图解法的边界判定算法可以借鉴连续优化的判定方法。
在连续优化中,通常并不严格计算一个点是否落在可行域边界上,而是通过完成判定是否落在可行域内,然后通过线搜索算法逐渐逼近最值点或边界点。对应到线性规划问题上,其实就是求解如下判定问题:
给定任意■,判断线性不等式组{Ax≤b,cx≤c0}解集上是否为空。
线性不等式组的解存在问题可以借助Farks引理来转换成线性等式组来处理。
Farks引理:令A是一个矩阵,b是一个向量。那么线性不等式组Ax≤b有解,当且仅当对于所有满足yA=0的行向量y,有yb≥0。
事实上,这里就相当于求解出yA=0的全部基本可行解,并逐一判断是否满足yb≥0。
到此为止,已经把LP图解法中每一个子问题推广到n维空间中(自然包括三维),并对每一个子问题给出了求解算法,藉此摆脱了原LP图解法的直观经验性描述而将其上升至了具有一般意义的数学算法。
三维LP图解法的演示算法的改进
这一章节主要研究三维LP图解的演示动画实现算法。对于动画演示,重点是体现等值面从初始位置连续移动至可行域边界的过程。由于在演示动画中,并不会显示具体的算法,所以为了提升算法的运算速度,我们可以对上文中的图解算法进行简化和改进。
仔细分析上文中的图解算法,发现初始等值面的选取(两阶段法的第一阶段)以及边界判定(不等式组解集是否为空)的计算量都至少等于一次同等规模的线性规划算法的计算量,对于动画演示来说,其实有相当一部分的运算是无意义的,所以针对动画演算,采取如下简化算法:
Step1:绘制可行域;
Step2:初始点选取。以-c为目标系数,求解线性规划,以求得的最优值作为初始等值面;
Step3:计算移动终止位置。以c为目标系数,求解线性规划,以求得的最优值作为等值面终止位置。
Step4:从初始位置开始,直至终止位置连续绘制等值面移动动画。
这样在整个过程中,step2和step3的运算量就压缩到了两次同规模线性规划算法的运算量,经过实验对比,在不改变动画演示效果的同时,可以极大地加快程序的运行速度。
基于MATLAB三维LP图解法演示系统的仿真与实现
借助MATLAB GUI设计并实现交互式的三维LP图解法演示系统。
首先,使用edit控件设计了参数读入界面。在演示系统中,我们默认的是考虑极大化问题,且可行域限制在第一卦限,即■。并且出于简化考虑,仅考虑三个变量和三个线性不等式约束。
在读入线性不等式以后,求出全部基本可行解,即求得可行域多胞形全部顶点坐标,通过MATLAB图形学工具箱自带的convhull,通过顶点坐标计算得到多胞形全部侧面的数据,再使用mergeCoplanarFaces函数,将共面的全部小多边形合并成大的侧面,最终完成可行区域的绘制。
等值面移动动画通过以下方法完成,对于处于最小值和最大值中间状态的任意一个等值面cx=c0,将可行域分割成两个部分{ax≤b,cx≥c0}以及{ax≤b,cx≤c0}两个相邻接的多面体,用不同的颜色绘制,以此标注等值面。
最后通过drawnow和pause命令生成动画,并实时显示当前可行解及其对应的目标函数值,当动画停止时所显示的即为最优解和最优值。
在此基础上,通过改变线性规划约束中的系数我们可以实现三维线性规划图解法的动态展示。
总结与展望
本文在掌握了二维线性规划图解法的基本原理、方法和步骤的基础上,对多维线性规划问题图解法的实现进行了理论分析,并且对三维线性规划的图解法利用MATLAB编程,编制了仿真模拟软件。该程序可以实现对三维LP模型中各参数在一定范围内的灵活设置,将三维线性规划问题优化的整个过程通过动态效果展示,界面编排合理,使用灵活方便,作为辅助教学软件能够使学生对线性规划问题的性质有更深的理解。同时基于对多维线性规划问题实质的分析,在三维图解法程序的基础上我们也很容易扩展到三维以上线性规划问题的图解法仿真模拟,未来的研究工作可以考虑设计一个通用程序,通过自由设置问题优化空间的维数实现各维数线性规划问题图解法的动态效果展示。
参考文献:
[1] Alexander Schrijver, Theory of Linear and Integer Programming, John Wiley and Sons. 1998.
[2] Frederick S. Hillier and Gerald J. Lieberman, Introduction to Operations Research, 8th edition. McGraw-Hill.
[3] 关玉昆 三维空间线性规划问题的图解法[J],辽宁大学学报, 1999,18卷1期。
[4] 邓先礼,最优化技术,重庆大学出版社,1998.
[5] 申卯兴,许进 求解线性规划的单纯形法的直接方法,计算机工程与应用,2007,30期,p94-96.
[6] 燕子宗,费浦生,万仲平. 线性规划的单纯形法及其发展,计算数学,2007,1期.
[7] JH. Mathews, KD. Fink. Numerical methods using MATLAB. 1999.
[8] 张志通. MATLAB教程,北京航空航天大学出版社,2006.
[9] 钱俊,吴金洪,程茗. 线性规划问题的MATLAB求解. 科技创新导报. 2011,25期,p158.