公务员期刊网 精选范文 插件技术论文范文

插件技术论文精选(九篇)

前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的插件技术论文主题范文,仅供参考,欢迎阅读并收藏。

插件技术论文

第1篇:插件技术论文范文

1、防水防潮处理

精密电子仪器对工作环境的要求都很高,交换机的工作环境要求机房环境必须干燥、不潮湿。要通风条件良好,温度适宜。最好能配备相应的恒温恒湿和通风设备,尽量扩大交换机工作空间,以利于交换机工作时散发热量。同时要严禁安装在阳光直射的环境下。

2、防尘防雷处理

要有专人进行维护,经常擦拭交换机上的灰尘,以防止杂物进入交换机机体内部引起短路而引发系统故障。要保证交换机防雷设施完好,接地线牢固。同时交换机工作环境内不能有腐蚀气体或强电磁干扰。工作环境内要避免经常振动,避免接近高频机器,避免接近电子焊接器或收音机以及手机天线类,这样对于交换机使用寿命来说有很大的帮助。

3、注意细节

交换机一般来说,其设计都是长期持续工作的,无异常情况下没必要进行定期断电。交换机经常断电反而会实则其反,因为开机瞬间的冲击电流会大大高于平时工作稳定电流,开机时大电流的冲击下。反而提高了电子原件损坏的机率,这是所有电器都有的共性,所以没必要经常断电。同时应该注意,尽可能不要在机房做维护外的其他事件,严禁在机房里吃东西或抽烟等。

二、对交换机进行随时检查和定期维护是保证交换机长期稳定工作的前提

随时悉心观察交换机的工作状态是作为维护人员必须具备的职业素质。只有细心观察,才能及时发现问题,及时采取处置措施。

1、经常性观察交换机运行状态和运行环境

首先从查看后台服务器及维护终端界面开始,看是否有当前报警或历史报警,细心观察界面切换能否做到准确及时。同时要认真检查机架温度,看是否存在明显过高等现象。机房内有没有异味和线路烧焦等。每次检查要做好相应的设备工作状态记录,以便于在维修上提供参考。

2、经常性观察和检查前后台通讯设备运行工作状况

首先要检查前台MP主备状态,查看界面是否存在通讯中断、通讯断断续续等现象。MP文件显示返回结果应该准确和及时,如果输入命令超时或者返回的结果缓慢,则需要进一步进行诊断。这就要在后台报警界面的机架状态图中点击备用MP,在弹出的状态图中连续多次点击状态显示按钮,观察显示工作状态确定是否存在异常。其次是查看后台服务器和各终端工作状态,简单修改服务器和操作维护终端,检查命令执行情况是否存在异常。同时要经常对报警状况和其他部位工作状况进行测试检查,这样才能有效保证交换机工作的稳定。

三、交换机常见故障及排除方法

交换机发生故障,我们要认真分析原因,不能盲目地在情况不明的情况下下猛药,要找到故障原因,明确维修步骤后再采取修理措施。通常运用的检查确定故障的方法有排除法,即尽可能罗列出故障原因并逐一排除;对比法,即对比同类正常运行的设备,找出带病设备的异常之处;替换法,用相同品牌型号设备替换下带病设备,找出设备的故障点。三种方法各有所长,最常用的是替换法,有时需要三种方法并用,会取得很好的诊断效果,这要我们维修人员因地制宜,灵活运用。交换机故障主要分两大类,一类是硬件故障,一类是软件故障。其中硬件故障大致有以下几种:包括电源线缆、电路板、端口和背板故障。软件上大致包括系统错误、配置不当或其他外部因素诸如病毒入侵这几类故障。

1、电源故障诊断与排除

在排除插头电源线连接问题后,如果开启交换机出现风扇和指示灯不工作,基本可以断定为电源故障,产生此故障的原因大致为线路老化、电压不稳等,这样就只能用更换或维修电源来排除故障。

2、电路板故障诊断与排除

由于电路板元器件受损导致局域网内部分设备不能访问服务器,或出现连接断续情况,在排除网卡布线等故障后,基本可以确定为电路板故障,出现此情况,多数要返厂维修或厂家派专业人员进行排除。

3、端口故障诊断与排除

由于端口松动或脏蚀,导致局部端口不能联网,但整个网络工作正常,这样基本上可以断定为端口故障,清除端口赃物或更换端口即可,同时要注意保持好交换机工作环境卫生。

4、背板故障诊断与排除

因为潮湿、高温、雷击造成电路板断路,症状表现为外部供电环境正常,而机体内各模块都不能正常工作了,这种现象多数为背板故障,要在平时维护中保持交换机工作环境的温湿度,加强防雷等措施。

5、系统错误故障诊断与排除

由于设计等原因,出现的交换机丢包、错包或满载等现象,导致交换机系统全方位常见故障,影响整个局域网运行,这就是明显的系统错误故障。这通常要维护人员注意关注相关生产厂家的升级信息,随时对软件进行升级。

6、配置不当故障诊断与排除

配置不当通常是由于未详尽通读使用说明而导致的,明显表现在连接交换机端口,无法接通局域网,但电脑桌面图标仍显示网络连通。只要按说明进行配置即可。

第2篇:插件技术论文范文

江西省根据标准文本先预拨30%启动资金,项目实施中根据执行进度凭实际支出有效单据拨付30%资金,项目验收合格后拨付30%资金;预留的10%作为质量保证金,待区市级财政验收后再行拨付。江苏省根据签订后的项目合同书先拨付60%资金,中期考评合格后拨付30%资金,验收合格后再拨付尾款。需要说明的是,该省规定企业对项目的投入必须高于财政投入,企业承诺的资金到位后,财政才拨付尾款。四是重点式投入。为了解决支持项目多而散、资金规模小的问题,辽宁省通过调研和专家论证,结合本地农业产业发展实际,确立了支持的主推技术,改变了过去由市县财政申报,省级部门组织专家评审的做法,使有限的财政资金发挥了集聚效应。2010年辽宁省通过重点式投入方式,确立了粮食生产、畜禽养殖和特色产业三大类14项主推技术,申报的项目数比改革前减少了23个。管理机制不断完善。一是建立项目资金管理办法。多数省份根据中央财政的要求,结合本地实际,制定了省级农技推广资金管理办法,对资金使用和项目管理等提出了明确要求,形成了“制度管钱、制度管事、制度管人”的“三管”局面,开创了农技推广工作有法可依、有章可循的良好环境。湖北省要求项目县(市)制定相应的管理办法,进一步明确了项目县(市)的工作规程。黑龙江省创建了“乡财乡用县监管”的管理平台,实行涉农专项由乡镇财政统一拨付、统一管理的运行机制,制定了资金管理办法,强化了乡镇财政的监管力度。此外,还建立了“部门提、财政审、政府批”齐抓共管的管理模式,充分利用业务部门专业优势,开展农技推广工作。山东省实行了财政资金直拨到县的管理方式,通过特设专户将农技推广资金直接拨付到县级财政,减少了资金拨付环节,避免了资金挤占、挪用和滞留的现象发生。二是科学规划项目实施方案。多数省份确立了省级立项的管理机制,根据本省农业优势产业发展规划和区域布局,研究制定项目实施方案,明确当年农技推广资金项目支持的方向、补助对象、实施范围等内容,建立起科学设计、统筹规划的项目事前管理模式。江西、湖北等省份将制约当地农业优势产业发展的薄弱环节作为支持的重点,实现了项目上下游完整衔接、无痕接缝的目标。江西省支持当地脐橙保鲜技术推广应用,有效促进了脐橙产业链的持续延伸。辽宁省还在实施方案中进一步明确了支持的主推技术,这种做法既明确了支持的重点,又降低了项目评审的工作成本,使财政资金花得更明白、用得更放心。三是严格监管项目实施过程。各地高度重视开展农技推广项目的责任制,采取多种措施,调动项目承担单位等多方面积极性,对项目实施过程进行严格监管,确保财政资金使用的安全性和有效性。湖北省建立了严格的项目管理责任制,按照“谁审批、谁建设、谁负责”的原则,对项目建设和资金管理出现问题的单位和个人从严处罚,并执行处罚登记制度,在安排其他涉农资金时,予以控制,切实做到了“管钱”“用钱”的责任风险并存。辽宁省实行分级管理责任制,省财政厅与省直农技推广部门,省直农技推广部门与有关市、县农技推广部门,有关市、县农技推广部门与所涉及的农民,分别签订了项目实施协议,形成了以农技推广部门为纽带,财政资金与农民有效衔接的联动局面,确保农技推广工作的顺利开展。黑龙江省通过项目监理的管理方式,对农技推广项目实行全程监理,由工程监理担负法定的质量监督责任人,确保工程质量和发挥财政资金的使用效益。同时,还建立了招投标、公示等制度,提高了财政资金项目管理的科学化、精细化,确保了项目实施的公开透明。四是有序开展项目绩效考评。开展农技推广工作的终极目标是农民通过使用先进适用安全的农业技术,增收致富。因此,各地高度重视农技推广项目取得的成效,强化以结果为导向的管理模式,建立绩效考评机制,组织各级财政部门和农技推广部门对农技推广项目进行考核验收,并作为下年资金分配时的参考依据,整体带动了参与农技推广项目工作主体的积极性。江苏省、吉林省还引入了第三方监管单位,通过财政监察部门、中介机构对农技推广项目进行考核验收,体现了绩效考评的公正性和公平性,扎实推进了各地开展农技推广工作。此外,各地还认真思考,在农技推广的方式方法、技术路线和经营模式等方面大胆尝试,一些地区从中摸索出了不少好的做法。辽宁省建立了财政、农技推广等部门与新闻媒体的联席会议制度,通过电视、报刊等新闻媒体,将主推技术与媒体栏目有效对接,充分发挥媒体的社会影响力,推广农业技术。湖北省为加速农业科技成果转化,总结出从“区域试验”到“基地示范”再到“大面积推广应用”的“三步走”模式,制定了“县(市)首席专家—乡镇技术指导员—科技示范户—辐射带动户”的农技传播路线,将先进的农业技术推广普及到千家万户。江西省以农民受益作为农技推广应用的落脚点,通过扶持经济实力好、带动能力强的省级龙头企业,按照“公司+农户”的经营模式,采取示范的方式,带动农户增收致富。

主要成效

(一)农技推广面不断扩大。科技是第一生产力。“十一五”时期,各地不断探索研究先进的农业新技术,扩大农业新技术的覆盖面,提高了耕地单位面积产出效益,节约了人、财、物的投入,为促进农业增产、农民增收提供了有力的技术支撑。辽宁省“十一五”时期推广农业新技术600项,推广面积3000万亩,覆盖作物面积60%以上,农业科技贡献率达56%,对农业总产值的贡献率达40%。2010年,通过推广土壤深松整地技术,实施面积15万亩,有效改善了土壤结构,提高了土壤肥力,玉米亩均增产18%~20%,粮食增产930万公斤,取得经济效益1180余万元。通过推广马铃薯单膜、双膜、三膜覆盖高效复种粮食、油料和蔬菜作物等6项综合技术,提高马铃薯单产水平15%以上,亩均增收800~1500元。湖北省“十一五”时期加快推进农业新技术的推广应用,农业科技贡献率达54%,比2005年提高了4个百分点,加快了农业现代化建设进程。通过推广地膜覆盖技术,每年推广面积达5500万亩以上,占农作物种植面积的46.6%,平均亩产增加20%以上;通过推广轻型简化栽培技术,有效适应了农村劳动力机构变化的新形式,推广面积7000万亩,亩均节省用工15个,降低生产成本50元,亩均增收达180元。2010年,累计推广各类种养模式、间套模式等面积3800万亩,其中推广稻虾连作技术336万亩,产虾29万吨,产值46.6亿元;推广稻鸭共育300万亩,亩均增收152元,累计增收4.5亿元。河南省“十一五”时期改革耕作制度,推广间作套种技术,提高土地周年生产力,粮食作物复种指数达到190%,为提升粮食综合生产能力提供了有力的技术支撑。(二)良种覆盖率不断提高。种源是农业生产的基础。“十一五”时期,各地高度重视农业新品种推广应用工作,不断扩大优良品种的覆盖率,加快新品种的更新换代,推进了农业规模化生产发展、优势产业向适宜地区定向聚集,促进了农业生产发展。河南省“十一五”时期主要农作物良种覆盖率达到95%。其中,优质粮食品种种植面积占粮食种植面积的70%以上(小麦、玉米、水稻的优质化率分别为71%、82%和94%)。此外,通过新品种的引进、繁育和推广普及,推动了畜牧业规模化生产发展,生猪、蛋鸡和肉鸡的规模养殖比重分别达69%、75%和97%。辽宁省“十一五”时期,通过推广玉米、水稻、大豆等农作物新品种1500个,推广面积4570万亩,更新面积4116万亩,良种覆盖率达到96.6%,实现了新增粮食、蔬菜、水果生产能力分别为150万吨、350万吨、60万吨,新增经济效益达365.6亿元,农民人均增收800元。黑龙江省“十一五”时期以推广应用农业新品种作为发展农业的主要抓手,加速农业科技成果转化应用,选育出农作物新品种、新组合400个,主要农作物良种覆盖率由2005年的93%提高到98%以上,品种更新至少实现两次,有效提高了粮食产量、改善了粮食的品质,为提高农业综合生产能力奠定了物质基础。(三)农业综合生产能力显著提升。农业综合生产能力是衡量国家农业发展水平的重要标准。各地“十一五”时期通过不断提高农业新品种的覆盖率和扩大农业新技术的推广面积,调整优化了农业内部结构,提升农业综合生产能力,确保了农产品有效供给、国家粮食安全和农民持续增收。2010年,河南省粮食产量达到1087亿斤,连续5年稳定在1000亿斤以上,连续7年创历史新高,连续11年居全国首位;肉类、禽蛋、奶产量均居全国前列;农机化水平显著提高,农机总动力达到10195.88万千瓦,比2005年增长28.5%;农民人均纯收入5524元,比2005年增长69.3%。黑龙江省“十一五”时期,高度重视农业技术推广应用和改善农业生产环境,实现了粮食产量首次突破1000亿斤大关。2010年,全省农机总动力达到3784万千瓦,比2005年增长69%。湖北省“十一五”时期实现了粮食连续5年增产丰收,2010年,全省粮食产量达到463.16亿斤,比2005年增长6.4%;实现农业增加值1969亿元,比2005年增长82%;农林牧渔业总产值3257亿元,比2005年增长83.42%;农民人均纯收入5832.27元,比2005年增长88.2%;全省农业机械化综合应用水平达到54%,耕地机整率超过75%。(四)农村生态环境逐步改善。农村生态环境好坏直接影响农民的生产和生活。“十一五”时期,各地通过推广应用先进适用的农业技术,不断改善农村生态环境。湖北省“十一五”时期通过推广测土配方施肥技术,提高了肥料利用率,减少了面源污染,累计推广面积2.7亿亩(次),受益农户800万户,实现小麦亩产增加24.6公斤、增长10.5%,水稻亩产增加45.3公斤、增长10%以上,每亩节约用肥3.6公斤,为农民节本增收34亿元。通过推进沼气建设,促进生态农业发展,从1979年开始进行沼气建设,截止到2010年累计建设沼气300余万户,覆盖率30%,每年为农民节约燃料支出8亿多元,利用沼渣、沼液减少农本3.2亿元,促进农民增收20元以上。通过利用沼气和改厨房、厕所、畜禽圈舍等,净化了农村环境,使200多万个农村妇女摆脱了烟熏火燎的炊事环境。每年有效减排二氧化碳等气体300万吨,减排二氧化硫3万吨。辽宁省“十一五”时期通过推广设施蔬菜秸秆生物反应堆技术,使设施内二氧化碳浓度提高2-4倍,气温提高1-2度,地温提高2-3度,产品提前上市7-10天,收获期延期15-20天,减少农药化肥使用量30%以上,亩产增加1311公斤,亩均节支300元,产值提高23%。通过推广发酵床养猪技术,2009-2010年养猪51.8万头,每年节省治理污水费777万元,降低了养殖业对环境的污染,减少了疫病的发生,取得了显著成效。(五)农业标准化生产水平不断提高。“十一五”时期多数省份充分发挥农业技术的示范带动效应,采取多种形式,提升农业生产标准化水平。吉林省靖宇县2009年组织实施了平贝母药林粮间套作栽培技术项目,通过1000亩的基地示范建设,带动了周边标准化种植面积6000亩,带动农户600户,户均增收2.5万元。吉林省汪清县2010年组织实施了1800吨冷冻保鲜蔬菜加工项目,引进先进技术设备,通过“公司+农户”的方式,为市场提供优质速冻保鲜蔬菜,带动周边300多农户,户均年增收4600元。辽宁省通过对每个项目制定技术要点和技术规程,提升了农业标准化生产水平,朝阳市“十一五”时期,无公害农产品、绿色食品和有机食品生产面积达到260万亩;申报全国绿色食品原料标准化生产基地2个,基地面积达到60万亩,有效地增强农产品品质和附加值。(六)农民科技素质显著增强。“十一五”时期,各地积极采取集中培训、现场指导、技术咨询等模式,开展农民培训工作,有效增强了农民学技术、用技术、懂技术的技能,提高了先进适用农业技术的普及率。黑龙江省“十一五”期间,通过入户指导,在备春耕生产、播种、田间管理、收获、销售五个重要农业生产环节中,组织技术人员对核心农户进行巡回指导,解决生产中遇到的技术问题;通过发放培训卡、明白纸、技术手册和技术光盘的培训模式,使农民能够随时学到相关技术,经统计,“十一五”时期开展农民培训三百余次,直接培训农民10万人,辐射群众达到1000余万人。吉林省2010开展了综合性农业科技示范园区,示范辐射作用效果显著。经统计,示范区建设各类农业科技示范场100余个,展示品种400多个,接待国家、省市农业科技人员、技术人员、专业管理人员及农民共计4100多人,已经成为先进技术的聚集地和辐射源,使新品种、新技术与农民实现了“零距离”接触,真正发挥了“作给农民看、引导农民干、给农民做示范”的示范引导作用。江苏省“十一五”时期累计开展农业实用技术培训1123.4万人、农民创业培训53.8万人,培养现代职业农民7万人,农民科技素质和就业技能不断提高,为现代农业发展和新农村建设提供了人才支持和智力支撑。(七)基层农技推广体系逐步建全。基层农技推广体系是政府为农民群众技术咨询与推广服务的公益性组织和平台,是统筹农科教协作、科教兴农战略的重要载体,是提高基层农技人员素质、推动农业技术进步、发展现代农业的重要力量和有力支撑。江苏省“十一五”时期大部分县乡镇农技推广体系改革已经完成,农业科技入户实现了村村全覆盖。同时,农技推广体系服务效能明显提升,队伍结构不断优化。目前,全省农业行业拥有各类专业人才近14万人,其中涉农科研人员1.2万人,占全国农业科研人员总数的10%以上。全省基层农技推广人员3.4万余人,具有大专及以上学历技术人员占53%。黑龙江省“十一五”时期,37个县基本明确了县乡农技推广机构的公益性职能,理顺了以县级农业行政主管部门直接管理为主的管理体制;实行了乡镇农技推广机构独立设置和区域设置形式,明确了人员编制和保障措施、实行了全员竞聘上岗等。辽宁省“十一五”时期基层农技推广体系的改革与建设逐步完成。目前,全省74个涉农县中,已有54个完成了改革与建设。此外,专业队伍素质也得到有效提升。全省16201名农技推广人员中,具有专业技术职称的1.1万人,占农技推广人员总数的70%。

主要问题

有些资金的性质和用途基本相近,但却分散在几个部门管理,缺乏总体规划和通盘考虑,导致一些领域资金重复投入,另一些领域却无人问津,技术推广速度和效率不高。同时,由于项目归口管理部门较多,具体要求和做法各不相同,农技推广资金的政策标准不衔接,管理流程不统一,制度约束力不够,增加资金监管的难度。分散经营阻碍农技推广。规模化生产、产业化经营是发展现代农业的必然要求,农业技术推广若能以此为基础,更能发挥其优势。目前,我国农村仍主要以家庭承包经营为基本经营单位,点多面广、个体分散、规模较小,导致农民组织化程度低,土地难以集约化经营,不能形成集中连片的规模化推广应用优势,难以适应新时期农业发展的客观需要。同时,由于小规模经营,难以带来科技比较效益,既影响了农民采用先进技术进行农业生产的积极性,又给农业科技成果的推广应用带来困难和阻力。农民素质有待继续提高。当前,进一步提高农民素质,还面临以下两大问题。一是部分农民仍然固守传统的农业理念,对新的农业科学技术缺乏认识,接受起来需要一个过程。二是由于大量有一定文化、有一定素质的年轻劳动力向城市转移,导致留在农村的劳动力大都是年龄较大,文化素质较低的群体,这部分人组织化程度不高,实施农业技术推广的自身能力和经验严重不足,影响着农业劳动生产率的提高和农业技术推广的实际效果。基层农技推广体系还需完善。现阶段,基层农技推广体系建设面临的以下两个主要问题。一是基层农技推广体系仍不健全。乡镇农技推广体系存在着体制不顺、机制不活、职责不清的问题,乡镇农技人员的大量时间和精力都用于行政工作,没有时间和精力从事真正的农技推广工作,导致基层农技推广体系仍然存在着“线断、网破、人散”的现象,制约着农业的发展。二是基层农技人员技术水平有待提高。目前,我国基层农技人员业务知识老化,技术推广能力不强,不能满足现代农业发展需求。同时,农业科技人才结构不尽合理,高层次农业科技创新人才不足,复合型、跨领域领军人才缺乏,农业科技创新团队较少。农业科技成果转化率依然不高。一是科研、教育单位和推广部门衔接不够紧密,科研成果与实际应用脱节,不能解决农业生产中的实际问题,农业科技成果转化“最后一公里”问题远未彻底解决。二是农业科技运行机制还不完善,农业科技创新资源整合力度不大,不能共享,重大项目研究的系统性、连续性不强,科技创新资源有待整合优化。三是农业科技创新评价机制亟待完善,科技创新的前瞻性、超前性不够,科研人员急于求成现象不同程度存在。

第3篇:插件技术论文范文

关键词:插件,软件复用,游戏引擎,CrystalSpace

 

1.Crystal Space及其核心SCF

1.1 Crystal Space

在介绍Crystal Space之前,首先介绍一下游戏引擎和3D游戏引擎,游戏引擎是用于控制所有游戏功能的主程序,从计算碰撞、物理系统和物体的相对位置,到接受玩家的输入,以及按照正确的音量输出声音等等,它是一个处理事务的系统,同时它也是一个控制模块,向所有的子系统发出命令[1]。而3D游戏引擎,除了包含游戏引擎的所有功能外,它还负责处理3D世界的数据结构(包括所有的光源、行动)以及从玩家或相机所在的视点渲染3D世界[1]。

Crystal Space(以下简称CS)是一个开源的3D游戏引擎。除了具备3D游戏引擎应有的功能外,其自身还包含许多独有的特点。首先,CS的框架是一个高度模块化的框架,该框架能更好的为用户提供服务,并且使用户使用CS更方便。其次,CS是一个由构件和库组成的包,虽然它很多的功能都偏向于3D游戏的处理,但是它同样也适用于其他方面的应用,这主要是得益于CS中的大部分插件和库的相互独立性,这使得用户在CS中,可以只使用自己需要的插件以及自定义插件,而不会与其他插件相关联或受到其他插件的影响。科技论文,游戏引擎。最后,CS广泛的支持各种不同类型的硬件和软件平台,具有很好的跨平台性[2]。科技论文,游戏引擎。

1.2 SCF

由于CS高度模块化的框架,而作为其框架核心的SCF(Share Class Facility,共享类工具)为用户设计与开发基于CS的自定义插件提供了便利。科技论文,游戏引擎。SCF与COM(Component Object Model,组件对象模型)[4]类似,但只是一个轻量级的COM。SCF与COM相比,其使用更加简单、方便,并且SCF屏蔽了COM中很多繁琐的部分,却同时具备COM的大部分优势[3]。

在Crystal Space中SCF用来管理引用计数、系统插件、自定义插件和抽象接口。在插件的开发中,SCF技术实现了类接口与类实现的分离,这一方面,使插件使用者只用关心类接口的功能及接口的使用方法,而不用关心它的具体实现;另一方面,它对类实现进行了很好的封装,不会将类实现的任何细节暴露给用户,并且插件开发者对类实现的修改不会对插件的使用造成影响[2]。另外,SCF还提供了插件对象注册器和插件管理器使CS能自动的完成对插件的管理,用户只需要书写少量的代码就能实现对插件的加载、使用及卸载。

2.设计和使用自定义插件

自定义插件的设计、实现及使用流程如图1所示,用户自定义插件设计时,必须在SCF中的对象注册器中注册,并由插件管理器统一管理,而应用程序对插件的调用及加载也必须通过对象注册器和插件管理器来完成。

图1 自定义插件的设计、实现及使用流程

2.1 设计自定义插件

用户自定义插件的实现包括定义插件的API,自定义插件的具体实现,自定义插件的编译及自定义插件的注册四个部分。

1)定义用户自定义插件的API

在Crystal Space中,使用SCF定义插件的API,其优势在于,将接口的定义和实现进行明确的分离。操作步骤包括:

Ⅰ. 定义插件API所在文件“Myapi.h”

Ⅱ. 定义API的版本号;

Ⅲ. 定义抽象类“iMyApi”,类名以“i”开头,用于标识该类是一个SCF接口。

Ⅳ. 定义两个纯虚函数DoSomthing( )和GetSomething()用于设置/获得一个3D坐标。下面是API定义的具体代码:

struct iMyApi : publicvirtual iBase

{ SCF_INTERFACE(iMyApi, 1, 0, 0);

virtual void DoSomething (intparam, const csVector3&) = 0;

virtual int GetSomething ()const = 0; };

2)创建自定义插件的实现(头文件)

下面是用户自定义插件具体实现的头文件“myplug.h”的定义。其操作步骤包括:

Ⅰ. 实现类必须同时继承iMyApi和iComponent接口,以保证能使用插件管理器来管理插件。

Ⅱ. 定义初始化函数,用于完成插件的初始化工作。具体代码如下:

class MyPlugin : publicscfImplementation2 <MyPlugin, iMyApi,iComponent>

{ …………

virtual boolInitialize (iObjectRegistry*);

virtual voidDoSomething (int param, const csVector3&);

virtual intGetSomething () const; };

3)创建自定义插件的实现(源文件)

下面为用户自定义插件具体实现的源文件“myplugin.cpp”,操作步骤包括:

Ⅰ. 使用CS_IMPLEMENT_PLUGIN通知CS本模块是一个插件

Ⅱ. 申明在CS中,允许使用SCF初始化MyPlugin类的对象,部分代码如下:

…………

CS_IMPLEMENT_PLUGIN

SCF_IMPLEMENT_FACTORY(MyPlugin)

…………

bool MyPlugin::Initialize(iObjectRegistry* r)

{ object_reg= r; returntrue; }

…………

4)在SCF中注册自定义插件

SCF能够自动且动态的查找已定义的插件,并通过查询每个插件的meta-Information来判定插件实现的细节。科技论文,游戏引擎。Meta-information是结构化的XML文档,其中包含插件在SCF中的注册信息,及本插件与其他插件的关联等。科技论文,游戏引擎。插件的meta-Information文档在插件被编译时,将被嵌入插件模块中,方便对插件的查询。科技论文,游戏引擎。下面是自定义插件的meta-Information的设置,内容包括:

Ⅰ. 设置插件的名称

Ⅱ. 指明实现该自定义插件的类的名称

Ⅲ. 对插件的一般描述及设置与该插件相关联的其他插件的名称。具体代码如下:

<plugin> <scf><classes> <class>

<name>crystalspace.mygame.myplugin</name>

<implementation>MyPlugin</implementation>

<description>My Special Game Plugin</description>

<requires> <class>crystalspace.graphics3d.</class></requires>

</class></classes></scf></plugin>

5)编译自定义插件

插件模块的编译取决开发时所使用的开发工具,这里使用Microsoft visual studio 2005进行编译。

2.2 自定义插件在应用程序中的使用

完成自定义插件的设计与实现后,就可以使用了,自定义插件的使用包括加载及调用。

1)在应用程序中加载自定义插件

在应用程序中加载自定义插件的操作步骤包括:

Ⅰ. 导入自定义插件API的头文件,插件使用者通过调用插件API实现对插件的使用。

Ⅱ. 调用对象注册器。对象注册器查询已注册的插件中是否包含应用程序指定的插件。

Ⅲ. 使用csQueryRegistry调用插件管理器,利用插件管理器实现自定义插件的加载(或从应用程序中卸载)。具体代码如下所示:

#include <myapi.h>

csRef<iPluginManager>plugin_mgr = csQueryRegistry <iPluginManager> (object_reg);

csRef<iMyApi> myapi =csLoadPlugin<iMyApi> (plugin_mgr,'crystalspace.mygame.myplugin');

if (myapi.IsValid()){ ... }

2)在应用程序中使用自定义插件

最后一个步骤就是使用用户自定义插件,在应用程序中,通过调用自定义插件的API来实现对插件提供的功能的使用,具体代码如下:

myapi->DoSomething (1,csVector3 (2, 3, 4));

printf ('%d ',myapi->GetSomething ());

3.小结

本文设计和实现了一个基于Crystal Space的自定义插件的实例,从中发现,基于Crystal Space技术设计和实现的自定义插件与使用其他方法实现的插件相比具有很多优势,首先,基于CS的插件具有很好的跨平台性;其次,插件的开发实现了类接口与类实现的分离,从而使插件的开发和插件的使用相分离;再次,用户自定义插件的功能不会受到任何限制,能最大限度发挥插件开发者的能动性;最后,SCF提供了插件对象注册器和插件管理器,使CS能自动完成对插件的管理,减轻了插件开发者和插件使用者的开发负担。因此,在实际开发过程中,开发者可以设计及使用符合自己需要的自定义插件,从而使基于CS的游戏开发或软件开发更加便利、快捷。

[参考文献]

[1][美]Andre Lamothe著. 李祥瑞,陈武译.3D编程大师技巧[M].人民邮电出版社,2005.

[2][美]Box.D 著. 潘爱民译.COM本质论[M]. 中国电力出版社,2001.

第4篇:插件技术论文范文

1.Word2003软件

Office2003是微软公司推出的办公应用套装软件,而Word2003是一种功能强大、具有多种用途的文字处理程序,同时也是Office2003中最主要的程序之一,它也被广大的电脑爱好者所熟悉,是一个大众化的应用软件,应用这个软件可以绘制表格,插入图片,特殊的字符以及制作一个简单的主页等等,它还具有的功能就是,在数学论文中插入一些复杂的数学公式和数学方程。

要想用Word编辑数学公式,在安装Word时要选"自定义安装"中Office工具里的公式编辑器Microsoft公式3.0,若选"典型安装",则需要在安装后从控制面板中选"添加/删除程序"再把公式编辑器添加上去。

图2浮动在文本中的公式窗口

安装完成之后就可以在Word文档中编辑复杂的数学公式,具体的操作就是用鼠标单击"插入"菜单,选择"对象"选项,在"新建"选项卡中选择的"对象类型"为"Microsoft公式3.0",单击"确定"按钮,就可以调出公式编辑器,公式窗口浮动在文本中,其中囊括了几乎所有数学符号,例如:关系符号、运算符号、修饰符号、逻辑符号、各种集合符号以及希腊字母等。光标闪动处为输入框,我们可以在里面输入各种复杂的公式。输入时,输入框随着输入公式长短而发生变化,整个数学表达式都被放置在公式编辑框中。公式就输完了。单击公式编辑器外的任意位置,就退出了公式编辑环境,返回到Word中。

MathType5.2是一个强大的数学公式编辑器,实现所见即所得的工作模式,它可以将编辑好的公式保存成多种图片格式或透明图片模式,可以很方便的添加或移除符号、表达式等模板(只需要简单地用鼠标拖进拖出即可),也可以很方便地修改模板,Mathtype5.2数学公式编辑器是当前读者用的最多一种编辑数学公式的软件。

要使用这个编辑器,先要安装Mathtype5.2,因为它支持OLE(对象的链接与嵌入),可以在任何支持OLE的文字处理系统中调用(从主菜单中选择"插入-对象"在新对象中选择"MathType5.0Equation"),也就是1中所介绍的情况,这个版本对Word文字处理系统支持的相当好,一般情况下是将它同Word结合起来一起使用,安装完成之后,Mathtype5.2公式编辑器就作为插件自动加载到Word软件的工具栏中,同时,该编辑器被安装到"桌面--开始-程序-Mathtype5.2"下,在用word软件编辑数学论文的时候有两种方法来启动这个编辑器,第一种方法是从"桌面--开始-程序-Mathtype5.2"直接启动,第二种方法点击word软件工具栏中的Mathtype5.2的插件来启动,这样就会弹出Mathtype5.2公式编辑器的编辑窗口供读者编辑数学论文中的所有复杂的数学公式,公式编辑完之后将其插入到论文中。

3.LATEX排版软件

TEX最初由美国斯坦福大学的DonaldKnuth开发,后来LeslieLamport在TEX的基础上开发出LATEX[1]版本,中文LA-TEX(CCT)[2]是LATEX的汉化版本,由于LATEX可以得到标准漂亮的数学公式,对于数学格式、专有符号处理等方面也有杰出表现,现已经成为数学论文排版的标准语言,同时,它是目前国内流行的中英文排版软件,因为它具有强大的科技排版功能,特别适合于科技文章、书籍的制作。在国外,LATEX软件早已广泛地用于科技文章、书籍、档案、学位论文以及各种复杂的符号公式、外文(英文之外的字母,例如法文、德文、意文、希腊文等等)、目录、参考文献、索引和脚注。

LATEX为读者设定了数学论文的版面格式,这使得我们不用具体考虑文章的版面设置,只需完成简单的输人工作就行,当然也可以利用所提供的命令定制合适的文章格式,以适应不同的排版需要。文章的版面设置,只需完成简单的输人工作就行。

在对数学公式的排版效果上LATEX要明显优于Word,利用Word的公式编辑器编排出的段落总是难以达到预期的文章格式,在文章字体格式、字体大小设置以及数学公式的修改上工作量很大,然而LATEX配备有丰富的字符集,采用统一的格式处理有关字体和公式的设置,而且非常方便后继的修改工作。

LATEX还具有灵活的自动编号功能,可以对文章中出现的数学公式、参考文献、图表等自动编号,以方便文中对这些编号的引用,这在引用较多的文章编排中非常实用.另外,LATEX可以自动生成文章目录及索引。

LATEX系统实际上是一种编程语言,首先要建立源文件,也就是说,LATEX软件是一种叙述标记系统,不是可视标记系统,不能直接看到输出的结果,而是要调用编译命令得到我们想要的排版结果,对于源程序的编辑可以采用任何不会向文件增加不可见控制字符的文本编辑器,例如EditPlus,U1traEdit,WinEdt等,利用这些软件自身的对外接口模块,我们只要对其作一系列设置,便可以得到一个集成的编译环境.目前国内最流行的两种LATEX排版软件是EMTEX和CTEX2.0。这两种软件都可以实现不同文件格式的相互转换,而源文件的扩展名英文文章是.tex,中文文章是.ctx。

下面以CTEX2.0为例,它是一种"中文TEX快捷系统",是不需插图的、初学LATEX排版的读者较容易掌握的一种系统,系统安装完成后,就可在电脑的桌面上出现"WinEdit"的快捷方式,双击该快捷方式,就可以打开一个编辑LATEX源文件的窗口。在工具栏上有各种各样的按钮,如果编辑的是"中文TEX"(即CTX文件),只要单击"CCTLATEX"按钮,就可以编译成"DVI文件";如果编译的文件是"英文TEX"(即TEX文件),只要单击"TEX"按钮,就可以编译成"DVI文件"。再单击"PS"按钮,就可以"DVI文件"转换成"PS文件",对于数学论文中的的数学符号和希腊字母,只要在工具栏中单击∑和按钮就可以找到你需要的字符和字母,但注意要按数学状态使用这些符号和字母。

4.方正书版

北大方正书刊排版系统是国内出版印刷业使用非常广泛的专业排版软件,书版在排版领域里使用最多的版本有:DOS平台下的书版6.0、书版7.0以及中文WIN95/98/XP下的书版9.0,方正当时开发的目标十分明确,就是面向中文电子出版系统,它以批处理为主的专业排版软件,实现排版功能需要一系列的命令来完成,不像交互式的排版软件比较易于掌握;同时,读解命令格式也有一定的难度。因此它的特点是具有很强的专业性和规范性,而它的局限性也因为与此,由于过于专业,使其范围仅限于出版社和期刊社,并不被广大的用户掌握。

第5篇:插件技术论文范文

论文关键词:评教系统,分析,插件控件设计,实现

 

1 引言

当前我国高职教育规模的日益扩大,高职院校的教学管理任务日趋繁重,多层次、信息网络化的教学质量评价及数据分析系统在各院校的教务管理工作中显得十分重要。我院的学生网上评教系统采用流行的ASP.NET2.0技术开发,该系统方便广大学生,只要可以上Internet,则可以对其任课教师进行评教;同时快速集中收集各方面的评教信息,辅助教务人员完成繁琐的资料统计工作,并对信息进行快速的分析和相关报表的输出,节省大量的人力和物力,为学校领导提供相关决策支持。

随着学院网上评教系统的长期运行,各种相应的不足已渐渐暴露出来,那就是不能随着业务的修订而进行自由扩展,例如:由于每年的评教结果的计算方法都会因各种不同的原因发生变化(学生参评人数的百分比控制、统计成绩时上下扣除的比例等)。为了提升系统的性能,网上评教系统通过编译在学院网络中心的Web服务器上,每次修改源代码都需要重新实现,其中包括数据库的附加与分离,稍不留意,就会形成新的错误。为此,决定对学院网上评教系统进行重构,利用插件式框架设计完成对新需求的扩展,而不是每次都去修订源代码。

2 分析设计

按照面向对象的设计原则,要想实现系统的功能扩展,各个类之间应该是高内聚低耦合的,同时由于总评成绩的计算方法是一个可变的因素,而界面是依赖于这个方法而显示其结果,要想实现动态更改其计算方法,必须将其泛化为一个抽象类或接口,让界面依赖其抽象的类,我们知道,抽象的东西才是稳定的,而实现是千变万化的,这就是所谓的“依赖反转”原则,通过这种方法可有效的解决上面提到的问题,系统框架的结构设计方案如下:

图1 框架设计图

由于要实现动态扩展系统的功能,即不改变系统的原始代码结构的基础上更改系统的功能,而原有的系统已经,其内部的代码现已为动态链接库的形式而存在。根据.NET的引用机制,可将计算方法实现类实现为DLL动态链接库形式,然而实现类是实现教师总评成绩计算接口的类,因此必须将接口类也实现为DLL动态链接库形式杂志网。

通过这样的分析后发现,整个系统有三部分组成,分别是网站界面部门,接口DLL和计算方法实现类DLL。这样框架布局使得评教系统在编译之后,如果想要进行教师总评成绩计算功能的扩充,不必要修改代码重新编译。只需按照预先定义好系统的总评成绩计算接口进行插件的编写独立的动态链接库文件,就可以实现系统的扩展功能。

3 实现过程

在.NET框架中实现,要实现上述框架,如果想让教师总评成绩计算方法用成绩计算方法2类实现,用newCtotal_Cal2()的方法实现肯定是不行的,因为实现类的名字出现在系统代码上,并已经编译到目标代码中。必须采用一种灵活的方式去实现,否则上述的框架只是起到了代码模块化的作用,根本不能担负起插件式自动扩展的功能。这时可采用.NET的配置文件和反射机制来完成。

.NET中提供了一种便捷的保存项目配置信息的办法,那就是利用配置文件基于XML的Web.config配置文件。在Web应用程序时web.config文件并不编译进dll文件中。如果将来客户端发生了变化,仅仅需要用记事本打开web.config文件编辑相关设置就可以重新正常使用,非常方便。同时.NET框架对于配置文件进行了封装,形成了以Configuration为基本类一系列类,从而方便对配置文件的管理。比如可以将插件动态库的文件名和对应的类名称分别保存到<appSettings>中,这样就可利用ConfigurationSettings.AppSettings进行访问。

.NET还提供了审查元数据并收集关于它的类型信息的能力的反射机制,动态发现类型信息的能力。有助于在程序运行时利用一些信息去动态地使用类型,这些信息在设计时是未知的,这种能力类型相当于程序设计语言的后期绑定,同时反射还能在运行时动态创建新类型,并且对这些新类型的操作进行调用。结合程序集Assembly的相关方法进行动态加载动态库控件和Activator类的CreateInstance 方法等动态生成插件类对象,从而调用插件实现类的方法,到达扩展系统功能的功效杂志网。

为了使代码更简洁,在下述的实现过程中,省略了具体实现教师总评成绩的计算算法过程,只是显示框架的构建过程。具体如下:

(1)创建报表接口的类库文件Itotal_Cal,其代码如下:

namespace Itotal_Cal

{public interfaceTotal_Cal()

{Table Total_Cal();}

}

将其编译成Itotal_Cal.dll动态链接库文件。

(2)创建报表实现类的类库文件Ctotal_Cal2,其关键代码如下:

using Itotal_Cal;

namespace Ctotal_Cal2

{public class Ctotal_Cal2:Itotal_Cal

{public Table Total_Cal ()

{//省略其实现代码}

}}

在实现过程中,要添加对报表接口Itotal_Cal.dll的引用,将其编译成Ctotal_Cal2动态链接库文件。

(3)系统代码布局:在学院网上评教系统中,添加对Itotal_Cal.dll文件的引用,同时在使用教师总评成绩计算功能的页面文件中using Itotal_Cal引用报表的名字空间,以方便代码的书写。为了实现自动找到对应的扩展动态库文件,可以将编译生成的扩展动态库文件拷贝到评教系统的bin目录下实现,同时修改web.config文件如下:

<appSettings>

<addkey='ass_name' value=' Ctotal_Cal2'/>

//其中Ctotal_Cal2为插件动态库文件名称

<addkey='class_name' value= Ctotal_Cal2. Ctotal_Cal2'/>

//其中Ctotal_Cal2. Ctotal_Cal2的形式是:名字空间.类名

</appSettings>

在代码实现上,关键代码如下:

string ass_name= ConfigurationSettings.AppSettings['ass_name'];

stringclass_name = ConfigurationSettings.AppSettings['class_name'];

//访问系统配置文件中存放的插件动态库文件名和具体实现类名称

Assembly ass =System.Reflection.Assembly.Load(ass_name);

//动态加载插件动态库文件

Type type =ass.GetType(class_name);

Total_Cal obj =(Total_Cal)Activator.CreateInstance(type);

//调用obj.Total_Cal (),实现系统的动态更新。

4 小结

通过上述插件式框架的设计和实现,如果要更新教师总评成绩的计算方法,只需要按照框架规定的接口编写新的总评成绩计算方法实现类,将其编译成动态链接库,然后将其发送给系统管理员,拷贝到系统的bin目录下,同时对系统配置文件web.config文件进行必要的更改,从而实现不重新编译原来的系统代码,即可实现系统的扩展。当然,也可以此为锲机,将评教系统的各种需求进行深入的分析,估计其风险,对相关类进行泛化提升,抽象出接口,对相应模块进行重构,从而全面提升系统的扩展性,灵活地应对系统需求的变化。

作者:方党生

第6篇:插件技术论文范文

论文关键词:HTML5,WEB开发,网页技术,离线存储,网页插件

一、 使网络更加的安全。

计算机网络一直是计算机世界里不安全因素之一。计算机很多病毒都是通过网络技术的漏洞来传播。然而新的HTML5技术标准的出现,使得网络技术更加完善,设计了更多计算机安全方面的功能,这将会大大的降低病毒在网络里传播的机率。新的HTML5技术标准提供了离线存储功能。离线存储(OffStore)主要用于对在线存储的数据进行备份,以防范可能发生的数据灾难,因此又称备份级的存储离线存储介质上的数据在读写时是顺序进行的。当需要读取数据时,需要重新定位。当需要对已写入的数据进行修改时,很多情况下都需要将数据全部进行改写。离线存储使数据更不容易丢失。同时,新的HTML5技术标准减少了大量插件的使用。这样就减少了因病毒伪装成第三方插件程序运行在本地计算机上,也大大的提高了网络中的安全。HTML5技术标准针对iframe元素增加sandbox属性,可以防止不信任的Web页面执行我们不希望的操作。具体的可以防止如下操作:

访问父页面的DOM。

执行脚本。

通过脚本嵌入自己的表单或是操纵表单对cookie、本地存储或本地SQL数据库的读写。

禁用插件禁止其他浏览上下文的导航。

禁止弹出窗口和模式对话框。

二、美观和更加的人性化界面。

在HTML5技术标准里面增加了许多智能表单,来满足用户的需求,并且同时减少了开发人员的编程。经常上网的人都会因不停的输入验证码、邮箱地址等正则表达式而麻烦。新的HTML5标准却很好的解决相关问题。例如,新增加的Email输入框,我们中要入名字就可以了,还有功能强大的日期输入框,它更加体现出了人性化的设计。智能表单搜索框,文本输入和其它类型的字段可以获得更好的控制,如焦点处理,数据验证,与其它页面元素的交互,通过电子邮件发送等,听起来可能不是很吸引人,但它可以大大减少用户的烦扰,使用户不用再不停的通过移动鼠标来填写完成输入了。HTML5技术的内建3D技术的支持对用户来说就是视觉大餐,它使得界面更加的美观。在此之前,3D技术应用于网页上少之又少,主要原因是之前的技术支持力度不够,影响网页的浏览,而新有HTML5却能很好的支持3D,用户再也不用忍受伪3D的煎熬了。HTML5支持文件拖放上传,这更加的符合人们的习惯,使用户都加好的享受网络;用户也可以编辑网页的部分内容并实现同网页的交互,在HTML 5 中用content editable属来支持用户的交互,content editable属性允许你设定网页的哪一部分可以编辑,在基于 Wiki 的 站点,这非常实用,这个功能可以让手机上网的用户选择自己喜欢的内容出现,而对于自己不喜欢的东西,就可以不用下载,这就为用户节省了大量的流量。HTML 5中的Web应用程序集中化功能可以更容易地建立Wiki,拖放工具,讨论版,实时聊天,前端搜索和其它现代网站元素,并让它们可以跨浏览器使用。这些功能都使的网站更加的人性化。

三、更加完美的视听体验。

在HTML5之前的视频网站标准不一,观看Youtube视频需要安装Flash Player插件,观看苹果网站的视频需要安装Quick Time插件,在观看Microsoft网站时,要安装Sliverlight。不同的视频网站要不同的视频插件,这使用户不能很好的享受网络中视听的震撼,感受不到原来态的视频和音频流。而HTML5技术的出现,可以利用HTML 5中的视频和音频标记功能,使得Youtube和Pandora等视听网站可以会跳过Flash、Sliverlight插件,为你带来全新的视频和音频体验,HTML5还可以制作定时播放和其它贴心的功能,让你有更加完美的视听体验。

四、对于WEB程序员开发更省时省力。

所以WEB程序员都知道要开发一个复杂的同时包括音乐播放功能、绘图功能的WEB应用程序通常是采用美国Adobe Systems的“Flash”或者通过采用Microsoft公司的Sliverlight是来实现。Flash、Sliverlight等需要将一种特殊插件安装到Web浏览器中,对用户而言这将增加他们的风险,而对于程序员来说,程序员除了学习WEB开发技术之外还要学习Flash或者Sliverlight,这将耗费大量的时间和精力。现在新的HTML5技术改进了这一点,HTML5中提供了“canvas”标签构就可以完成绘图功能,而它提供的“audio”标签就可以轻松的完成播放音乐。当然还有很多,如video标签、details标签、command标签等,这些都能很好的实现复杂网站所需要的功能。

五、HTML5也在改变着各种终端数码设备。

HTML5不仅改变了网络,也改变着各种终端数码设备。以智能手机为例,美国苹果的“iPhone”中就采用了一些HTML 5的性能指标。美国Palm的“Palm Pre”也是如此。另外,美国Google公司的手机平台“Android”平台中也采用了HTML 5的元素。 HTML 5得以在智能手机上普及的理由之一,在于HTML5技术的功能。特别是由于HTML5技术可在本地数据库中保存数据,因此,即便在未接入网络的情况下,应用程序仍可运行,这样对于手机用户在没有信号的情况下也可以玩转手机,再也不会觉得无聊了。手机中充分利用了这一特性的产品,当属Palm Pre。在Palm Pre所采用的“Palm webOS”中,仅借助HTML与JavaScript的组合来描述应用程序。iPhone最初也同样打算将应用程序的开发仅限于Web技术,但2007年推出时没有得到消费者的理解。而Palm公司的做法则被认为是技术先进。 如今的时代变化日新月异。HTML 5由于是标准技术,因此,不仅是PC及智能手机、还很可能被其他大多数设备所采用。这样一来,如果面向HTML 5开发应用程序,那么几乎不费劲就能支持大多数设备。这对于内容及应用程序的开发者而言,非常有吸引力。这是因为,像那些追求复杂视觉效果的网站,将不仅可在PC上浏览,还可在智能手机、普通手机乃至预装了HTML 5支持浏览器的家里的电视上进行浏览。 而HTML5这种技术的改变更贴近我们的生活,也更有趣。也能更好促进我国的三网合一的发展!

HTML5技术标准将为我们的生活带来更多的变化,让我们生活变的更加的安全、舒适。而我们也应该借助这次WEB领域技术的巨大改变,来发展我们的WEB技术!特别是现在我国正在进行三网合一的试行,如果能够很好的利用HTML5技术的特点,这将对我们的生活和生产带来更的发展和改变。

参考文献:

[1] 黄永兵 .从零开始构建HTML 5[J]. 计算机应用.2010.2(5)34-36

[2] Kevin Purdy. How HTML5 Will Change the Way You Use the Web [J] . IEEE Journal.2009,56(3)113-114

[3] 蒋博.使用HTML5构建下一代的Web Form.[J].互联网周刊. 2009.6(25).67-68

第7篇:插件技术论文范文

关键词:C语言;展开形式;识别技术;反汇编

中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)12-2829-02

1 库函数展开形式的出现

现代编译器为了加快程序的运行速度,避免调用库函数所带来的开销,在调用库函数时,直接出现库函数的展开形式。编译器有时也出于对所编程序优化的目的,为了提高程序运行时的效率经常在目标代码中出现展开的库函数形式,而且不同的编译器对同一个库函数编译出的汇编指令并不相同,即使是相同的编译器在不同的优化层次上编译出的汇编指令也不相同。展开库函数也有副作用,那就是使目标文件的大小有所增加,所以在C语言中具有这种展开库函数的函数不多,常见的有strcpy、strcat、memset和memcpy,本文只研究对它们的识别。

2 库函数展开形式的识别

2.1 库函数展开形式的特征

选用IDA Pro反汇编工具,IDA Pro是DataRescue公司出品的功能强大的专业级反汇编工具,IDA(The InteractiveDisassembler)的全名是交互式反汇编工具[ ]。首先把要识别的二进制文件进行反汇编,然后对反汇编后的代码进行识别。对于展开库函数的精确识别,是比较复杂的问题,但这些函数的反汇编后具有明显的特征,如strcpy()的展开形式的反汇编为:

1. mov edi,[esp+arg_4]

2. or ecx,0FFFFFFFFh

3. xor eax,eax

4. repne scasb

5. not ecx

6. sub edi,ecx

7. moveax,ecx

8. movesi,edi

9. movedi,[esp+arg_0]

10.shr ecx,2

11.rep movsd

12.movecx,eax

13.and ecx,3

14.repmovsb

此处strcpy()展开后有14条指令,而且随着不同编译器的不同优化,strcpy()展开后的指令条数各不相同。但经过对不同的编译器编译后的指令分析,有些指令是必须出现的指令,如上面提到的2、3、4、7、11和14指令,将展开库函数中必然出现的指令称为必然指令,其余指令称为普通指令。必然指令可以作为识别展开库函数的特征,故将展开库函数的识别转化为必然指令的识别。

2.2 库函数展开形式的识别方法

在具体实现过程中,利用IDA Pro的脚本语言IDC编写检测插件。编写前要先配置编译环境,然后套用模板编写IDA插件,最后复制编译好的插件(确定它在Windows下的扩展名为.plw,Linux下为.plx)到IDA的plugins目录,然后IDA将自动加载它。在VC++中编写一般分以下五部分:预处理、初始化函数、清除函数、主体运行函数和辅助说明[ ]。strcpy、strcat、memset和memcpy的必然指令可以查阅MSDN获知。把所有必然指令放在二维字符型数组中,每一行存放一个函数的必然指令集,中间用星号分隔,其中每个函数我们抽象出四条指令,二维数组的初始化如下:

mustorder[4][80]=

{“repne scasb*mov esi,edi*repmovesd*repmovesb”_//strcpy函数的必然指令

“movsw*rep movsd*movsb*mov edi,eax”//memcpy函数的必然指令

“repne scasb*rep movsd*movs*mov esi,eax”//strcat函数的必然指令

“movse*repne scasb*movsb*mov esi edi” //memset函数的必然指令

};

int flag[4]=0;

char funarray[4][10]={“strcpy”,”strcat”,”memset”,”memcpy”};

同时设置一个标志数组flag[4],其初始值为0。在程序运行过程中,如果所查找的必然指令存在mustorder数组中的一行,就让flag数组中相应下标所对应的数组元素加1,如果检查完程序后flag数组中有值为4的元素,则存在必然函数的展开形式,同时设置数组funarray存放函数名。

void findlongfun (int arg)

{ // 在所有段中查找

FILE *fp;

//打开存库函数的文件

if((fp=fopen(“需要检测得库函数文件”,”w+”))= =NULL{

printf(“ Buffer flow vulnerability file cannot be open\n”);

Exit(1);}

for (int s = 0; s < get_segm_qty(); s++) {

segment_t *seg = getnseg(s);

//仅查找代码段

if (seg->type == SEG_CODE)

{ // 反复执行循环,在所有的调用函数中查找

for (int x = 0; x < get_func_qty(); x++) {

//对标志数组初始化

for(i=0;i

flags[i]=0;

func_t *f = getn_func(x);

//在选中函数中从前到后循环查找

for (ea_t addr = f->startEA; addr < f->endEA; addr++) {

flags_t flags = getFlags(addr);

//仅仅从一行的开头并且这行标记是函数代码所在的行查找

if (isHead(flags) && isCode(flags)) {

char mnem[MAXSTR];

//记下我们这一行所在的汇编代码,放在字符数组mnem中,然后和存放必然指令的数组比较,看是否存在

ua_mnem(addr, mnem, sizeof(mnem)-1);

// 查看是否存在必然指令。

for (int i=0;i

{

//把查到的汇编代码通过match( )函数在mustorder数组的每一行查找

if(match(mnem, mustorder[i])= =0)label[i]++;

}

for(int i = 0;i

if(label[i]= =4){

strcpy(vulervar.funname,funarray [i]);

strcpy(vulervar.linefun,arr);

get_func_name(arr, vulervar.infun,sizeof(vulervar.infun));

ua_mnem(arr, vulervar.linedisa, sizeof(vulervar.linedisa));

fprintf(fp,“第%d个库函数地址:%10s函数名:%10s

所在行汇编代码:%20s所属函数:%10s\n”,n,vulervar.linefun,

vulervar.funname,vulervar.linedisa,vulervar.infun);

n++;

for(int j=0;j

label[j]=0;} } } } }

//关闭漏洞文件

if(fclose(fp)!=0)

{printf(“\n vulnerfile cannot be closed”);

exit(1);}

return; }

3 总结

论文对二进制文件中的库函数的展开形式进行识别,首先对二进制文件进行反汇编,然后对反汇编代码中的必然指令进行识别。最后利用IDA Pro的脚本语言IDC编写代码进行验证。论文的不足点是只对常用库函数进行识别,如何对所有C语言中存在的所有库函数的展开形式进行识别,是今后研究的一个重点。

参考文献:

第8篇:插件技术论文范文

论文摘要:本文说明了各种变电站综合自动化装置的硬件具有相同的典型结构,讨论了模拟量的输入/输出回路,开关量输入及输出电路,微型机系统和变电站综合自动化算法,人机对话、、通信和电源插件,操作回路等各部分培训的内容、作用和培训方法,并具体介绍了测控装置。

在变电站综合自动化培训教学中,学员要熟悉变压器、线路、电容器等设备的保护装置、测控装置、保护测控装置及各种自动控制装置。若在每个具体装置中都全面介绍装置的结构和工作原理,不但重复太多,浪费时间,而且也不容易全面深人地介绍清楚,且不利于学员理解掌握。因此在培训中,都要对各种装置的共性部分进行统一介绍,即介绍装置的基本结构、原理与接线。下面就装置部分教学培训工作进行IV"结,与大家分享。

一、装置的典型硬件结构

装置部分教学培训中,首先要把装置的典型硬件结构弄清楚。成套的综合自动化系统中微机保护系统、监控系统、自动控制系统等装置都是由若干模块组成的,它们的硬件结构都是大同小异,所不同的是软件及硬件模块化的组合与数量不同。一个变电站综合自动化系统中各种子系统的典型硬件结构主要包括模拟量输人/输出回路、开关量输人/输出回路、微机系统、人机对话接口回路、通信回路和电源,如图1所示。

装置采用统一硬件平台,变电站综合自动化装置硬件采用整体面板、国际标准机箱。装置强弱电彻底分离,CPU板采用印刷板、表面装贴技术,提高了装置的可靠性。可自检和互检,同时减少各部分的关联性。通信接口方式选择灵活,与变电站自动化系统配合,可实现远方定值修改和切换、事件记录及录波数据上传、压板遥控投退和遥测、遥信、遥控跳合闸。可通过变电站监控系统对保护装置所具有的功能实施全遥控操作。装置采用统一软件平台,缩短了产品的研发周期,延长了产品的市场生命周期,从“作坊生产阶段”进人到“大规模生产阶段”。装置采用统一数据库处理,在设计装置功能模块时提炼不同功能应用信息的共性,建立一个统一的应用功能数据机构模块,包含每种功能所需的一切信息,形成功能程序的统一的开发平台,降低了功能模块程序开发的难度,提高了功能模块程序的可靠性。

二、模拟量的输入/输出回路

1.模拟量的输入电路

变电站综合自动化系统采集的一次设备的电流、电压、有功功率、无功功率、温度等都是属于模拟量,由于微机只能识别数字量,故模拟信号必须转换成数字信号才能输人到微机中进行处理。典型的模拟量输人电路的结构框图如图2所示,主要包括电压形成电路、低通滤波电路、采样电路、多路转换开关及A/D变换芯片五部执电压形成电路除了起电量变换作用外,另一个重要作用是将一次设备的电流互感器TA、电压互感器TV的二次回路与微机A/D转换系统完全隔离,提高抗干扰能力。通过低通滤波器与采样定理、采样保持器、模拟量多路转换开关、模/数变换(A/D)的详细讲解,使学员熟悉模拟量输人电路如何隔离、规范输入电压及完成模/数变换、与CPU接口,完成数据采集任务。

为了使学员更好地理解和掌握培训内容,讲变换器时向学员展示变换器插件实物,讲清楚变换器的输人信号和输出信号。讲解低通滤波时也将实物插件展示给学员,理论联系实际,可取得很好的培训效果。

2模拟量输出电路

培训中简要说明模拟量输出电路的组成、数/模(D/A)转换器工作原理。模拟量输出电路的作用是把微型机系统输出的数字量转换成模拟量输出,该任务主要由数/模(D/A)变换器来完成。由于D/A转换器需要一定的转换时间,在转换期间,输人待转换的数字量应该保持不变,而微型机系统输出

的数据在数据总线上稳定的时间很短,因此在微机系统与D/A换器间必须用锁存器来保持数字量的稳定,经过D/A转换器得到的模拟信号一般要经过低通滤波器,使其输出波形平滑,同时为了能驱动受控设备,可以采用功率放大器作为模拟量输出的驱动电践 D/A转换器的作用是将二进制的数字量转换为相应的模拟量,其主要部件是电阻开关网络和集成运算放大器。

三、开关量输入及输出电路

开关量输人、输出电路是非常重要的教学内容。学员只有明白了断路器、变压器分接头的位置状态是如何被采集和输出后才能更好地工作。

在变电站综合自动化系统的数据采集中,除模拟信号外,还有大量的以二进制数字变化为特点的信号,如隔离开关、断路器的状态,按钮、普通的开关、刀闸、断路器的触点以及人机联系的功能键的状态等,称为开关量。

1.开关量输入电路

开关量输入电路的基本功能就是将变电站内需要的状态信号引人微机系统,如断路器状态、继电保护信号等。开关量输人电路由消抖滤波电路、信号调节电路、控制逻辑电路、驱动电路、地址译码电路、隔离电路等组成。培训中讲清消抖滤波电路与信号调节电路、电隔离技术的应用、驱动控制与端口地址译码问题,特别是要了解简单的开关量输人电路。开关量信号都是成组并行输人(出)微机系统的,每组一般为微机系统的字节,即8, 16或32位,对于断路器、隔离开关等开关量的状态,体现在开关量信号的每一位上,如断路器的分、合两种工作状态,可用0, 1表示。简单的开关量输人电路包括断路器和隔离开关的辅助触点、跳合闸位置继电器触点、有载调压变压器的分接头位置等输入、外部装置闭锁重合闸触点输人、装置上连接片位置输入等回路。

2开关量输出回路

开关量输出电路主要是将CPU送出的数字信号或数据进行显示、控制或调节,如断路器跳闸命令和屏幕显示、报警信号等。开关量输出电路与输人电路基本一样。简单的开关量输出主要包括保护的跳闸出口以及本地和中央信号等,一般都采用并行接口的输出来控制有触点继电器(干簧或密封小中间继电器)的方法,但为提高抗干扰能力,最好也经过一级光电隔离。

四、微型机系统和变电站综合自动化算法

微型机系统的CPU是由一片大规模集成电路芯片制成,不仅能进行算法逻辑运算,还能执行各种控制功能。配备一定容量的存储器、输人/输出设备的接口电路及系统总线。计算机监控系统都应具有数据采集和输出控制部分,这两个部分构成了基本测控单元的主要内容。数字信号处理器(DSP)是一种经过优化后用于处理实时信号的微控制器。

在变电站综合自动化系统中,计算机对采样值进行分析、计算得到所需的电流、电压的有效值和相位以及有功功率、无功功率等量,或者算出它们的序分量,或者线路和元件的视在阻抗,或者某次谐波的大小和相位等,并根据这些参数的计算结果以及定值,通过比较判断决定装置的动作行为,而完成上述分析计算和比较判断以实现各种预期功能的方法就称为变电站综合自动化系统算法。其主要任务是如何从包含有噪声分量的输入信号中快速、准确地计算出所需的各种电气量参数。培训中要说明研究算法的目的主要是提高运算的精确度和提高运算的速度。算法的运算速度将影响自动化装置检测量的检测和自动化装置的动作速度。变电站综合自动化系统中保护和监控对算法有不同要求。 五、人机对话、通信和电源插件

1.人机时话

人机对话的主要内容有显示画面与数据(包括时间、日期);单线图的状态、潮流信息;报警画面与提示信息;事件顺序记录。事故记录;趋势记录;装置工况状态显示;保护整定值;控制系统的配置显示,包括退出运行的装置的显示以及信号流程图表;值班记录;控制系统的设定显示等。主要介绍人机对话微型机系统的硬件原理、键盘响应电路、屏幕(液晶)显示电路、打印机的接口电路、多机通信和巡检开关、人机对话插件等。重点讲清人机界面操作和命令菜单使用说明。

2.通信插件

通信插件承担着装置的管理和通信任务,是承接装置与夕卜界通信及交换信息的管理插件,如与面板、PC调试软件、监控后台、工程师站、远动、打印机等的联系,根据保护的配置组织上送遥测、遥信、SOE、事件报文和录波信息等。通信插件可根据需要设置有Lan网口、以太网口、RS485口和RS232口,满足不同监控和远动系统的要求。另外,还设置有GPS对时功能,可满足网络对时和脉冲对时方式的要求。

3.电源插件

每个装置均有一个独立的开关电源,向其他插件供电,此开关电源与插件面板构成电源插件(又叫电源模件)。培训中要重点说明输出电压的作用。输出电压十SV为CPU及其外围芯片提供工作电源;15V为模拟输人回路运放提供工作电源;+24V为开出、开人回路提供电源。

六、操作回路

培训中分两个方面介绍操作回路。一是介绍断路器操作回路的原理框图,让学员明白操作回路的基本原理;二是让学员看懂实际的操作回路。

1断路器操作回路的原理框图

首先介绍断路器操作回路总体上分为合闸回路和跳闸回路两大部分,介绍合闸回路和跳闸回路的工作过程。手动操作时可选择遥控操作或就地操作。当就地/遥控选择开关打至遥控”位置时在后台机上手动遥控操作;当就地/遥控选择开关打至“就地”位置时工作人员在装置上就地操作断路器。然后介绍自动操作时保护接点通过连接压板直接接人控制电源进行断路器操作,并介绍防跳回路的作用和原理。最后介绍位置信号、控制回路断线和事故信号。

2.断路器操作回路实例

断路器操作回路的原理框图与实际操作回路还有一些距离,为了学员更好地工作,还需要讲解断路器实例操作回路,如南瑞继保电气有限公司RSC-941A型装置操作回路和南自IOKV线路保护测控柜断路器操作回路。

七、测控装置

测控装置用于各种电压等级的变电站中,综合考虑变电站对数据采集、处理的要求,以微机技术实现数据采集、控制、信号等功能。采用现场测控网络与安装于控制室的中心设备连接,依靠变电站自动化系统的间隔测控单元实现全变电站的监控。装置完全按照间隔单元实现测量、记录、监视、控制等功能,能够满足各种电压等级的变电站综合自动化系统的要求。

1.测控装置硬件结构与功能

测控装置主要由交流变换插件、CPU插件、显示面板、通讯插件、开入开出插件、电源插件等模块构成。测控装置功能有开关量变位遥信;电压、电流的模拟量输入;断路器遥控分合,空接点输出,出口动作保持时间可程序设定;脉冲累加单元,空接点开入;遥控事件记录及事件SOE;支持行业标准通讯接口。

2.PSR650系列数字式综合测控装置

PSR650系列数字式综合测控装置适用于各电压等级变电站等测量控制领域,实现四遥及同期合闸等自动功能。

PSR650系列数字式综合测控装置为19英寸机箱装置配置,2一3块交流采集模件(AC),共采集12路电流、12路电压、1块直流温度采集模件(DC, TDC)可选,共12路采集、2块数字量采集模件(DI),共40路采集(包括脉冲量采集);2块智能控制模件(OUT),共20路开接点输出;CPU模件、POWER模件各一块。该装置插件图如图3所示。

PSR652数字式综合测控单元面板由液晶显示屏、二级管指示灶复归按钮和键盘等四部分组成。PSR 650系列数字式综合测控装置的键盘操作和液晶显示界面采用对话框结合菜单式操作方式。

八、总结

第9篇:插件技术论文范文

关键词:虚拟现实;Quest3d;3D技术

中图分类号:TP393 文献标志码:A 文章编号:1673-8454(2017)14-0087-05

虚拟现实技术是创建和体验虚拟世界的计算机仿真系统技术,伴随新技术的迅猛发展,虚拟现实技术作为新型技术引起人们的高度关注,虚拟现实技术创建出的虚拟环境,使用户产生视、听、触、嗅等真实的感受,其强大的功能已经被广泛应用于各个领域,对中小学教育信息化的发展产生了一定的影响,其在教育应用中亦起到了很大的作用,校园是这项未来技术的着陆点,在教育领域中,以虚拟现实技术为支撑的3D 打印技术正逐渐步入人们的视野。特别是中小学基础教育领域。3D 打印技术在学校社团活动中崭露头角,但3D 打印在虚拟现实中的应用还是一个崭新的领域,虚拟现实应用过程中有许多技术问题值得我们深究。

本文就虚拟现实交互实现平台Quest3d进行了研究和探讨,提出了基于Quest3d虚拟现实教学系统的设计框架,对在学习中遇到的Quest3d技术难点进行了探讨,并对平时实践研究中收集到的资源进行了分析和总结,提出了一些自己的想法,以期为增强学习者的真实体验、主动学习及创客教育在教学中的有效开展和实施起到一定的推动作用。

一、虚拟现实技术概述

1.虚拟现实技术

虚拟现实(Virtual Reality,简称VR),也称为灵境技术,是一种可以创建和体验虚拟世界的计算机系统[1]。它的主要特征有沉浸性(Immersion)、交互性(Interaction)和想象性(Imagination)[2]。

在虚拟现实中,使用者不仅能够感受到在实体世界中所经历的“身临其境”的逼真性,而且能够突破地点、空间、时间以及其他客观限制,感受到真实世界中无法经历的交互体验[3]。虚拟现实技术的应用非常广泛,它最开始用于军事和航空航天领域,近年来,虚拟现实技术大步走进教育培训、文化娱乐、交通模拟、工业设计、建筑设计、空间展示设计、城市规划以及新媒体设计等领域,并逐渐改变着我们的生活[4]。

2.虚拟现实互动开发平台

在交互媒体中,国内外有多种实现虚拟现实开发系统的平台,国外的主要有:瑞典Cycore公司研发的Cult3D,主要支持线上浏览和操作交互设置的三维模型[5];美国Multi Gen-Paradigm公司研发的Multigen VEGA,在实时视觉模拟和数据分析方面效果显著[6];法国研发的Virtools是虚拟现实平台中应用较多的一款引擎,Virtools 制作的沉浸感的虚拟环境非常逼真,广泛应用于实时3D环境虚拟实境编辑、计算机游戏开发、教育训练等各个领域[7];Unity3D是由Unity Technologies开发的一款支持三维视频游戏、实时三维动画等多种类型互动的多平台虚拟现实开发工具[8]。

另外国内比较有代表性的是深圳希技数码科技自主开发的HD(House Designer)平台,主要用于室内三维空间展示,还有北京中视典数字科技公司开发的VR-Platform三维互动仿真平台[9]。

3.Quest3d 平台介绍

本文主要介绍荷兰Act-3D B.V.公司开发的Quest3d虚拟现实开发平台。笔者对Unity3d和Quest3d两款虚拟现实制作平台进行了比较分析:Unity3d应用领域和功能更加强大,但是需要开发者具有深厚的编译程序和编写底层代码的能力;而Quest3d使用者可以用系统中自带的多种元件模块为基础,通过Channel元件组块“搭积木”的方式,直接鼠标拖过来就可以了,如图1所示,不需要像Unity3d一样要编写上千行的复杂代码,高效完成了虚拟现实系统的开发,降低了门槛,更易上手和学习使用。

二、基于 Quest3d虚拟现实系统平台构建的优势及不足

1.Quest3d软件的优势

(1)易用性。在Quest3d里,所有的编辑器都是视觉化、图形化的,真正所见即所得。它封装了很多可视化的模块,编程界面可视化程度高,用户不需要花费时间去编译程序和复杂的底层代码及运算图形,大部分程序操作可以采用“搭积木”的方法实现。

(2)高效便捷。正由于Quest3d软件通过函数的封装、采用元件模块去实现函数功能的可视化,所以使用者只需要将所需的功能模块通过鼠标拖拽的方式就可以搭建虚拟现实系统,提高了工作效率,高效地实现虚拟系统的开发。

(3)Quest3d价格相对低廉,适用性广。

(4)Quest3d中内建有许多的物体,如:具有逼真的人物、植物、光照、阴影、山林、火及烟的特效,还有真实的水波纹效果,可以轻易地加入Quest3d场景中。

(5)Quest3d比较适合做小的场景,效果和美工方面较好。

2.Quest3d软件的不足

(1)和其它相关软件配合不太流畅,和其它三维软件兼容性不是太好。

(2)Quest3d支持平台没有Unity3d软件广,插件、格式限制较严格,且不适合做大的场景。

(3)Quest3d可利用的资源较少,在网上可查找到的Quest3d方面的籍、视频教程、论坛相较于其它三维软件少。

(4)Quest3d对模型的数据量有很多的限制,碰撞捕捉也不是很精确。

三、基于Quest3d虚拟现实教学系统的设计

基于Quest3d虚拟现实教学系统的设计主要包括前期准备阶段、3D建模阶段、交互设置阶段、阶段。如图2所示。

前期准备阶段:先要对虚拟现实教学系统进行需求分析,即最终要实现的目的和效果,教学设计包括学习内容选择、学习内容分析、教学目标分析、学习对象分析,根据教学设计内容进行素材收集,确定各环节具体显示效果。

3D建模阶段:先要进行三维模型的建模,如比较常用的3dsMax、Maya,在Photoshop中修正的纹理贴图等赋予3D模型,设置正确UV,在3dsMax中布置灯光、烘焙贴图后进行场景的集成。

交互设置阶段:场景集成后,通过PandaDirectXMaxExporter_x86_6.2012.72.0.插件将三维模型转换成Quest3D所支持的.X 格式,顺利导入Quest3D编辑器中,然后通过元件模块即Channel开发实现场景的漫游、人机交互、特效编辑,完成系统的各项功能。

阶段:平台搭建完成后,经过不断的测试和优化,生成QuestViewer能够播放的*.Q3D文件或成可独立执行的 *.exe 文件。

四、基于Quest3d平台核心技术的实践应用

1.外部三维模型的导入

因为Quest3d平台本身对建模的限制,故在Quest3d平台中的模型搭建基本上都是从外部建模软件导入,而要将外部的三维模型(如3dmax、maya中所做的模型)顺利导入到Quest3d中,在实践操作中,首先要解决一个技术问题,即插件的问题,从网上下载的插件PandaDirectXMaxExporter_x86_6.2012.72.0,在3dsMax的插件当中加载一下,加载完成之后在3dsMax导出对话框中就会有Quest3d所支持的.X格式文件选项,解决了插件问题,就能将自己在三维软件中所做的模型保存成Quest3d所支持的格式,顺利导入到Quest3d中。不过在实践的过程中,所下载的插件PandaDirectXMaxExporter_x86_6.2012.72.0.只是针对3dMax平台的插件,而且它仅支持3dMax2012及之前的版本,而对于2012之后的3dMax版本则不支持,故在实践操作应用中,对不同的平台和建模软件加载的插件版本要求不一。

2.“.x”和“.cgr”格式导入贴图区别

在使用过程中,可以将3dmax中所做出的三维模型分别保存成.x和.cgr格式导入到Quest3d中。

首先,对于.x格式,如何将3dMax中经过复杂贴图和3d烘焙后的三维模型导入到Quest3d中是实践中的一个技术难点,在虚拟现实平台制作的过程中,笔者曾经尝试两种方法导入物体,一种是在3dMax中导入一个最原始的未加任何贴图和渲染的模型,则能顺利导入,另一种导入经过渲染的三维模型,则能将模型导入,但之前的渲染和贴图则消失,解决办法就是要将3dMax中所做的三维模型存放到同一个文件夹下,再导入到Quest3d中进行勾选。所以.x格式导入到Quest3d中要一直指定贴图的路径,这时候Quest3d会自动扫描文件夹,寻找场景中所用的贴图。

其次,用同样的两种方法将保存成.cgr格式的三维模型导入到Quest3d中,则3dMax中所做的三维模型和贴图即使没有存放到同一个文件夹下,也能导入到Quest3d中,这是和.x格式导入Quest3d不一样的地方。

3.贴图烘焙问题

因为笔者在3dsMax中学过渲染烘焙,所以在Quest3d中也想实践下如何烘焙,于是在学习制作过程中对二者的烘焙进行了一些尝试和比较,一种是直接在Quest3d中运用其自身程序对物体进行贴图烘焙。另外一种是在3dsMax中通过“Render to tecture”命令进行贴图烘焙,完成后导入Quest3d中,实现贴图烘焙。结果通过Quest3d直接进行贴图烘焙效果不佳,其自身灯光系统不完善导致光影关系较弱,得不到最佳效果,而通过在3dsMax中烘焙后再导入Quest3d中则完美地解决了这一问题。

所以实践操作中,针对烘焙这个难题,笔者认为,一方面,Quest3d贴图烘焙一定要在3dsMax中最大程度完成,减少Quest3d中后期的修改;另外一方面,在3D中烘焙,由于计算量大,可能会因为软件性能的瓶颈而导致出错和死机,因此,应该尽量减少烘焙时候的面数或者进行分段烘焙。另外,受限于Quest3d软件自身,单纯依靠贴图烘焙技术并不能完全模拟所有特效,需在Quest3d中加载其他模块进行特效的模拟。

4.光照阴影

在Quest3d中光照和阴影也是实践操作中一大难点,模型上有了阴影才有更强的立体感,然而在Quest3d中制作实时的阴影是相当耗费资源的,而模型一旦很大,阴影就会计算错误,这是一个困难点,比如在利用光照和阴影来做房子的光照映射时,如图3所示,当做到将“Width”和“Height”都设置为1024时,结果并不能显示物体的阴影,所以这个设置的数据是不对的,当设置这个“Width”为1024“Height”为512时,则物体阴影显示出来,但物体显示的阴影却是不规则的,方向各不相同,如何将这些阴影都按照光线的方向规则的显示是一个难题,所以实时阴影的显示需要后续进一步的研究和深入探讨。

5.声音导入

声音是一个虚拟现实场景中不可或缺的元素,真实的声音可以烘托场景氛围,使用户获得身临其境般的听觉、视觉体验。Quest3d软件中有多个元件可以支持声音的播放、调节等操作,目前Quest3d软件中可以支持wav、MP3、MIDI格式的外部音文件。

在Quest3d中进行声音的导入主要有两点:①在Quest3d4.2.2版本中小汽车声音不能导入,却在Quest3d4.3.2中导入了小汽车的声音,这个不是软件版本的问题,应该是小汽车的声音文件的问题,因为在网上下载的MP3格式的音乐经过格式工厂进行转换,转换成.wav格式的音乐,再导入到Quest3d中,无论是Quest3d4.2.2版本还是Quest3d4.3.2版本的都能够正常进行播放。②在虚拟现实场景中“关于音频时间长短的问题”,虚拟现实场景中插入声音文件之后如何设置音频时间,使用Sound File Channel将声音文件导入到系统中去,根据相机和声源的相对位置自动调整声音的音量、左右声道和频率效果,即可以实现修改音频时间长短的问题。

五、基于Quest3d软件虚拟现实技术的资源建设及思考

1.Quest3d平台资源库

(1)期刊文献资源

在中国知网CNKI数据库中,通过查阅众多文献,发现虚拟现实方向研究所用到的虚拟现实实现方法最多的是Multigen Vega和VRML,专门研究这两个方法的期刊论文和博士硕士论文也最多。而对于“Quest3d”方面的文,大多是如何用Quest3d来做一个虚拟漫游场景,或者是“基于Quest3d的某方面的设计和实现”。

(2)书籍

通过阅读一些“虚拟现实”方面的书籍,从图书馆和网上进行搜集,主要阅读了《虚拟现实案例教程:基于Quest3D/VR-Platform/Virtools项目》(随书有光盘),以及《中国高校动画专业系列教材――Quest3D虚拟现实设计》和复印的讲义《Quest3D教程指南》。同时,在当当网、亚马逊中查找,发现目前我国现在出版的“Quest3d”方面的书籍还是较少的,主要是这三本:《虚拟现实案例教程:基于Quest3D/VR-Platform/Virtools项目》(随书有光盘)、《Quest3D从入门到精通》(随书有光盘),以及《中国高校动画专业系列教材――Quest3D虚拟现实设计》。关于“虚拟现实”方面的书籍虽然很多,但关于Quest3d在虚拟现实中应用的书籍较少,有的书籍中或多或少提及Quest3d,但关于Quest3d的介绍,很多书籍只是把它作为虚拟现实实现平台的一个引擎,或一笔带过,或只是重点介绍了一下软件的概况,并没有全面介绍,而有针对性的通过一些案例的示范来对Quest3d进行讲解的更是少之又少。

(3)网络视频、论坛资源

搜集到的网上的视频,免费的有“Quest3d官方八集视频教程”、“Quest3d手把手教学”“Quest3d基础教程”,这些免费教程在百度和一些论坛里面都可以下载,但都只是简单的小案例的实现,而且视频中的素材贴图都无法获取,只是一些基础。

而收费的教程比较有权威和全面的是parrot录制的视频教程,有:parrot主讲 《Quest3d系列教程》10小时视频教程、《Quest3d系列》10小时教程(不是书籍)、parrot主讲《玄武招商》7.5小时教程(不是书籍)、 parrot主讲《Quest3d大揭秘系列教程之boat Visualization》。这些收费的视频教程一方面内容很全,比如在parrot主讲 《Quest3d系列教程》10小时视频教程中,它的内容就包括基础界面、模型贴图、漫游控制、逻辑程序、逻辑强化练习、界面定制、灯光阴影、动画控制、动画技巧练习、粒子系统、角色动画、For 循环与数组、内置 Shader、种植系统、有限状态机、寻径、实时反射、全局特效、声音控制、动态加载等很多方面的知识,包括“Quest3d软件中撤销(undo)的问题”都有解决答案。但是另一方面这样的视频课程又是很昂贵的。所以现在整体而言,Quest3d方面的视频资源还是很匮乏的。

Quest3d的论坛资源在网上则比较多样化,论坛比较活跃和资源较多的网站有很多,比如Quest3d论坛-建筑可视化虚拟现实、Quest3d资讯作品教程-SketchUp中国论坛、Quest3d官方论坛等等。

2.基于Quest3d软件资源建设的思考

(1)学习形式多样化

仅仅学习Quest3d软件是不够的,Quest3d作为后期的组装加工固然重要,但是素材的收集、二维贴图制作、三维建模这些前期的准备是极其重要的,特别是3dsMax尤其重要,由于Quest3d自身不具备三维建模的能力,在Quest3d中复杂的三维模型都需要从外部导入,因此3dsMax这样的三维软件在虚拟现实设计过程中就发挥着很重要的作用,如果这些不会,就没有可以组装的原料,所以,如果要完成一个漫游类虚拟现实项目的设计与制作,则要学懂Photoshop和3dmax,没有这样的基础,Quest3d场景制作是不可能的。

(2)外部资源优化

首先,Quest3d现有资源应加强和外部一些软件的契合,比如在讲到3dmax或Maya中三维模型导入到Quest3d中,有些书籍中并没有讲清楚“插件从哪可以下载到”、“插件对于各种版本的要求是怎样的”,“.x和.cgr不同的保存格式导入到Quest3d中效果实现哪个更好”,只是很笼统的让读者自己可以在“F1帮助”中下载(这只是针对正版软件),但是具体操作过程却并没有那么简单,需要自己好好琢磨。

其次,现有参考书籍中如果能够讲到贯穿于整本书中到底用的是什么版本的MAX和Quest3d,使用者用起来更加高效,因为不同的版本可能对插件和一些参数的设置会有不同的要求,有时即使按照这些书上的案例照着做,也没有实现最终的效果,有没有是版本的问题?而对于很新版本的比如Quest3d5.0有什么功能和进步之处,书籍中也鲜有提及,如果在讲解的同时能够结合最新的软件版本和功能进行比对,应该会更方便学习和使用。

(3)分享交流

在资源建设中所推荐的论坛中与学习者进行交流和分享,还是很受益的。论坛中的资源很多都是最新的,通过回答别人的疑问,或者提出问题,大家可以共同进步。所以笔者认为要想学到更多的Quest3d知识,就应该多多上论坛,和大家一起分享交流。

六、总结和展望

虚拟现实技术是教育信息化发展的一个趋势,通过对教学场景在虚拟现实中的三维构建,营造逼真的学习情境,可以更好地发挥教育信息化的作用,目前在中小学社团活动中,3D打印很受学生欢迎,3D 打印技术本质上就是虚拟现实技术的延伸,它将学生奇特的想法变成现实,3D打印技术以虚拟现实技术为依托,在教学中的应用提高了学生的动手能力,促进了学生思维能力的进一步发展,相信在未来的几年,虚拟现实技术必将大面积走进中小学课堂,必将对现有教学产生深刻的影响和变革。

参考文献:

[1]高飞.虚拟现实应用系统设计与开发[M].北京:清华大学出版社,2012.

[2]刘光然.虚拟现实设计[M].北京:清华大学出版社,2011.

[3]柳纯. Quest3D 虚拟现实设计[M].上海:东方出版中心,2010.

[4]刘向群,吴彬.虚拟现实案例教程:基于Quest3D/VR-Platform/Virtools项目[M].北京:中国铁道出版社,2012.

[5]赵蔚,段红.虚拟现实软件研究[J].计算机技术与发展,2012(2):228-231.

[6]赵建民,何林知.基于Quest 3D 虚拟漫游的探索与实践[J].浙江大学学报(自然科学版),2013(8):24-28.

[7]王济军,魏雪峰.虚拟实验的“热”现状与“冷”思考[J].中国电化教育,2011(13):12-15.

精选范文推荐