绘制系统范文
绘制系统范文(精选12篇)
绘制系统 第1篇
随着社会信息化的发展和网络应用的日益广泛,人们所获得的信息源越来越庞大,对于大型数据甚至海量数据的处理需求日益迫切。科学计算可视化(Visualization in Scientific Computing)就是在这种背景下提出并发展起来的一个全新的领域。科学计算可视化的本质是运用计算机图形学和图像处理技术,将科学计算过程中产生的数据及计算结果转换为图像,在屏幕上显示出来并进行交互处理,其核心是三维数据场的可视化[1]。体绘制是可视化最活跃的研究子领域之一 ,它不借助中间图元,而是直接将三维空间的离散数据转换为二维图像。十多年来,在广大科研人员的努力下,已经发展了一些体绘制技术来分析、理解和绘制数据场中包含的物体,并且已在医学、天文、地理、气象、航天等计算机模拟中得到广泛应用。本文主要简单介绍可视化工具包VTK的功能及应用,并具体实现一个基于VTK的利用TCL&TK语言开发的体绘制系统。
2 可视化工具包VTK
VTK(The Visualization Toolkits)是一个基于面向对象方法设计的、功能强大的可视化和图形图像处理的工具箱。它是在三维函数库OpenGL 的基础上发展起来的,VTK构造在C++语言之上,它不仅基于C++类库,还支持脚本语言TCL&Tk,Java,Python,支持Windows,Unix等操作系统。VTK能够支持和处理多种表示格式的数据,如有规则的或无规则的点阵 (pointsets),图像 (image),体元数据 (volume) 等[2]。此外VTK还将在可视化开发过程中会经常遇到的细节屏蔽起来,并将一些常用的算法进行封装,同时,用户还可以在VTK基类的基础上开发自己的类库。自从1993年问世以来,VTK凭借其开放灵活的特性受到越来越多人的青睐,不断地被改进和完善。
2.1 VTK的绘图模式
VTK的绘图模式可用于2D,3D等一般图形的处理,它主要有9种基本对象:
角色(Actor):VTKActor代表渲染场景中的绘制对象实体,通过调节参数可以设置角色的位置、方向、渲染特性、纹理影射等属性。
灯光(Light):VTKLlight类提供了灯光的位置、灯光的状态(开关)、亮度、颜色等。同时也可以设置光源的照射角度以及衰减程度。
照相机(Camera):VTKCamera类用来设置视点的位置以及焦点位置及其他属性。
属性(Property):Property主要用来说明几何物体的一些特征。比如光照特性、着色模式、物体灰度等。
映射(Mapper):Mapper指定数据与基本图元之间的关系,VTKMapper的派生类通过一个向上观察板(LookupTable)来映射数据,同时控制与图形库相连的图元的生成。
变换(Trasform):VTKTrasform是一个放置44变换矩阵的堆栈,可以对这个矩阵进行平移、缩放、旋转等操作。
渲染窗口(RenderWindow):其基类为VTKRenderWindow,用于在显示设备中生成一个窗口,渲染窗口是用户图形界面,可以设置渲染窗口的大小,也可以产生立体显示效果,支持双缓存。
渲染器(Render):基类为VTKRenderer,主要用于控制目标的渲染过程,管理光源、照相机位置等属性。
窗口交互(Render Window Interactor):在VTK中,VtkRenderWindowlnteractor是场景交互方法的一种,它作为一种简单的工具可以用来操作相机、选取对象、调用用户定义的函数等。
2.2 VTK的可视化模式
可视化模式主要用于可视化过程中的数据模式如CT,MRI的数据输入及处理。VTK使用数据流的方式将源数据转换为图像数据。这里包含数据对象和处理对象2类基本对象。数据对象用来表示各种类型的数据,它由几何结构、拓扑结构以及属性数据(如向量、标量)组成。处理对象一般分为源处理对象(Source)、过滤器(Filter)、映射器(Mapper)三类,它用来操作数据对象并生成新的数据对象。处理对象表示系统中对数据进行处理的算法。将数据对象和处理对象连接在一起就形成VTK中的可视化流水线[3],如图1所示。
3 体绘制系统介绍与实现
这里使用TCL&TK语言,利用VTK函数库实现一个简单的体绘制系统。通过这个系统主要介绍如何通过调用VTK函数库实现图像重建,并且通过一个切片数据bolt.slc向大家展现不同的绘制方法所表现出的不同的效果。它可大体分为前台交互及后台计算2部分。其中前台交互是通过Tk实现的,后台的计算则以TCL为开发平台,通过对VTK中封装的对象及方法的调用来实现。在整个系统中,对三维数据的绘制使用4种不同的方法:最大密度投影法;合成法;等值面法;二维纹理映射法。
3.1 TCL&TK
TCI 代表“ Tool Command Language” ,是一种简单的脚本语言,它几乎在所有的平台上都可以解释运行,功能强大。TCL主要用于发布命令给一些交互程序如文本编辑器、可视化工具软件、仿真工具等。它语法很简单,并有很强的扩充性。TK是对 TCL的图形工具箱扩展。TK发行版与 TCL 的发行版是在一起的[4]。在创建 TK小部件时,几乎很少使用命令,一半以上都是按钮或文本小部件的变体。选用TCL&Tk作为开发语言,是因为它灵活的特性和简单的语法可以很方便地与VTK进行融合。
3.2 常用绘制算法介绍
(1) MC算法:
Marching Cubes 算法是一种应用很广泛的由体密度数据重构三维等值面的方法。MC算法也被称为“等值面提取”(Isosurface Extraction),其本质是将一系列两维的切片数据看作一个三维的数据场,从中将具有某种域值的物质抽取出来,以某种拓扑形式连接成三角面片。MC算法流程如下:每次读出2张切片,形成1层,2张切片上下对应的8个点构成1个立方体,然后按从左到右,从前到后的顺序处理1层中的立方体,抽取每个立方体中的等值面,然后从下到上直至处理到n-1层,所以称为移动立方体算法。MC算法属于面绘制,也可以称为间接体绘制。
(2) 光线投射算法:
光线投射算法(Ray Casting)是直接体绘制中最常用的算法,它的基本思想是:从屏幕上的每一像素点发出1条视线,这条视线穿过三维场的体元矩阵,沿这条视线等距设置采样点,将距离采样点最近的8个数据点所组成体素的颜色值及不透明度进行三次线形插值,求出该采样点的不透明度及颜色值。然后可以按从前到后或从后到前的合成公式对所有采样点的颜色和不透明度进行合成。当对所有像素点都进行以上过程后,就会得到此数据场的体绘制结果图像。
3.3 四种绘制方法分析与实现
(1) 最大密度投影法:
假设每一个体元都是能够发光的立方体,沿着光线方向,选择每条与体元相交的直线上的全部点中的最大的密度值作为图像投影平面密度值,这就是最大密度投影(MIP)算法。在MIP描绘过程中,主要实现光线路径上的点中最大密度点投影的功能。这一过程在VTK的定义中属于光线投射算法的三维数据体绘制。在VTK实现过程中首先通过调用vtkSLCReader函数读取切片数据并设置读取路径,这里与Slice方法不同的是,是通过设计转换函数实现颜色和不透明度设置。在这里通过调用vtkPiecewiseFunction函数和vtkcolorTransferFunction函数将体数据值转换成不透明度和颜色等光学属性,并使用vtkVolumeProperty函数对其颜色、不透明度等属性进行加载,接着调用vtkVolumeRayCastMIPFunction函数加载绘制方法,然后使用AddVolume将产生的mipvolume及通过类vtkCubeSource定义的Actor:outlinemapper加入到ren2中。最后调用vtkRenderer进行投影。在MIP中有2种方法可以用来改变最大值操作的行为:SetMaximizeMethodToScalarValue() 方法或SetMaximizeMethodToOpacity()方法。如果采用第一种方法,则沿着射线的每一个采样点的标量值均被考虑,其中具有最大标量值的采样点被选择,然后这个标量值被传递给颜色和不透明度转换函数用来来生成最后的射线值;如果调用第二种方法,则沿着射线的每一个采样点的不透明度都将被计算,其中具有最大不透明度的采样点将被选择。在这里采用第一种方法,即通过调用vtkVolumeRayCastMIPFunction类中的SetMaximizeMethodToScalarValue方法来实现最大密度投影设置。效果图如图3所示。
(2) 合成算法:
合成算法(Composite)是对每条光线上的每个像素点的密度进行加权求和,将结果作为图像投影像素的密度值。在Composite描绘过程中,主要实现光线路径上所有点的密度加权和的投影功能。这一过程在VTK的定义中同属基于光线投射算法的三维数据体绘制。它的实现过程基本类似于MIP,在这里借助于类vtkVolumeRayCastCompositeFunction对取得“光线路径上所有点的密度之和的投影”这一功能做了定义。在vtkVolumeRayCastCompositeFunction 中,有2种方法可以用来改变插值和分类的顺序,分别是:SetCompositeMethodToInterPolateFirst(插值优先)方法和SetCompositeMethodToClassifyFirst(分类优先)方法。这种设置仅在采用三线性插值的时候才会产生影响。在第一种情况中,先执行插值,以此决定采样点的标量值,然后在将这个值用于分类;在第二种情况中,将先执行分类,之后在执行插值。插值优先通常能产生较好的效果,因此在这里采用默认的第一种插值优先法。效果图如图3所示。
(3) 等值面法:
等值面法(Isosurface)是利用表面的信息对图像进行绘制。虽然该方法同属基于光线投射算法的三维数据体绘制,但是其本质更接近于面绘制。在实现过程中借助ShadeOn方法及SetInterpolationTypeToLinear方法对阴影功能和插值功能进行定义。并使用类vtkVolumeRayCastIsosurfaceFunction中的方法SetIsoValue设置等值面的初始值。在Isosurface描绘过程中,主要实现光线路径上所有密度相同的点组成的等值面的投影功能。效果图如图4所示。
(4) 二维纹理映射法:
二维纹理映射二维纹理映射的体绘制是将体数据沿正交方向生成序列二维图像,产生二维纹理切片,然后将这些二维纹理切片依次堆叠完成体绘制过程。纹理映射算法同属于体绘制算法,因此同样需要设置不透明度、颜色、梯度3个传递函数来控制三维体的外观。与光线投射算法不同的是,它调用的映射类型为二维纹理映射。在实现过程中通过vtkPiecewiseFunction函数将体数据值转换成不透明度和颜色等光学属性, 使用vtkVolumeProperty函数对其颜色、不透明度、阴影、插值等功能进行加载,调用vtkVolumeTextureMapper2D函数定义二维纹理映射,使用setCamera设置视点位置,并使用[ren1 GetActiveCamera] Zoom来设置放大系数,最后调用Render进行绘制。效果图如图5所示。
3.4 结果讨论
试验结果表明,Slice方法由于是切片投影,数据量相对比较小,因此成像速度快,并可以很清楚的观测到不同的切片面关于不同数轴的绘制效果。但是它重建的图像表面不光滑,容易出现锯齿效应,这可能是由于图像像素间的距离过大造成的,因此可通过插值计算来缓解这个现象。MIP算法不需要太多的参数设置,实现起来比较简单,但是它对图像的细节显示得不清楚,在细节的描绘上不如Composite算法,这是由于投影密度值选择方法的不同造成的,因此只能用于对细节要求不高的情况下。Isosurface算法是利用表面的信息进行重建,因此它的表面绘制效果很逼真,能够很清楚直观的显示物体表面信息。
通过VTK提供的封装算法,在一个普通的PC机上实现图像的三维重建只需几秒钟的时间,还可以利用鼠标
直接拖动三维模型,实现旋转、缩放、平移等操作,便于用户根据需要从不同的视角观察物体,增强了系统的交互能力。与OpenGL和Matlab相比,VTK具有使用灵活简单、重建速度快,可视化效果好等优点。
4 结 语
在可视化发展过程中,VTK凭借其开源、灵活、可封装、可移植等特性被越来越多的开发人员所采用,它极大地简化了程序,为开发人员节省了很多的时间和精力,在图像的三维重建中得到了广泛应用。本文所实现的系统就是一个将VTK应用到体绘制系统中的典型例子。VTK将一些常用到的体绘制算法进行封装,系统通过直接调用这些VTK基类实现切片数据的三维重建可视化,通过4种不同的绘制方法,展现了不同的绘制效果。这对于帮助人们更好更深层次地分析、理解、掌握图像信息产生了极大的推动作用。随着今后信息化进程的发展,可视化领域将会有更广阔的发展空间,体绘制技术也将会日益改进和完善。
参考文献
[1]唐泽圣.三维数据场可视化[M].北京:清华大学出版社,1999.
[2]Will Schroeder.The VTK User′s Guide[M].Kitware,2002.
[3]Will Schroeder.Visualization Toolkit[M].3rd Edition Kit-ware,2002.
[4]王道义.TCL/TK组合教程——双语教材+多媒体教室[M].北京:电子工业出版社,2001.
绘制系统 第2篇
在分析三维地形图特征的基础上全面探讨了三维地形图自动绘制时所面临的问题,从三维地形图数据组织、数据处理、空间关系处理、三维地图符号化等方面进行了研究,设计并实现了基于ArcEngine的三维地形图制图系统,利用西部的多幅地形图进行了实验,证明该软件是可行的`.
作 者:杨乃 朱晓东 杨斌 郭庆胜 YANG Nai ZHU Xiaodong YANG Bin GUO Qingsheng 作者单位:杨乃,郭庆胜,YANG Nai,GUO Qingsheng(武汉大学资源与环境科学学院,湖北 武汉,430079)
朱晓东,ZHU Xiaodong(湖北省地图院,湖北武汉,430071)
杨斌,YANG Bin(国家测绘局黑龙江基础地理信息中心,黑龙江 哈尔滨,150086)
绘制系统 第3篇
摘 要:日常通风管理工作中,井下实测通风参数,录入到Excel通风数据库中,根据通风数据库用AutoCAD绘制通风系统图。笔者通过应用Excel、Word、AutoCAD等软件实现批量绘制通风系统图中测风站图元,并可将测风站图元信息提取到Excel通风数据库中。实现通风数据库与通风系统图中测风站图元统一。
关键词:Excel;测风站图元;AutoCAD;数据库
日常通风管理工作中,井下实测通风参数,录入到Excel通风系统数据库中,根据通风系统数据库用AutoCAD绘制通风系统图。通风系统图中测风站图元一般包含测风站名称、风速、断面、风量、温度、湿度及瓦斯等信息。煤矿中测风站数量可达几十个,测风站图元参数变动时一般先根据实测通风参数修改测风站数据库中信息,然后对照测风站数据库修改测风站图元,工作量非常大,易出错。通过灵活应用Excel、Word、AutoCAD等软件实现批量绘制AutoCAD测风站图元并可将测风站图元信息提取到Excel通风系统数据库中。实现通风数系统据库与通风系统图中的测风站图元统一。
1 创建测风站块
新建名为tfk.dwg属性块文件,并存至D盘根目录下。测风站定义在测风站图层中。测风站见图1。
图1 测风站
各属性定义如下:CFZ——测风站名称;FS——风速(m/s);DM——断面积(m2);FL——风量(m3/s);WD——温度(℃);SD——湿度(%);WS——瓦斯(%)。
2 利用通风数据库生成通风系统图
2.1 将Excel数据库中加测风站位置信息
打开AutoCAD格式的某通风系统图,用多段线按该通风系统数据库中测风站顺序依次连接通风系统图中测风站中心。在AutoCAD中用“LIST”命令列表显示多段线坐标信息,将坐标导入到通风数据库中。
2.2 将Excel数据库中定制测风站
在Excel通风数据库中新建一个工作表,在 A1至F1 分别输入“Insert、D:\tfk.dwg、 X&"#"& Y、5、5、 0”(其中X、Y为引用通风数据库相应的单元格数据) ;G1至M1单元格分别引用通风数据库中的测风站名称、风速、断面积、风量、温度、湿度、瓦斯。向下依次引用通风数据库中相关数据。然后将该工作表另存为“ CSV(逗号分隔)”文件。
2.3 创建脚本文件
用Word打开2.2中形成的CSV文件,首先将“,”替换为“^p”;其次将“#”全部替换为“,”; 保存该文件为纯文本格式。并将该文本文件重命名为“scr”文件。
2.4 生成测风站
打开AutoCAD的通风系统图,运行2.3中形成的脚本文件就可完成测风站绘制工作。
3 通风系统图生成数据库
对于已经利用测风站文件建立的AutoCAD的通风系统图,当测风站图元属性的值发生变化时,可以“属性提取”命令将测风站图元信息保存至“CSV”文件。用Excel打开“CSV”文件就可以得到通风数据库中的相应测风站数据。
4 问题与技巧
①通风系统图中测风站可以根据实际增减相应属性,并可用系统变量ATTMODE控制属性显示与否。
②Excel中的公式及Word替换中的双引号,逗号等均为半角。
③通风设备、设施等内容也可能使用相同的方法实现自动成图。
5 结语
通过以上操作可实现通风数据库与通风系统图中的测风站图元数据共享。可以避免重复工作,减少错误。通过以上方法,能够方便地完成通风系统图绘制和通风数据库管理工作。
参考文献:
[1]方宝文.用AutoCAD绘制矿井通风系统图[J].采矿技术,2009(02):82-83.
[2]曾广东,王洪彪,王家振.矿井通风系统图绘制标准探析山东煤炭科技,2011(02):185-186.
[3]王爽.基于AUTOLISP二次开发的矿井通风系统图绘制[J].现代矿业,2014(06):95-97.
[4]杨应迪,张国枢,秦汝祥,等.基于矿井通风系统图的网络信息交互式采集技术[J].煤炭科学技术,2008(06):79-82.
[5]才向军.储量数据库关联储量块段图元初探[J].矿山测量,2012,(06):86-87.
[6]杨应迪,张国枢,秦汝祥,等.基于矿井通风系统图的阻力测定数据管理系统研发[J].煤矿安全,2008(11):21-24.
作者简介:
陈玉宽(1968-),男,河北省卢龙县人,毕业于河北煤炭建筑工程学院采矿系采煤专业,高级工程师,辽宁工程技术大学硕士研究生,开滦集团煤业分公司生产技术部,从事生产技术管理和研究。
多元测井曲线绘制系统的研究设计 第4篇
在测井生产活动中,利用测井曲线准确认识剩余油,确定注采井组间连通关系,为井网的进一步加密提供依据是行之有效的方法。目前国内外测井曲线绘制系统大都单一的,需进行组合比较操工作,直观性、研究性较差。基于此我们要经常地绘制各种各样的测井曲线,如微梯度曲线、自然伽玛曲线、自然电位曲线、感应电导率曲线等等。传统的绘制方法是用数字化仪手工操作,这种方法存在着许多不足之处:使用数字化仪是手工操作;录入速度慢,时间长,效率低;操作者移动触笔速度的不均,造成了在同一曲线的不同井段上,或者在不同的曲线上单位深度间隔内的采样密度不相同;手工操作的不稳定性,必然会造成录入误差,降低了评价的准确度。并且人工绘制测井曲线,劳动强度大,效率低。而利用软件来绘制测井曲线的目前都是些庞大系统的一个分支,不仅对计算机要求很高,且实用性不强。因此,开发一套简单实用、小巧的Windows下绘制测井曲线软件十分重要的,也是十分必要的。
该软件具有高精度、高速度、易操作和良好的人工交互界面等优点,能同步录入必要的曲线参数信息。并且可根据需要选择一条或几条,曲线在绘制时可选不同颜色、不同粗细的画笔。每口井的深度不同,但都在几千米以上,我们不可能对整个深度都作细致的研究,含油层段与含气层段都是集中在一段深度上,但每口井的含油深度也不一样,绘图起始(结束)深度可以根据研究需要任意输入,同时具有曲线图形存盘与二次修改功能,这样即方便又提高了工作效率。
2 曲线绘制与编程实现原理
1)可连续绘制多个曲线项目,每个曲线项目可选深度段、横向比例、纵向比例等参数,横向对数标线显示,深度标尺可选左、右、无三种,每个曲线项目可选择绘制一条或多条曲线,每条曲线可选是否绘制、曲线显示名称、曲线线宽、线型、线的颜色、线的标尺等参数。测进曲线绘制标识可选对数(三种变化)与线性标识(如图1),具有曲线图形存盘功能(存为bmp图形格式)。
2)编程实现原理
原理就是将测井曲线数据文件,按每一文件的每条线数据读入设置好的缓存变量中,进行图形数学插值与平滑算法处理,最后通过如下程序段进行图形绘制。
3 测井曲线编辑功能的实现
1)打开已存盘曲线图形(BMP格式)进行编辑修改,所有的文件参数与曲线参数都可修改。首先它会根据图中图形的个数在“选择修改文件号”的选择框中列出您要修改的文件号,文件号从左向右依次为1、2、3、4等。其它内容修改与创建(绘制)新曲线参数页面一致,唯一不同的是深度标尺左右不能修改了,在创建(绘制)新曲线就应规划好。注意为了绘图准确,在按“确定”前必须先按“存盘”按钮,否则视为不更改(如图)。
如将曲线1的名字改为“真分辨率合成Atlas”曲线名改为MOR1,MOR2,MOR3,MOR4,MOR5,MOR6,MOR7等存盘后图形如图2。
2)编程实现原理
本部分看似复杂,且不易实现,经过巧妙设计,其由计算机程序实现起来却很容易。整个部分是难过一个附属的INI文件来实现曲线图形BMP的编辑的,原理很简单就是所涉及部分进行图形重绘。下面给出的程序段是完整的打开编辑准备时的程序。
4 图形保存
它会自动将图形保存为windows的BMP格式,同时将参数文件保存为同名的ini文件。当打开文件时这两个文件会同时打开,如ini文件被删除了,则图形就不能被编辑了。图3为保存对话框与保存完成时的对话框及保存成new0723.bmp的图形文件。
5 结束语
本软件屏幕界面漂亮,操作简单方便、灵活,适应性强,易学易用。具有编程的创新性及国际同行软件的先进性,受到应用人员的好评。减轻了操作者劳动强度、疲劳感及庞大系统软件的操作学习。采用先进数理模型计算机绘制测井曲线技术,使得在同一研究区域内同时绘制多种测井曲线并提高了数据精度和图形质量。提高了工作效率,测井曲线只需要瞬间就能完成了。必将获得良好的社会效益。
参考文献
[1]马有志.能源型企业生产协同系统的开发设计[J].科学月刊,2007(2).
[2]鄢恒权,李庆怀,马有志.钻井生产多元数据分析处理系统的开发设计[J].电脑知识与技术:学术交流,2007(9).
[3]马有志.论勘探数据银行构成及其方法[J].国内外机电一体化技术,2001(6).
弯管接头绘制 第5篇
视频时长:00:03:08
软件界面:中文
练习文件:有
音频:是
简要操作步骤:
1打开软件cad如下图所示.
2.如下图所示,用圆柱命令在圆心上绘制垂直圆柱体与水平圆柱体相交.
3如下图所示:使用球体命令,在圆心点上绘制一个球体与圆柱体相切.
4在圆心上绘制垂直圆柱体,水平圆柱体,还有球体,重复23的绘图步骤即可.绘好后,运用差集命令减去中间的部位.消隐所得,如下图所示
绘制部落勇士 第6篇
第一章:阿兹特克人
使用软件:Photoshop
概述
阿兹特克民族生活在墨西哥中部,在14到16世纪显赫一时。他们的文明在艺术和建筑上取得了很多成就,历史悠久,传统深厚。也许他们最为世人所知的传统便是活人献祭,这在当时的很多文献中都有记录。那个年代显然没有任何照片可供参考,所以我们只能指望那些流传下来的画稿和节日服装了。我想以历史记录和手稿为基础,结合一点想象的元素,创作出一个半写实的角色会是件很有意思的事情。
绘制草图
鉴于阿兹特克文化和社会形态的丰富多彩,以及他们当时生活的环境,我立马决定采用大量高饱和度的色彩来进行绘制。寻找参考资料的时候,我为他们服装的精致丰富、珠宝的美丽耀眼所折服。这些大都用于庆典场合;不过我想把我的战士用类似的东西装饰一下,让他看起来更有趣。我的脑海中随即浮现出一位身着宗教或节日服装的战士形象。
我画树叶的笔刷如图02所示,勾选了散布和双重画笔。我使用的另一个画笔如图03所示。在这个阶段我们所做的就是填满空白的画布, 为后面的工作打下基础。
既然背景层和角色层是分开的,那么这个时候朦胧一点也是可以接受的,因为随着绘画的深入背景也是需要不断修改的。
在粗略的绘制了背景之后我开始着手人物(图04)。身体的大部分都是采用同一种中间色调绘制的。有了底色,我就可以在上面绘制阴影和高光了。
构建细节
如图05所示,在接下来的步骤中,我在新图层上添加了衣服和配饰。如果大家从事游戏行业的话,给你的作品分层是一个好习惯,可以方便修改。在不同的图层上为角色添加服装意味着修改起来会很轻松。你的美术总监或许会要求你对服装进行一些改动,所以将各种元素分开能节省大量的时间和头疼的麻烦。
我涂上了羽冠,这样的装饰在阿兹特克人的艺术作品中非常常见,也是我很想加入的一种外观。同时我也绘制了角色的五官,光是画面的左边照过来的。
我用带材质的粉笔笔刷来绘制肌肉结构(图06),同时把角色轻轻上移,并且让他更靠近画面的右端,否则人物会显得有点扁。
我在他的节日头饰上又加了点东西,在图07中可以看到。为了表现出阳光直射在左边所形成的高光,我把复制了画好的高光层,然后把混合模式调成“滤色”(内插1)。接着我有用橡皮把不受阳光直射的部分擦掉,只留下一小块区域(内插2)。
我想在我的战士身上加上一些打仗时用的伪装颜料。因此我新建了一层,这样我就可以在不影响主体地情况下尽情的尝试颜色和混合模式。我从脸部开始着手,最后还是采用了正常的混合模式。为了保证画面效果和光照一致,我使用橡皮工具将高光区域擦出半透明的感觉。(图08)。
皮肤的色调有些单调了,为了加强对比,我添加了一层亮度/对比度调整图层。将亮度和对比度各增加30之后,我便使用黑色绘制蒙版,把调整图层的范围限制在角色左手一侧的范围内(图09左)。大家会注意到,我在角色的脖子和下巴附近加上了一些装饰物。我把它们放在了Layer3(图层3)上,正好在“tattoos(刺青)”层之上。
我想让我的战士周身刺上一些纹身,所以脸部完成后新建了一层拿进行试验。叠加模式大概是最合适的选择了;我用青绿色在躯干和四肢上画了一些图样(图10内插)。大家可以看到图层混合模式改变之后刺青的最终效果。
在时候,整体的光照效果是又一个让我发愁的地方——看起来死气沉沉,没有我当初想要的那种活力。为了修正错误,我把之前两个调整层和角色层合并在一起,接着新加了两个调整层:曲线和亮度/对比度。左面是调整前的效果,右边是调整后的效果。大家可以看到,整体的配色更加丰富,光线也更暖和了,带着更浓厚的热带气息。
随着绘画的深入,我发现右腿有些别扭,小腿的弯曲有些过了。于是我决定用选区选中膝盖和小腿,然后转个角度(图11)。当然了,大家也可以用PS的变形工具,尽管它有时候会导致图像轮廓的失真。两种方法都不错,看你的喜好了。
大家想必已经注意到了,我去掉了红色的羽冠——在我看来它破坏了画面的平衡。我对这部分服装很敏感,于是把它换成了小一些的辫子(图12)。
虽然我们的角色穿着节日服装,但是他依旧是个战士,所以我琢磨着给他加上一件典型的阿兹特克武器——马夸威特(黑曜石砍刀)才是最合适的。这是一种用木头制作的介于棍子和剑之间的武器,边缘镶嵌着黑曜石碎片(一种火山岩)。这种材料结实又锋利,实数居家旅行,砍瓜切菜的必备利器。
临门一脚
到这个时候,绘制已经接近尾声了,不过还有一些可以调整提高的地方。虽然我想把重点放在表现人物而不是背景上,但是还是觉得一些逼真的纹理能够帮助表现树枝叶的感觉。我浏览了3DTotal免费提供的图像库,找到了两张表现力绝佳的素材:
http://freetextures.3dtotal.com/preview.php?i mi=13022&s=c:Leaf&p=2&cid=17
http://freetextures.3dtotal.com/preview.php?i mi=13018&s=c:Leaf&p=2&cid=17
于是,我选择了第一张图片前景里的一大片叶子,把它们粘到了画里(图13)。两张图都粘好了之后,我降低了它们的对比度,并减少了第二张的饱和度。
我还发现了一张有用的图:带有零星草皮的一块地,于是我决定把它叠到地面上(图14)。我在垂直方向上使用了变形工具,这样就能形成正确的透视效果;接着我把混合模式调成了柔光(下图)。
我决定用曲线层增加画面的对比度,然后新建了一层,添加了人物右侧的反光。这样,整幅画就大功告成了!
Richard Tilbury
此艺术家更多信息请参见:
http://www.richardtilburyart.com
或者联系他们:
ibex80@hotmail.com
第二章:毛利人
使用软件:Photoshop
我通常用色块来开始绘画,使用色相相近的颜色起草高度概括的形状。由于我要绘制的画面是设置在一片雨林里,因此使用绿色、蓝色和黄色应该比较合适(还要加一点红色和紫色取得平衡)。这阶段我倾向于用很多大毛躁边缘的笔触,以便得到一些随机形状,可能可以触发某些灵感,帮助完善概念上的设计(图01)。
在作画的早期就加入人物很重要,这能帮助保持颜色上以及布局形式上的统一。这一步通常有些棘手,因为你必须同时考虑布局、叙事性、尺度、气氛等。我在画面中暗示出了光源方向和强度,因为我想先看看画面潜在的戏剧性(图02)。
设计眼睛的动态非常重要,这里我想做的是创造一些兴趣点和视觉波噪。我使用自定义笔刷来制造视觉波噪。我喜欢绘制质感,因此这阶段是我感到最有意思的(图03)。
当我想要把波噪大量增加到画面里时,我在Photoshop里新建一层并留下很多带锯齿的笔触。然后我创建一个蒙版,使用较小的带材质笔刷来蒙除一些部分(图04)。
中间的老兄(最右侧那个)在画面里位置十分居中,因此具有很好的视觉吸引力,那么他基本上就会是情节上的主角,所以我首先从他开始细化(图05)。
随着不断推进画面,我时不时尝试调整颜色和明度等以便保持视觉新鲜感。有时候我可以因此找到一些不错的色彩设置。我还设置了两个快捷键来翻转画布;一个用来垂直翻转,另一个水平翻转,这个方法是我用来为自己找出问题的重要手段(图06)。
我想要光柱把部落人物间隔开来而制造一些空间感和戏剧性。照到林中地面的光也同时能调动观看者的视线在画面上移动。我加上一支垂直方向的长矛同时也为背景处的人们做出空间上的限定。把长矛画在那里其实是赌一把,很可能我后面会发现还是移除掉好一些,但总的来说不断试错是好事,可以帮助自己更加完善(图07)。
每当我开始绘制光滑表面如皮肤或树叶的时候我会尽量使用最少的笔画。我感觉当我在同一处叠加笔触的时候总是把那一块画砸。我就养成个习惯,每画一下就走开去看。当我是绘制作品细节的时候我时常缩小画布去看这些笔触是有用的还是不合适的。我还喜欢经常眯缝眼睛审视作品,这可以略去细节看出整体效果(图08)。
我开始给前景处的野蛮人做一些设计上的推测了。他的轮廓和姿态将会非常重要,所以我肯定会多次对他进行改进。
我希望他看起来很强壮,所以我使用拉索工具选择他,复制粘贴到新图层,然后编辑修改他的体型,给他一个脸部的起草(图09)。
这时我还开始翻检我收集的参考图,确保我的设计师遵循了适合于当前情景的武器和装束等,对了,还有纹身——如果没有这些纹身就不像毛利人了
(这是重点;不论你画什么都要找到这个亮点并且尽量使之显眼)(图10)。
我最终还是去掉了长矛兵并增加了一些树枝树叶。绘制树叶又快又好的办法是使用拉索工具。这能给你带来犀利的边缘,并且有不少修改自由,同时不怕画坏画面的其他地方。我一般不用树叶笔刷,因为觉得只要稍微没用好,它们看上去就太不自然太显眼。况且画树叶这么有趣,干嘛不从事这件有趣的事呢(图11)!
对于中间的人物没有很好地和观者产生互动,我感到不满意,所以我又修改了他。他身上也有太多重复涂抹的地方,因此我也想重新画过(图12)。
我注意到现在场景中的光线有些减弱效果了,所以我创建新图层设置为滤色。然后我取用一种偏黄色的橙色,用喷笔把光线加强。喷绘光线的时候很容易画过头,所以我还是决定尝试把这个工作留到后面。
对于细节工作,我保持绘制时的画笔半径尽量大,不断编辑调整笔刷属性适应需要。这也帮助我发现在看图的时候视线会如何走动,据此加以润饰(图13)。
我现在再次改进一些关键地方,使它们尽量易于辨识。我还十分频繁地翻转画布,更多地检查以防有任何的遗漏,现在这阶段已经快完成了。
在画面中游走时我看到还有很多小的空间可以让我藏入更多色彩和噪波。我用了不少的污点工具;通常我会先来两三笔,然后在笔触之间混淆过渡一下以便(至少尝试地)创造新的笔触(图14)。
最后一步是加入最后的收尾用笔,尽我所能地使画面统一起来。我少许调整了色彩和明度,把色彩跨度拉大。最后我还用了有微弱羽化效果的蒙版来突出一些边缘(我发现犀利程度和画面尺寸有关系——图幅越大=锐化力度越小)。加入柔和光线和一些尘埃颗粒的工作要在画面整体锐化度调节和色彩调节之后,因为你需要尽可能多地控制光感。然后我觉得这样就完成了(图15)。
Chase Toole
更多信息请访问:
http://chimpsmack.blogspot.com/
或者联系他们:
chasetoole@gmail.com
美洲土著
使用的软件:Photoshop
在角色设计中涉及到描绘历史性思维定势的形象时总是很棘手。到底要对这个概念描绘得多精确?我要把它绘制得完全历史化还是保留一点艺术发挥的空间,加入一些自己的想法,使它变得更吸引人一些?
你同时还得考虑错误的发挥会带来文化上的冒犯,这让人很头疼。上次我试了一下,没人喜欢这种头疼。
美洲土著的题材已经成为西方文化中不可或缺的一部分,经历了数十年的演化,现在它已经拥有了自己独特的发展体系。一开始仅仅是被想象为未开化的野蛮人形象,如今的美洲土著战士仍然被认为是野蛮的战士,但同时具有强烈的荣誉感与智慧。同时他们还与自己土生土长的土地,与当地的动植物紧紧相连。他们更像是留守的幸存者而不是野蛮人。
对于我能否驾驭这个主题,让我们拭目以待。就任何的历史题材来讲,最重要的就是一开始就找大量的参考资料!当然包括网络搜索,同时也不要忽略了相关的书籍。书籍更加简明扼要,因为往往书籍包含准确的插图和详尽的文字描述。
也不要忘记看看电影和记录片。这是你想保持准确度的最好筹码,但是如果你希望它更奇幻一点,那么一本相关题材的史诗剧本可能也会帮上忙。不管怎么说,上板子开始画吧。
我通常会从这样放松的草图开始,尽管看起来潦草不堪,但是绘制时比看上去要用心得多(图01a)。在这一阶段,我尝试把握战士的姿势和情绪。我甚至还考虑了后期合成,但是一想到我马上要继续修改,所以就不太担心这些具体的问题了。我直接在 Photoshop里用一支圆头笔刷绘制草图,笔头设成压力感应。
我还尝试了一种更为动态的姿势。我不知道这样效果会不会更好,可能会吧,但是对于第一个姿势,我已经有了进一步的想法,并且想画出来看看(图01b)。
这也许不是开始一张作品最好的方式,至少从我的经验上说来是这样。通常,角色连带场景一起设计的话,那么最好先确定画面的主色调和主光源。这就意味着先要进行背景设计,然后才是主角。通过这样的方式,背景的颜色会自然的影响到主角的色调。是的这次的作画,我在最后想把主角融合到背景中时经历了痛苦的过程。
谈到这个战士,你可以看到,我简单的确立了大明暗关系和肤色的颜色倾向(图 02)。我主要注意力仍然留在造型上。我在设想他刚刚猎杀了一只水牛,并且站在他的战利品上。我不希望他看起来傲气十足,仅仅是原生态的气质。有点像:这就是他,朴实的他。
在这一阶段,有些东西效果不是很好,但是我没有管这些,我继续绘制了水牛的草稿,并且把他们俩绘制到了新的图层上(图03)。
我在水牛的外皮上使用了些暖色,我不太确定这是不是个好主意,因为我不希望被杀死的水牛皮比人的肤色更温暖。我尝试用有暗角的光感为场景增加一些戏剧性。画草的时候,我使用硬边圆笔头,开启双重画笔选项,然后调节一下双重画笔的选项直到它显得合适为止。真的,这种画草的办法简直弱爆了——我使用它的唯一原因是颜色和光感看起来不错。以后还会修改的,先不急。
接下来我着重解决了我最关心的问题:他是站在他的战利品上。看起来挺酷的,但是像我之前说的那样,我寻求的不是傲慢而是自信的神态。站在死掉的水牛身上可能体现不出来这一点,我把他放下来,放到了水牛的前面(图04)。从动态方面,弱了一些,但是我知道这有办法补救。至少他现在看起来不那么得意洋洋的。
最终,在推迟了很长时间以后,我开始背景的绘制了。我想像的是平原上乌云密布,长风当空,暴雨将至的场景。我使用CS5内置的扇型猪鬃毛笔头。如果你有手绘板这种笔头会非常好使,因为它会预览笔头的旋转,而不仅仅是倾斜。副作用是它一直有一个预览窗口不停的弹出来,不管我关它多少次(图05)。
为了重建画面的张力我选择把画面倾斜了大约20%,我选中了所有的图层,进入编辑>自由变换>旋转。我还进一步深化了战士,让他微微前倾。我还想把他缩小一点,因为似乎有点太壮了(图06)。我接下来构思他身上的饰物,我想尽量弄的简洁一些,不要太花哨。这样这个姿势看起来就不会被各种细节抢掉风头。我进一步绘制水牛,外皮绘制得更暗,更蓬松。我开始考虑要不要把眼睛全部涂黑并且把反光去掉,因为现在这样很难理解成是死的。
我把整个作品又转回到一个均衡的角度。我不确定这样是不是最好,但是仍然在寻求合成的方式。倾斜后看起来不太稳定,但是我还是有点喜欢的,因为它很吸引我的注意力(图07)。把这些先放在一边,我继续绘制细节,以及一些明亮的颜色(从头发中出来的红飘带)这些会吸引注意力到面部。回到倾斜的构图(图08)。我决定就这样了,因为我对这问题已经开始觉得头晕了。我重新修改了天空,使用了之前提到过的猪鬃毛笔刷。我保持笔触很松撒,因为我希望用天空的动态来抵消两个主题的静态。这样做很有道理因为在生活中动得越快的东西模糊会越强。我还增加了一些边缘背光来提升光感。所有这些都使用硬圆笔头。我还裁切了画布,因为我感觉主题离镜头太远了。
我又开始绘制草地了,我使用Photo- shop内置的草叶笔刷,根据我的需要调整倾斜的方向。我还设置了不规则大小和间隔。笔刷设置好了我就开始在地面上一层层的刷。对于这个没有特别的技巧;你仅需要研究多一些草地的参考图,然后考虑在自己的图上实现多少真实感。我追求的是半真实,保留一点它的奇幻感。在我完成铺草之后。我使用硬边圆笔刷,调整大小抖动和透明度为压力感应,修饰一下草地的质感。从这里开始剩下的就是一些修饰性的工作了。
这就是准成品了(图09)。我从没觉得我的作品是完整的,这次也是如此。还有非常多的地方我希望加工,但是作为教程来讲必须适可而止。我基本上把所有的细节都过了一遍。云的体积感增强了一些,给牛增加了一些细节,明确它的形体。我通过调整圆笔刷设置了一种块状的笔触。要达到这个效果只需设置笔头的分散选项,调整一下滑条。也要记得调整间距属性以得到更好的效果。
我还加上了一些服饰的设计,但是都不能盖住过多的身体,我认为对于一个战士来说,最重要的工具(也许除了头脑以外)就是身体;身体越强壮,战力越惊人。对于敏捷的主角来说,看到身体是最重要的。
对于草地,我复制了一层,设为叠加模式来增加对比度,并且继续在新层上作画。这样增加了亮暗的层次。我还制作了身体的叠加图层,并且用斑点笔刷轻轻擦一下来增加皮肤的机理。
好了,完成了,对于标志性的美洲土著,这只是一个很简单的尝试。我希望你在绘制自己的作品的时候一切顺利!
注:为了增加一些趣味,我还尝试了一个下雨的版本(图10)。不是很准确——皮肤需要更反光,颜色也过于温暖了——但是只是玩玩而已。我在不同的图层上使用斑点画笔,然后使用滤镜>模糊>动感模糊。
然后我进一步绘制了细节和镜头近处的雨滴,记得保持它们的模糊。
Branko Bistrovic
更多信息请访问:
http://www.brushdreams.com/brankosfurnace.swf
或者联系他:
bisvic@gmail.com
第四章:维京人
使用软件:Photoshop
在接到制作关于维京人的概念插画教程的任务后,我为自己准备了一些关键词。和光照、氛围一样,这些词能帮助我确定画面的艺术风格(艺术基调)。我打算把角色塑造得很壮,并把他放到一个危机四伏、阴冷残酷的环境之中。这些都能帮助我找到合适的姿势和表情。在绘制的每个阶段,我都会找参考资料;与画面感觉相辅相成的音乐也必不可少。希望大家能从教程中学到东西!
体块和剪影
就这张画而言,我想让角色拥有一个强有力的剪影,而且越有“维京味儿”越好。维京式角盔是一个明显而又好用的物件。在涂出粗略的体块之后,我会开始思考如何去完善这些乱糟糟的草稿,比如加上胳膊或者武器什么的(图1)。接着我为橡皮设置了相同的笔刷,用来擦出想要的形状(图2)。
故事设计
设计完主角之后,我开始设想他当时的行动。起初我脑中有一个受伤的维京人,他疲于防守,正拼尽力气准备最后一击。然后我接着塑造体块,并移动了元素的位置(比如那把剑)。我想,把他描绘成一个刽子手的感觉一定会很有意思。随后,一个手臂前伸的男子应运而生(图3)。他的手势说明了一切;配合维京人挥剑的角度,画面的真实感大增。在这样的环境下,对立的元素能够很好地衬托出彼此的存在感。如果维京人剁的是树而不是人,尽管姿势和服装没有变化,画面表达的意思却不同了。
另外一个能交代情节的因素就是角色的服装。为角色穿上有时代和区域特征的服装,就意味着要研究角色是如何去穿衣服、做头盔、装饰他们的盾与宝剑。你需要尽可能的去消化和吸收服饰的风格。
天气和动态
在对画面所讲述的故事感到满意之后,我开始思考如何为画面增加更多戏剧感。现在我还不想深入刻画场景中的光线;于是我开始处理画面中那些潦草的边缘,并添加一些烟和雾气效果,以增加场景的深度和动感(图4)。
这里我创建了一些云雾形状的自定义笔刷,并配合橡皮进行使用。另外还需要调整画笔的流量,这样就能慢慢的构建出笔触的感觉,为你的笔刷带来不一样的效果(图5)。
构图法则
在这个阶段,我意识到构图看起来有点太“靠边”了。我知道我得为角色创造出一种强烈的形式感,以此保证画面的趣味性。负形和构图线可以帮助我找到那些有趣的抽象形,比如斧子和手周围的负形。我试着避免任意两条构图线交叉成标准的“X”形。你可以在例图中看到由持剑的手、斧子和胳膊-腿的连线所构成的三角形。如果所有的线都交汇与同一点,构图就会索然无味并且令人厌烦。一个重要的构图法则就是学习Loomis所著的《非常规构图》(“Informal Composition”)(图6)。
一个练习构图的好方法就是利用三个圆圈的组合。先把它们简洁整齐(也可以说是呆板)地排列在画面之中,接着创建一系列“迷你构图”,尽你所能来构建出各种充满变化的组合吧(图7)!
使用正片叠底绘制场景
我一开始有意识的给场景留白,主要出于两个原因。我想先尽可能地集中精力去刻画角色;我也知道我可以在之后通过正片叠底的方式来彻底搞定它。所以在对画面的构图和故事性满意之后,我在所有图层的最上面创建了一个正片叠底层。既然背景是纯白的,就只能往暗里刻画了。使用正片叠底模式可以得到一个很好的变暗的图层效果。通过大号喷枪和之前做的云雾自定义笔刷,我开始专注于刻画光线的渐变效果。接着我会擦掉角色上面那些看起来过暗的部分。这就是我渲染氛围和整体光照的方法(图8)。
图9再现了我绘制的全过程。首先画出基本的物体,然后在正片叠底的图层上进行绘制,最后删除那些罩在高光部分的区域。
叠加,色彩平衡以及强光
我在为一块区域添加颜色的时候通常会用到不同的图层模式。在这张图上,我加入了一层蓝色,辅以橙。色,这样就确定了画面基本的色温关系(冷暖)。接着使用强光图层,在最暗的区域里加上纯的红色。叠加模式是无法实现这个效果的,因为它不能影响纯黑和纯白的部分。然而强光模式可以有效提升黑色部分的亮度。然后我使用色彩平衡调整层,把画面逐步调成我想要的色调(图10)。
图11为大家展示了在黑白图像上使用叠加图层后所呈现的有趣颜色。一个很好的后续处理就是在所有层之上,画上不透明的实色(普通图层)。这样就去掉了之前那种明显的叠色感。
皮肤色调
有时候在使用叠加和高光图层的时候,很难得到正确的肤色,容易让皮肤变得死气沉沉。这通常都是由于某种色相在角色皮肤上的重复使用。皮肤色相和灰度的层次都十分丰富,想要画的真实还需做很多工作。大量的练习必不可少,这样才能把角色画得饱满。于是我又回到画面当中,集中精力描绘皮肤,丰富层次。我把之前叠加时使用的那些颜色都存到了色板里,留着以后备用。当我对皮肤颜色感到满意之后,就重新使用那些颜色进行绘制,回到之前那种阴冷泛蓝的调子(图12)。
研究明白子面散射,你就能理解肤色的本质,离画出逼真的皮肤也不远了。图13里,一号球体只能看到一种色相的明暗变化。在二号球体上,不但存在色相的变化,饱和度也随着明度的降低而升高。
姿势调整
接下来我根据参考资料为角色增添并提炼了一些维京特色的细节,比如皮圈、腰带、钉饰和盔甲。每到绘制的这个阶段,我都会停下来,回顾之前的步骤。我会试着调整角色的姿势,尽可能保证一切协调。这里我移动了那个可怜农夫的脑袋和手的位置,不过后来又改回来了。维京人的脑袋一直困扰着我。于是我选中了他的整个头部,使用复制粘贴大法得到了一个易于自由变换的选区。多次尝试以后,我对头部的位置和角度做了细微调整(图14)。这样就加强了他挥剑的感觉。每做完一个细小的调整,你都应当清楚它到底是削弱了画面,还是加强了画面。
粒子以及最终效果
提笔之前我就在脑中为画面构想了足够的深度和视觉效果。既然天气看起来沉闷而阴冷,我想加上一些雨水便合适不过了。雨水能够很好地烘托气氛,并且增添更多的反射、高光、粒子以及泼溅效果。为了绘制雨水,我以标准的硬边圆头笔为基础做了一个自定义笔刷,尽可能地提高圆度抖动,并且调整了散布的数值。我同时也利用其它粒子条特效笔刷来绘制图中诸如沙石和泥土的效果。为这些元素加上一点动态模糊可以有效地提升景深(图15)。最后我做了一个聚焦效果,让视觉中心变清晰,次要元素变模糊。
Jon McCoy
更多信息请访问
http://www.jonmccoyart.com/
或者联系作者
绘制系统 第7篇
该系统采用的测量方法是通过在一压力区域内传感器阵列获取各测试点上的温度值, 最后再通过上位机对这些温度值进行实时处理, 得到相应区域各个时刻的温度场。与现有的温度场测量技术相比, 这种新方法的温度场测量速度更快、准确性更高、装置的研制难度低, 完全满足温度场的测试要求, 并能够实时地反映一段时间内温度场的变化。
该系统是一套多点温度测试系统, 其中每个采集点相对独立。此外, 采集点的数量不仅与测试系统的成本有关, 同时直接影响测量精度。因此, 在压力场测试时传感器阵列的布放要求布局合理。
远程数据中心的服务器解释前端数据, 首先在软件上构筑测试房间的几何模型, 根据期望计算精度划分网格, 在模型上定位测试点的空间位置, 软件将根据位置参数自动计算各个测试点应当归属的计算网格, 最后绘制出温度场图形。
1 系统设计
基于嵌入式平台的房间温度场绘制系统是由房间布放的采集节点、现场采集终端和远程数据中心三级结构组成, 级与级之间通过短距传输无线网络和GPRS网络传输数据, 其系统结构如图1所示。
1.1 采集节点设计
采集节点设计如图2所示。
节点选用STM32F103嵌入式芯片, 该芯片具有指令执行速度快、集成度高等特点。通过SPI口访问无线收发模块, 温度传感器信号经过嵌入式芯片的A/D转换模块转换成数字信号, 再经过线性变换转换成实际温度值。
节点处理的具体步骤如下: (1) 通过PT100温度传感器, 将房间温度信息转化成电压信号, 接着A/D转化模块将电压信号转化成数字信号; (2) 传输到处理芯片进行数据处理; (3) 将处理后的温度信息通过SPI接口存入SD卡中, 同时通过短距传输模块传输到现场采集终端。
1.2 现场采集终端设计
现场采集终端设计如图3所示。
现场采集终端在整个系统中起到核心作用, 它不仅要收集采集节点的温度信息, 还要将数据发送出去。
在收集采集节点的数据时, 采用了ADF7021收发模块, 是实现无线数据传输的关键器件, 该器件融合了En-hanced Shoek Burst技术。接着将数据通过SPI接口传输到处理芯片进行处理, 最后将数据通过UART串口发送到GSM模块。终端采用了SIMCOM公司的工业级双频GSM/GPRS模块SIM900A, 通过GPRS网络将数据传输到远程数据中心。
1.3 远程数据中心设计
远程数据中心运用Labview开发人机交互友好界面, 使用TCP/IP协议建立SOCKET连接, 与现场采集终端的GSM模块进行通信, 并配合专业软件实现温度的实时可视化。
在实现温度的可视化过程中采用了独特的绘制方法。在软件上构筑测试平面的几何模型, 根据期望计算精度划分网格, 在模型上定位测试点的空间位置, 软件根据位置参数自动计算各个测试点应当归属的计算网格。
测试数据的获取时间间隔和探头的响应时间应当远远小于测试数据变化的时间常数。因此, 在每一时刻温度场的计算过程中, 可以将此时刻的温度场近似为稳态过程, 以简化计算。
算法把空间分为有限数目的网格单元, 将微分方程变换为差分方程, 通过数值计算直接求取各网格单元节点的温度, 最常见的网格划分及对应的差分方程如图4所示。但与其他算法不同的是, 本算法将测试数据作为边界条件, 直接约束迭代计算过程, 达到期望的结果。温度场计算的准确程度取决于测试点的多少和是否放置在特征点上, 真正实现了测试点越多, 越能理解物体的本质;当测试点密集到一定程度, 则测点位置已不重要, 计算结果都能反映真实情况。如果测试点有限, 而根据测试数据算出的温度场/浓度场不合常理, 这说明测试点位置有可能有问题, 不在特征点上。因此, 温度场绘制方法可以帮助完善测试点位置的选择。
2 测试与分析
通过现场采集终端的实时采集, 可以在远程数据中心实时得到各个采集点的温度数据变化, 下表1为10:1114:11每隔1 h的房间内9个温度采集点的温度数据变化。
利用远程计算机处记录采集的9个点的温度信息以及它们的位置坐标, 首先采用温度场绘制方法构筑测试平面的几何模型, 根据期望计算精度划分网格, 在模型上定位测试点的空间位置。根据位置参数自动计算各个测试点应当归属的计算网格, 最后为每个点配以不同的配色方案绘制每个时刻房间的温度场图片。图5为10:1114:11内每隔1 h测试房间内的温度场变化。
从温度场的变化来看, 10:1113:11的温度场整体颜色有浅变深, 表明房间温度从上午到中午不断上升, 可见空气源热泵系统开始运行, 使房间不断加热。而从13:11后温度场整体颜色由深变浅, 表明房间温度到了下午有不断下降的趋势;最后颜色分布均匀, 表明空气源热泵系统能够按照控制要求控制房间温度。整个过程表明该空气源热泵系统设计能够按照控制要求控制室内温度, 控制时间需要4 h左右。对于温度场中出现的温度奇点, 主要是由两个原因造成: (1) 由于温度场算法采用连续性方程, 需要特征点, 而图中的奇点即特征点; (2) 图中奇点表明空调系统送风路径及其送风大小变化, 比如从13:11和14:11时的情况可以看出, 空调系统送风口位于房屋一角, 同时可以看出随着房间温度达到控制值, 送风量越来越小。
3结束语
本实验在某公寓中采集信息, 并利用远程计算机实时绘制出温度场图像, 能直观、实时地反映当前房间的温度环境, 由于节点和传感器数量有限, 温度采集点数量比较少, 对结果造成了一定的影响。但是由图可以看出, 实验仍取得了比较满意的效果, 达到一般水平。本系统可以实时地绘制温度场, 不需要人员现场操作, 并能连续测试一个时期内的温度场, 观察该区域内的温度场变化。
摘要:介绍了一种基于嵌入式的房间温度场实时绘制系统, 整个系统由分布房间中的采集节点、现场采集终端和远程数据中心组成。首先采集节点采集房间温度信息, 经过现场采集终端的中转和远程数据中心通信, 数据中心处理温度位置数据, 将温度信息进行实时的可视化, 即绘制温度场, 反映一个时间段中的温度场变化。通过介绍采集节点的设计、现场采集终端设计和温度场绘制方法, 并使用Labview软件, 采用温度场绘制方法, 绘制出形象的温度场图形。通过测试验证系统应用的可靠性和温度场图形绘制的准确性。
关键词:嵌入式系统,温度场,短距传输技术,Labview
参考文献
[1]鲁资, 林水生, 周亮.基于无线传感器网络的温度场绘制[J].传感器与微系统, 2011, 30 (06) .
[2]何东坡, 任贵波, 韩春鹏, 等.DS18B20在季冻土区公路路基温度场测量中的应用[J].电子技术应用, 2010 (04) .
[3]于坤林.基于数字图像处理的温度场测量方法的研究[J].长沙航空职业技术学院学报, 2011 (02) .
[4]焦玉琴, 王孝, 郁国军, 等.基于C8051F310的内燃机活塞温度场测试系统[J].车用发动机, 2011 (01) .
[5]史晓锋, 蔡志权, 李铮.分布式光纤测温系统及其在石油测井中的应用[J].石油仪器, 2002 (02) .
[6]王剑.基于LabVIEW的数据采集及分析系统的开发[D].哈尔滨:哈尔滨理工大学, 2004.
[7]王黎丽, 陈曾杰.基于ZigBee的温度监测系统[J].中国新技术新产品, 2011 (16) .
[8]唐述宏.分布式光纤温度传感器关键技术[J].潍坊学院学报, 2007 (04) .
[9]董亚超.基于ZigBee技术的无线环境监测网络的开发[D].大连:大连理工大学, 2008.
绘制系统 第8篇
随着数字媒体技术的不断进步, 游戏娱乐行业的迅速发展, 人们对游戏的显示方式和沉浸感提出了更多需求。传统游戏运行在单台PC上, 采用LCD显示器等作为显示设备, 显示尺寸小, 游戏视角窄, 缺乏游戏沉浸感。如何增强游戏画面沉浸感、更好地展现游戏虚拟世界临场感、提升游戏趣味性, 已成为国内外研究的热点。
国内外关于集群并行绘制技术在虚拟现实场景的应用研究已经较为成熟, 并行绘制系统架构图如图1所示[4,5,9]。Chromium[1]是一种基于集群的交互式绘制流处理框架, 通过截获并发送Open GL指令流实现绘制指令和绘制数据的同步。然而游戏的交互性强、场景变化快、对绘制帧率要求高, Chromium在绘制数据较多时面临网络传输方面的瓶颈。Cluster Juggler[3]通过扩展VRJuggler[2]框架, 由VRJuggler的kernel在运行时分别调用基类方法, 这种方式并不适用于游戏开发。Equalizer[4]是一种可伸缩的集群并行绘制框架, 具有良好的可伸缩性和扩展性, 但该框架采用Open GL图形库, 降低游戏开发人员的开发自由度。
TCP协议作为一种面向连接的可靠数据传输协议, 在网络并行图形绘制方面得到大量应用, 如DICELib[9]、VRJuggler[2]等。RUDP (Reliable UDP) 协议是一种可靠的简单分组传输协议, 相比于UDP协议更为可靠, 在互联网游戏行业中得到广泛应用[8]。Multicast协议对同一个组内发送者和接收者之间实现单点对多点网络连接, 即一个发送者同时给多个接受者传输相同的数据时, 只需要复制一份相同的数据包。Equalizer设计了一种基于Multicast的可靠传输协议RSP (Reliable Stream Protocol) 协议[7], 并提供开源的API库。
在虚拟现实系统的同步数据传输方面, DICELib只对基于两个节点、16 KB同步数据量的集群系统进行性能评估, 而并未对多节点、大数据量的集群系统进行测试。文献[10]中对VRJuggler的性能分析表明, 基于TCP协议的集群系统同步效率随着集群节点数的增加而线性降低。虚拟现实系统通常只需要同步相机参数和物体位置等少量数据, 而场景较为复杂的并行绘制游戏系统还需要同步游戏对象状态和游戏事件等大量数据。虚拟现实系统的通信协议设计方案并不适用于同步对象多、同步数据量大的并行绘制游戏系统。
已有的并行绘制游戏系统在同步数据传输协议设计方面尚未成熟。Cry VE[12]基于Cry Engine2游戏引擎[13]实现CAVE[11]环境下的沉浸式游戏显示, 然而该系统并未考虑同步节点数多、同步数据量大的情况下, 系统同步数据传输的效率问题。Cave UDK[14]基于UDK游戏引擎[15]实现了CAVE[11]环境下的沉浸式游戏显示, 然而该系统仅考虑游戏世界中相机参数和交互事件传输, 同步方式简单, 缺乏灵活性, 不能满足实际游戏需求。此外, Cave UDK采用UDP协议实现同步数据传输, 在同步节点数较多、同步数据量较大时, 系统同步数据传输性能受到较大影响。文献[5]提出了一种面向网络游戏的沉浸式显示框架, 该游戏框架基于TCP协议进行游戏对象同步时未包含容错信息, 在同步数据量较大时面临效率问题。
本文通过游戏同步对象封装和解析协议设计, 增强游戏对象同步的鲁棒性和容错性。同时, 针对并行绘制游戏系统同步对象多、数据量大的特点, 本文着重对同步数据传输协议进行分析, 设计并实现了一套基于Multicast的通信协议, 并对TCP协议、RUDP协议、RSP协议以及本文实现的基于Multicast的通信协议在同步数据传输中对游戏性能的影响进行比较, 对改进的通信方式进行评估。相比于传统的虚拟现实系统和已有的并行绘制游戏系统, 本文提出的同步数据传输协议在并行绘制游戏系统的应用具有更好的游戏性能及可伸缩性。
1 游戏同步对象封装及解析协议
游戏世界状态指游戏虚拟世界中物体的状态信息以及引起游戏状态改变的其他信息。已有的沉浸式显示游戏系统将游戏世界的信息分为游戏对象状态信息 (如对象的位置、生命值等) 以及游戏事件信息 (如开枪射击、对象死亡等) , 通过同步游戏世界的信息实现并行绘制。沉浸式显示游戏系统框架采用客户端/服务器架构[5]。服务器端完成整个游戏的基本功能, 包括接收玩家输入、执行游戏逻辑计算等, 同时从游戏对象状态中提取同步信息, 发送给客户端。客户端通过接收并解析服务器端的同步信息, 更新本地游戏世界状态, 并完成游戏画面的绘制及显示功能。
在实际开发过程中, 游戏开发者可方便地利用该框架实现游戏世界中游戏对象状态或游戏事件的同步。然而, 面对游戏世界大量复杂的游戏对象状态及游戏事件, 游戏开发人员极易由于疏忽造成数据发送和接收的不一致, 导致整个游戏运行异常。本文设计并实现了一套游戏世界状态封装和解析协议, 通过将游戏对象状态信息及游戏事件信息进行封装和解析, 利用校验标识检测发送和接收不匹配的同步数据, 保证了游戏的容错性和用户友好性。
1.1 游戏同步对象结构
对于游戏世界的每个同步对象 (包括同步对象状态、同步事件以及心跳信息) , 其封装后的信息结构如图2所示, 由头部信息和同步信息内容两部分组成, 头部信息包括校验标识、帧序列号、同步类型以及信息长度四个部分。
校验标识用于校验同步对象信息的合法性, 所有同步对象信息具有相同的校验标识。帧序列号对应于当前游戏的帧号, 同一帧内的所有同步对象信息具有相同的帧序列号。同步对象类型分为状态同步对象、事件同步对象、心跳同步对象, 分别对应游戏对象状态信息、游戏事件信息以及心跳信息。信息长度和信息内容分别对应同步对象信息的长度及内容, 当同步对象类型为状态同步对象时, 系统从游戏对象中提取同步对象状态信息;当同步对象类型为事件同步对象时, 系统从游戏对象中提取同步对象事件信息;当同步对象类型为心跳同步对象时, 信息长度和信息内容均为空。
1.2 游戏同步对象信息传递流程
游戏同步对象信息传递流程如图3所示。服务器端首先读取游戏世界中定义的对象状态或者事件信息, 并对信息内容根据同步对象信息组成结构进行封装。接下来, 服务器端将封装后的同步对象数据写入数据发送缓存区并发送给客户端。
客户端接收并解析服务器端发送的同步数据, 解析流程如图4所示。
步骤一匹配校验标识。
步骤二匹配当前帧序列号。
步骤三解析同步对象信息类型。如果信息类型为状态信息或事件信息, 则继续读取接下来的信息内容;如果为心跳信息, 则进行帧刷新同步[7]。
步骤四根据信息长度读取信息内容, 并根据信息内容对游戏世界的对象状态和事件进行更新。
若头部标识、帧序列号不匹配, 或信息长度及对应长度的信息内容读取失败, 均将导致解析失败。若解析失败, 则将已读取的未匹配同步数据丢弃。
同步对象信息解析示例如图5所示, 其中T表示校验标识 (Target) , F表示帧序列号 (Frame ID) , L表示信息长度 (Length) , C表示信息内容 (Content) , S表示对象状态信息类型 (State Type) , E表示事件信息类型 (Event Type) , H表示心跳信息类型 (Heartbeat Type) 。
2 系统通信协议
并行绘制游戏系统中, 服务器端对游戏同步对象信息进行封装, 并将封装后的同步数据存入数据缓存区, 通过用户配置的通信协议将缓存区数据发送给客户端节点。客户端从接收缓存区读取数据, 当接收缓存区数据不足时, 再接收服务器端发送的数据并存入接收缓存区。并行绘制游戏系统中, 同步数据传输的高效性和可靠性是游戏逻辑正确的先决条件, 对同步数据传输协议的性能评估是并行绘制系统架构评估的一个重要标准。
DICELib[9]、VR Juggler[2]以及面向网络游戏的沉浸式显示框架[5]均采用TCP协议进行集群并行绘制系统的网络通信;RUDP (Reliable UDP) 是一套基于UDP实现的可靠传输协议, Rak Net[8]提供了对RUDP协议的支持, 它是一种基于UDP网络传输协议的C++网络库, 能为开发者提供高效、可靠的网络传输服务;RSP[7]协议是Equalizer设计的一套基于组播的可靠传输协议。本系统实现了一套基于Multicast的传输协议, 并通过导入Rak Net插件和RSP插件以及引用文献[5]的TCP协议框架增加RUDP、RSP以及TCP三种通信协议。本文对基于Multicast的传输协议与其它三种协议对并行绘制游戏系统性能影响进行了理论分析和实验数据对比。
2.1 系统通信协议分析
TCP协议与RUDP协议是可靠的点对点传输协议, 对于节点数较少的并行绘制游戏系统而言, 这两种通信协议高效可靠。然而, 这两种协议的数据传输量随着节点数量增加而线性增加, 这将导致在节点数较多时, 同步数据传输时间增长, 系统性能降低。
RSP协议是Equalizer设计的一套基于Multicast的可靠传输协议, 基于Multicast的实现方式使得服务器端向多个客户端传输相同数据时只需要向组播地址发送一次数据包, 由路由器负责复制并传输数据, 并行绘制框架具有良好的可伸缩性。RSP协议在每一次数据包传输过程中, 通过数据分段传输及丢包重传机制保证数据传输的可靠性。然而, RSP协议需要检测每一次数据发送的可靠性, 在点对点传输情况下, RSP协议的传输速度要低于其他三种协议。
与RSP协议以每一次数据发送为单位保证传输可靠性不同, 本系统设计的基于Multicast传输协议的通信机制以游戏帧为单位保证数据传输可靠性。在汲取Multicast协议可伸缩性优势的同时, 也保证了同步信息传输和处理并行进行, 确保了沉浸式游戏并行绘制的高效性和可伸缩性。
2.2 Multicast协议容错机制概述
TCP、RUDP、RSP三种通信协议均是可靠传输协议, 而Multicast是面向无连接的不可靠传输协议, 在集群绘制系统网络传输速度不稳定的情况下, 采用Multicast协议进行数据传输, 可能导致数据包的丢失和乱序现象。因此, 系统设计中, 基于TCP、RUDP、RSP的通信协议在实现时均采用直接发送数据包的形式进行数据传输, 而基于Multicast的通信协议为保证其可靠性, 需要建立一套出错重传机制。
基于Multicast通信协议的并行绘制系统, 其传输的数据包由数据包头和数据包内容两部分组成, 数据包头包括校验标识、帧序列号、段序列号以及数据包长度四个部分, 如图6所示。同一帧内发送的数据包, 其头部标识和帧序列号相同, 段序列号依照发送次序从零递增, 即当前发送的数据包段序列号为上一次发送数据包的段序列号加一。
采用基于Multicast的通信协议进行同步数据传输时, 服务器端建立缓存区, 存储当前帧内所有已发送的同步数据包, 当有客户端请求重传数据包时, 从缓存区内读取相应序列号的数据包并再次组播重传。
客户端通过分析接收数据包段序列号的连续性来检测数据包传输的异常情况。数据包传输异常可能由数据包丢包和乱序两种情况导致。客户端在数据包丢失情况下, 需要向服务器端请求重新发送丢失的数据包, 而在数据包乱序情况下, 只需继续接收服务器端发送的数据包并按照段序列号调整接收数据包的顺序。本系统的丢包重传机制为客户端在当前帧结束时向服务器端请求重传丢失的数据包, 从而避免乱序数据包的重复发送影响游戏性能。
3 应用实例及实验结果
3.1 应用实例
本文基于沉浸式游戏并行绘制框架, 实现了TCP协议、RUDP协议、RSP协议以及基于Multicast实现的通信协议等四种同步数据传输协议。为对TCP协议、RUDP协议、RSP协议、Multicast协议等四种通信协议在并行绘制游戏系统的应用进行比较, 本文在沉浸式游戏并行绘制系统基础上, 对一款使用Unity游戏引擎[6]开发的第一人称射击游戏客户端进行改造。游戏在单机上运行画面截图如图7所示, 采用6台PC进行并行绘制的游戏画面截图如图8所示。改造后的游戏程序通过修改配置文件参数来设置游戏客户端节点数以及系统通信协议。
3.2 实验设置
实验共采用6台PC作为沉浸式游戏并行绘制节点, 所有PC的硬件配置均为Intel Core 2 Q8300 2.50 GHz CPU, 2 GB内存, NVIDIA Ge Force GTS 450图形显示卡。每个节点输出的分辨率均为1 024768, 各节点通过千兆局域网进行连接。
在实验中, 首先对已有的游戏并行绘制系统进行测试。该并行绘制系统每帧的同步数据量为10kb, 游戏场景模型较多, 对游戏场景进行绘制所花费的时间较多, 游戏画面截图如图7所示。为减少大量场景绘制对游戏帧率造成的影响, 实验对游戏并行绘制系统进行改造, 通过精简游戏场景模型, 同时加入对游戏场景不同同步数据量的设置, 从而让实验结果更为直观准确地反映不同通信协议对游戏性能的影响。系统通过测试在游戏同步数据传输量及并行绘制节点数不同的情况下, 基于TCP、RUDP、RSP以及文中实现的Multicast等四种不同通信协议的沉浸式游戏帧率数据, 来分析不同通信协议对游戏程序绘制帧率的影响。系统通过改变游戏对象的同步数据量来改变整个游戏同步数据传输量, 实验测试的同步数据传输量分别为10、30、100、200 KB/帧。实验测试的并行绘制节点数为2至6台。
3.3 实验结果
实验首先对改造前的游戏并行绘制系统进行测试, 测试数据如表1所示。该并行绘制系统场景模型复杂、同步数据量小, 游戏场景绘制和显示成为系统帧率的瓶颈, 实验数据不能较好反映网络通信效率对游戏性能的影响。然而, 随着PC硬件性能的提升, 游戏场景的绘制和显示效率将大大提升。而随着集群并行绘制节点数与游戏场景同步数据大幅度增加, 同步数据传输效率将成为系统帧率的瓶颈。接下来实验将对模型较为简单的场景, 测试不同同步数据量环境下四种通信协议对游戏帧率的影响。
图9、图10、图11、图12分别给出了同部数据量为10、30、100、200 KB四种情况下, 四种通信协议在不同绘制节点数时对游戏帧率影响折线图。当同步数据量为10 KB/帧时, 实验结果如图9所示。当并行绘制节点数从2台PC增至6台PC时, TCP协议、RUDP协议、Multicast协议的帧率均能达到60帧左右, 而RSP协议的帧率只有40帧。从实验数据可以看出, 在传输数据量较小的情况下, RSP协议相对其他三种传输协议性能较低。网络通信在游戏节点数及游戏同步数据量较小时, TCP协议、RUDP协议以及Multicast协议之间的性能差距对比不大, 节点数的增加对基于Multicast的通信协议并行绘制系统影响小于TCP协议以及RUDP协议。然而, 随着游戏场景复杂性的提升、游戏投影规模的扩大, 绘制节点数以及同步数据传输量也将进一步增加, 此时网络通信效率将成为游戏绘制效率的一个重要影响因素。本文接下来将对同步数据量较大的游戏场景下四种传输协议对游戏并行绘制系统性能的影响进行测试及分析。
在只采用2台PC作为并行绘制节点时, 当同步数据传输量为30 KB/帧, 基于TCP、RUDP、Multicast通信协议的游戏并行绘制程序, 帧率均超过60帧/秒, 而基于RSP通信协议的游戏并行绘制程序, 帧率为44帧/秒, 效率较低。同样, 当同步数据传输量为100 KB/帧及200 KB/帧时, TCP、RUDP、Multicast三种通信协议在只采用2台PC作为并行绘制节点的情况下, 效率也高于RSP协议。
在同步数据传输量为30 KB/帧时, 当并行绘制的PC节点数从2台增至6台, 基于TCP和RUDP通信协议的游戏并行绘制程序, 帧率下降至35帧/秒左右, 而基于RSP及Multicast通信协议的游戏并行绘制程序, 帧率下降范围为10帧以内。同样, 当同步数据量为100 KB/帧和200 KB/帧时, 基于TCP和RUDP通信协议的游戏并行绘制程序, 其绘制效率随着节点数的增加而线性递减;而基于RSP及Multicast通信协议的游戏并行绘制程序, 其绘制效率表现稳定。
实验结果表明, 节点数较少时, TCP协议、RUDP协议及本文实现的基于Multicast的通信协议效率基本相同, 而RSP协议效率相对较低;随着节点数的增加, TCP协议及RUDP协议通信效率降低, 而RSP协议及本文实现的基于Multicast的通信协议则基本保持平稳。因此, RSP协议及本文实现的基于Multicast的通信协议, 具有更好的可伸缩性。
4 结语
绘制系统 第9篇
在E-pH图的绘制过程中, 涉及到许多热力学数据的查询和计算, 计算量大、绘图复杂, 手工绘制常会遇到很多困难。随着计算机技术在工业技术中的应用, 人们越来越重视E-pH图的研究, 通过不断的研究, 也开发出了许多的计算绘图软件。与此同时, 热力学数据库的应用也得到了进一步的普及, E-pH图的绘制程序也被嵌入了越来越多的大型热力学数据库, 并且成为其功能模块, 这不仅提高了效率, 还大大方便了用户[4]。本文将讨论计算机绘制E-pH图系统的结构设计及系统的工作方式。
一、E-pH图绘制系统结构设计
E-pH图绘制系统结构由主控模块和子模块构成。用户通过主控模块调用各级子模块, 完成指定功能。各子模块相互独立, 可通过主控模块相互调用。结构化程序设计方法被本系统的程序所应用, 且本系统的程序采用“自顶向下”一步步扩大的编程方法, 通过控制结构完成程序执行走向。对于程序维护员来说, 这种方法编出的程序结构好, 易读、易改、易维护。
(一) 主控模块设计。主控模块是E-pH图绘制系统的控制系统, 它连接并控制着系统中所有的子模块。系统通过主控模块接收用户的指令, 对用户指令进行初始化, 并调用相应的子模块进行计算和绘图。通过主控模块还可以访问热力学数据库。
(二) 平衡模块设计。经主控模块初始化后的用户指令被平衡模块处理后, 可确定溶液体系中可能存在的各种物种及反应。主模块调用平衡模块中的“方程式自动配平”模块, 将所确定的反应配平, 因为用户给定了一些条件, 为了判断这些反应方程式在这些条件下能否发生, 可以再调用其中的“计算分析”模块来实现, 然后去掉这些未能发生的反应, 可以建立一套系统的化学模型, 并且在“工作库”中将其以临时文件的方式保存下来。
(三) 计算模块设计。经主模块或平衡模块处理过的数据, 利用计算模块来计算绘图过程中所需要的热力学数据。然后对所得出的热力学数据进行分析、计算, 从而得出E-pH的关系式。最后将处理结果以临时文件保存到“工作库”中。
(四) 优势区模块设计。该模块通过访问“工作库”中保存的单变线方程, 判定构成完整E-pH图的三相点和边界点, 删除不可能存在的点和超出边界的点, 合并重合的及偏差范围内的点[4]。该模块由循环判断语句构成, 经过多次迭代检测完成其功能。
(五) 绘图模块设计。这个模块主要是根据用户所提的要求, 通过把“工作库”中保存的各子模块的数据调用出来, 绘制E-pH图, 并以临时文件保存到“工作库”中, 为图形的复制、存储、打印提供条件。
(六) 数据表格模块设计。这个模块将“工作库”中保存的数据 (重要参数和计算结果) 用动态图表表现出来, 并以临时文件保存到“工作库”中, 为图表的复制、存储、打印提供条件。
(七) 工作库设计。由于大量的临时文件会在E-pH图计算绘制过程中产生, 如果在生成临时文件的模块下将其保存下来, 那么在调用临时文件的时候就一定要先访问相应子模块, 或者需要访问更多的相关模块, 这样就一定会拉低数据库系统的工作效率, 加大工作量, 这也是对数据资源的一种浪费。所以就设计了“工作库”用来保存各模块产生的临时文件, 这样就可以直接访问“工作库”, 大大提高了速度。另外, 在操作过程中为了避免意外对源数据库造成损坏, 一切需要在源数据库中进行的操作必须要先在“工作库”中进行, 确认无误后才能正式转入主数据库文件中。这样就充分保护了数据库系统的稳定性和安全性[3,5]。
二、E-pH图绘制系统工作过程
E-pH图绘制系统工作时, 用户通过主模块调用子模块, 在子模块过程文件中调用各子模块命令文件。具体过程为:
(一) 用户从系统主界面进入E-pH图绘制系统。输入指令, 如体系名称、温度、活度值、坐标轴范围、坐标单位长度等。
(二) 主模块在“工作库”中检索。假如已有相应的图表存在于“工作库”中, 那么会给用户提示, 征求用户是直接调用还是通过程序绘制。若需要重新绘图, 则根据输入信息确定体系中存在的组分和化学反应, 配平化学方程式, 建立起化学模型。
(三) 检索相关热力学数据并调用计算模块。计算绘图过程所需热力学数据, 并建立单变线模型 (E-pH关系式) 。
(四) 绘制结果输出。绘制结果可以以E-pH图形形式输出, 也可以将重要数据数据表格形式输出。
三、结语
E-pH图绘制系统可根据用户指令计算并绘制E-pH图。并且计算出结果后, 用户可以选择以何种形式输出 (数据表格形式或者图形形式) 。该系统在相同坐标范围及单位长度下可实现图形间的叠加。可使复杂体系的处理变得简单, 同时使图形间的比较变得直观[4]。系统工作时, 主模块通过调用子模块过程文件中的命令文件实现其功能。所有操作均先在工作库中进行, 处理结果均以临时文件保存到工作库中, 调用时直接从工作库中调用。访问流程短, 且不会因误操作影响系统的结构和数据, 确保系统的安全性和稳定性。但该系统的设计是模拟人工思维方式, 没有从根本上说明这类图形应该遵循的数学规律和化学规律, 所以该程序在通用性和移植性方面还有较大欠缺, 需要今后进一步的研究。
参考文献
[1]马运柱.硫化矿Eh-p H图形数据库系统的开发与应用[D].中南工业大学, 2000
[2]李自强, 何良惠.水溶液化学位图及其应用[M].成都:成都科技大学出版社, 1991, 1
[3]尹爱君, 张帆, 李晶.Windos下通用电位-p H图绘制系统[J].计算机与应用化学, 1996, 8 (13) :213~218
[4]刘韶华.稀土化合物物性数据库E-p H图计算研究[D].昆明理工大学, 2009
绘制系统 第10篇
关键词:管柱设计,生产管柱,井下作业,J2EE
1 前言
目前国内的井下作业管柱绘图系统相对缺乏,井下施工设计及总结报告所需要的井身结构、完井管柱等的示意图只能依靠现场技术人员、施工人员和管理人员手工绘制,增加了工程技术人员的劳动量,使工作的效率受到极大的制约。基于J2EE平台的井下作业管柱绘制系统,结合了油田实际需要,可以使得用户在网上查询某口井的井下管柱图、井身结构示意图等。
2 系统总体设计
2.1 总体结构
我们设计的井下作业管柱绘制系统的总体结构如图1所示,该系统主要分为管柱图绘制模块和井身结构图绘制模块两部分。
2.2 管柱图绘制模块
管柱图绘制模块主要功能是:根据一口井的井号和完工日期,从源点数据库YS_DDH013表中查询,取出该井在此次工艺措施中的工具名称、工具代码、下入深度等数据,按照下入深度排序,就可以得到从浅到深的工具名称的集合,然后从上到下依次绘制出各种工具,并标注出工具名称和下入深度等信息;根据井号从源点数据库YS_DCA07表中查询出该井的层位等信息,然后在适当的位置绘制出该井的层位,并标注出井段顶深、井段底深、层数和厚度等信息。该流程图如图2所示。
2.3 井身结构图绘制模块
井身结构图绘制模块的主要功能是:从源头数据库YS_DAA023表中,取出井号、靶点号、层位名称、造斜点井深、实际靶点井深、实际靶点垂深等信息,并根据这些信息由里向外绘制井身结构图。如果该井为斜井,根据该井的造斜点和实际靶点坐标可以计算该井的拐弯点,根据实际的比例绘制该井的井身结构图。
3 关键技术
井下作业管柱系统采用SVG技术在网页上动态生成图形的方法。客户端在网上查询管柱图的时候,如果客户端的浏览器没有安装SVG插件,系统会自动提示并安装SVG插件。下次用户再访问的时候,直接可以看到标准的管柱图。系统的平台采用目前较为流行的J2EE平台,服务器采用Tomcat,开发语言采用Java,图形的绘制采用Servlet技术。
3.1 SVG简介
SVG是英语Scalable Vector Graphics的简写。可以翻译为可缩放的矢量图型。它是基于XML标记语言来描述二维矢量图型的一种图形格式。SVG由W3C制定,是一个开放标准。SVG严格遵从XML语法,并用文本格式的描述性语言来描述图像内容,因此是一种和图像分辨率无关的矢量图形格式。SVG图形格式具有以下优点:
1)图像文件可读,易于修改和编辑;2)与现有技术可以互动融合;3)SVG图形格式可以方便的建立文字索引,从而实现基于内容的图像搜索;4)SVG图形格式支持多种滤镜和特殊效果,在不改变图像内容的前提下可以实现位图格式中类似文字阴影的效果;5)SVG图形格式可以用来动态生成图形。例如,可用SVG动态生成具有交互功能的地图,嵌入网页中,并显示给终端用户。
3.2 井下工具的绘制
尽管从表面上看,每个管柱图都各不相同,但是组成每个管柱图的井下工具是基本类似的。我们可以把这些所有的工具分成几个大类,具体分法参照FLA55(井下工具代码表)。把这些所有的井下工具元件都绘制出来,形成一个井下工具图形库,具体绘制的时候根据代码可以取出井下工具的图形。这种对应关系为了系统的灵活性,我们采用一个XML文件来描述它,这样,当工具发生变化的时候,我们只需要维护这个XML文件即可。
部分XML文件如下所示:
当绘制井下工具的时候,首先根据井下工具代码,查询出该工具的SVGView部分,这部分是描述工具绘制的XML描述,再采用Apache Batik工具包,动态地生成SVG图形。
4 井下作业管柱系统的运行
4.1 系统运行的效果
井下作业管柱绘制系统的绘制的管柱图和井身结构图如下图4、图5所示。
左侧的管柱图中,蓝色的部分表示井下工具图形库中没有该工具,可以通过增加图形库的方法来解决,使得这套井下管柱绘制系统更加完善;右侧绘制的是一口斜井的井身结构示意图,该图形是根据实际的造斜点和实际靶点坐标来绘制的图形,灰色部分表示的是水泥返高。
4.2 管柱绘制系统带来的好处
基于J2EE的井下作业管柱绘制系统,采用网络的B/S模式来绘制图形。用户只要能够上网,就可以通过网络查询某一口井的管柱图和井身结构图,使得领导可以及时、方便地了解到现场的实际情况,大大提高了工作效率,系统采用SVG技术来动态绘制的图形,SVG具有可以放大、缩小、拖动的特点,使得绘制的图形更加灵活。基于J2EE的SVG井下管柱绘制系统在胜利油田各个采油厂应用,效果反应良好,最大限度地满足了油田用户的实际需求。
5 总结
基于J2EE的井下作业管柱绘制系统,根据胜利油田各个采油厂的实际需求,通过使用Servlet技术,可以在网页上动态地绘制出符合工业标准的管柱示意图,结束了以往手工绘制管柱图的历史。该系统集成在单井信息化集成系统中,在孤岛采油厂、胜利采油厂、东辛采油厂等各个二级单位应用,效果反应良好,满足了油田用户的实际需求,也提升了胜利油田的信息化管理水平。
参考文献
[1]赵艳红,李锋.计算机辅助绘制井下管柱结构图[J].石油工业计算机,2000(3):33-35.
[2]檀朝东,逄仁龙.井下作业管柱绘图实用软件的研制及应用[J].中国石油和化工,2007(11):66-68.
[3]邓云娇,林羽,黄文娟.特殊套管井井下工具技术综述[J].江汉石油职工大学学报,2007,20(2):50-52.
自己绘制精彩人生 第11篇
在萨姆赛?毛姆的小说《人生的枷锁》中写到贝鲁特地毯的事。贝鲁特地毯的图案十分复杂,没有两张是一样的。本书的主人公说:“我想描绘的美丽图案是在死的时候,看着自己编织的图案说这是幸福。”
确实,如何生活,走过怎样的人生,是给予本人的最重要课题。我认为自己的人生不属于任何人,而是属于自己,所以自己的人生自己考虑是不言而喻的。但是看看周围的人,确有许多过着他人支配的生活,真令人惊诧不已。
“我那样为公司做过贡献,公司应该照顾。”
“我交了那么多税,国家更应该照顾。”
有这种想法的人很难说会有幸福的人生。依靠他人的人生不是自己的东西,因此如果比照贝鲁特地毯的话,就等于图案是由别人来织的。在临死之际,看着别人织的地毯能说“美丽”吗?自己的人生不是自己开拓、终生织就的作品,很难说是“美丽”的。
完全放弃自己的人生、自己的生命、自己的人格,由他人支配终了一生的人,好像在日本人中特别多。高龄者的问题应该从这方面转换思考方式。
医学界正宣讲着生命的尊严或伦理,做着勉强延长寿命的治疗。我就不想听医生说三道四,死的时候,凭自己的意志去死。不能选择生,至少让我能选择死,有生的自由就应该有死的自由,这是我的想法。可以说有能够选择死的自由,才能积极地度过人生。
几年前,水江龙子要进行葬前聚会,成了热门话题。实际上,我在此前就有这种想法,想开一个死前的“欢送会”。打算在还健康的时候,召集以前照顾过我的人,总结一下自己的人生。我出聚会的费用。我的心愿是对照顾过自己的人聊表谢意。但是,召集来的人会送很多礼钱,如果那时我穷困的话就充满感激之情收下来,如果腰包充裕,就将其全部捐献出去。总之,我想那一天和亲密的人一起大吃大喝、欢谈一番。等到确实去了那个世界时,就不通知任何人,只是亲戚们静悄悄地举办个葬礼。
在某个阶段,摒弃希望,给伙伴们留个好印象,让他们说:“这小子挺有意思。”倏然而去,这难道不是最好的人生吗?
为自由生活去“健身、存钱、交友”
在欧美管退休叫“幸福的退休”。认为这是漫长人生中后半生可喜之事。所以,当退休来临,人们以期盼已久的心情、明朗的表情迎接这一天,周围的人们都羡慕地送他离去。一点没有日本那样的悲凄、阴暗的气氛。
退休形象的差异,大概是因为欧美与日本退休形象的差异,大概是因为欧美比日本的社会福利完善、退休后的生活没有什么不安定造成的。但也不光如此,欧美人从年轻时起,就有着退休后想干的种种事情。下功夫种植喜欢的花啦,培育新品种的玫瑰啦,打遍美国所有的高尔夫球场啦,学习日语,接触一下东方的神秘啦,等等。每个人都站在各自的立场,以个人的想法准备着退休之后的生活。
所以,当退休来临,只有欢乐,没有悲哀。与此相反,日本却是以寂寞的心情来迎接退休的,这是因为几乎没有那样的准备。为此,很多人由于长年的习惯,早上很早就起床,却发现无处可去,寂寞之情油然而生。一些人为了排遣这种寂寞,就到已无事可做的原来单位的周围走来走去。
没有任何准备当然就会这样。我的哥哥就充分知道这一天会到来的。在快退休时,他退掉了每天早上来接他的公司的车,先步行再坐电车上班。因此,退休到来时,他也没有寂寥之感,一点也不在乎。
退休后的生活是否幸福是根据自己的心理准备来定的。如果您现在还没退休,就要在能干时拼命干活、攒钱,学习欧美人制定退休后的生活计划。
巧妙把握时间
在紧张的现职商人时期,其使用时间的方法与其说是获得“人生的价值”,不如说是获得每天的生活食粮,即是在“零售时间”。然而退休后,即使再就业,但还是在“零售时间”工作,对精神和肉体都没有好处。相反,漫不经心地度过,就像松了的水龙头滴答的水一样,这也是一种浪费。对还有的二三十年人生,或满足于现状,或丧失理想,说“我自己再不指望什么”,这种人会老得很快,而原因恐怕在自己。
我在这里想说的是,对于“所持时间”有限的人生,明白“处理时间的方法”,是使第二人生快乐的关键。埋头于爱好或和意气相投的伙伴喝酒时,就会忘了时间的流逝。常常会说“不知不觉到了这个钟点啦”。和客观流逝的时间相比,怎樣创造出密度大的时间就在于“处理时间的方法”。
关于这一点,法国的哲学家柏格森说,时间之流可以用密度的大小来表示。实际上,表针所指的时间密度也因人或大或小。当然,这种密度大的时间如果能在任何时候、任何地点都感受得到的话,人生就会越发充实。就是说“欢乐之事=快乐=充实的时间”,“巧妙地处理时间的方法=充实的人生”。这不是支离破碎的,而是浑然一体的。
如果测量中老年/成熟一代的人是否是“能人”,其尺度就是他“处理时间的方法”。
在以中老年/成熟年龄层为对象的意识调查中,对“处理时间”有信心的人均认为“对自己的人生有着明确的看法或概念”。
在“处理时间的方法”上没有信心的人,对如何度过所持有的时间总是左右摇摆,犹豫不决,所以首先要选择具体的、特别是自己所喜爱的事物。只有那些想在生活中遇到什么就做什么的人才会度过无意义的时间。
另一方面,对“处理时间的方法”有信心的人,比如说“70岁之前攀登‘日本一百座名山’”,“一年写出个人史”,只要有着一个明确的意识,按着这个想法考虑时间并行动,就可以在每天的生活中勤奋努力。
总之,人投入某种事物,有了信心或想法,就会涉及到他的整个生活,就能度过洋溢着精彩和有张有弛的人生。对于中老年/成熟年龄层的人来说,这种“处理时间的方法”一定会给生活带来巨大的影响。
(摘编自《六十岁正当年》)
链接
浅谈轴测图的绘制及绘制技巧 第12篇
1轴测图的基本作图方法
2.1坐标法
作图时, 先定出直角坐标轴和坐标原点, 画出轴测轴, 再按立体表面上各顶点或线段端点的坐标画出其轴测投影, 然后连接有关点完成轴测图。
2.2拉伸法
可以将三个视图中的某一个视图图形转移到轴测图中相应的轴测轴围成的区域, 然后沿着第三个轴测轴进行拉伸, 深度根据视图中相应坐标轴上量取。拉伸法目前在计算机绘图软件中是常用的方法之一, 熟练掌握拉伸法绘制轴测图, 可以对以后学习UG、Auto CAD的三维实体绘制奠定一定的基础。
2.3组合法 (适于叠加类组合体)
在坐标法基础上进行组合, 但组合过程中要注意以下几点:
(1) 上下结构的机件先画下部、后画上部, 左中右结构的机件先画中间、后画左右两部分, 先画整体大轮廓、后画局部细节。
(2) 注意基本体在组合过程中组合形式及相互位置关系, 及时增减图线, 以免图线乱、杂、多, 影响视觉, 干扰画图。
2.4切割法 (适于切割类组合体)
切割类组合体的轴侧图绘制是难点, 一般情况下, 先画未切割前的整体, 然后画被切割部分。此时一定要注意正确定位, 即确定截平面相对于机件上下、前后、左右的相对位置, 然后根据截平面与各轴测轴、轴测面的相对关系, 将各截平面以及每条截交线正确地画出来。
2抓住两个基本原则、注意一个不能量取
2.1平行性原则
视图中与坐标轴相互平行的线, 在轴测图中仍旧保持与相应的轴测轴平行。
2.2简单比不变原则
在视图中与坐标轴平行方向的线段长度在轴测图中可以沿着相应轴测轴上量取, 尺寸为轴测轴系数乘以视图中线段长度, 其中正等轴测图的三个方向轴测轴系数均为1, 斜二等轴测图中, X、Z方向轴测轴系数为1, Y方向为0.5。
2.3注意
与坐标轴不平行的线段, 不能直接度量与绘制, 只能根据端点坐标, 作出两端点后连线绘制。总之, 沿轴测轴的方向长度才能度量, 不平行于轴测轴的线段的长度不能直接量取。
3正确选择合适的轴测图表达方法
轴测图分为正等轴测图和斜二等轴测图。
正等轴测图中各轴测轴之间的轴间角均为120度, Z方向为竖直方向, 轴向伸缩系数在三个坐标方向上均为0.82, 为了绘图的方便, 人为规定:p=q=r=1。
斜二等轴测图中各轴测轴之间的轴间角X、Z之间为90度, Y与X或Z之间为135度或45度, Z方向也为竖直方向, 轴向伸缩系数:p=r=1, q=0.5。由于X、Z之间为90度, 所以主视图移到轴测图中是完全没变形的, 但一定注意Y方向尺寸一定要乘以0.5。
一般情况下, 两种方法不分伯仲, 都能很好地表达机件的立体特征, 但是当机件包含圆柱体而且圆端面处于正平面位置时, 使用斜二轴测图表达, 则尤为方便。如图一, 此机件有11个圆或圆弧, 如果采用正等轴测图, 则需画11个椭圆, 椭圆绘制起来非常麻烦, 但是采用斜等轴测图, 则只需画11个圆或圆弧, 那就简单省事多了。
4合理绘制剖切轴测图
为了表达复杂机件的内部形状, 往往还需要将轴测图进行切割, 这时需要我们合理选择剖切位置, 既要容易绘制, 还要让观察者便于看清外部、内部的结构形状。如下图所示, 我们可以切割掉四分之一, 为了便于观察, 可以切掉左前部, 既可以表达外部, 又能将内部展示出来, 是个很好的表达方案。
轴测图是机械制图学习中的重要单元, 从二维平面扩展到三维立体, 是我们培养空间想象能力、树立空间概念的一个重要关口, 如果能切实按照以上要求并且多加练习, 突破这一难关, 对后序的画图、读图将会创造非常有利的条件。
摘要:轴测图在机械制图中的占有举足轻重的地位, 可以培养空间思维能力, 本文提出了绘制轴测图时应该牢牢抓住的基本原则、注意事项, 绘制轴测图的基本方法, 如何正确选择合适的轴测图表达机件及绘制剖切轴测图时应注意问题, 对正确绘制轴测图进行了归纳提炼。
绘制系统范文
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。


