仿真引擎的关键技术(6篇)
仿真引擎的关键技术篇1
关键词:元搜索引擎;主题;协同推荐;结果融合;个性化
中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)19-5207-02
MarineInformationPersonalizedMeta-searchEngine
WUYuan-hong,ZHANGJian-ke
(SchoolofMathematics,physics&InformationScience,ZhejiangOceanUniversity,Zhoushan316004,China)
Abstract:Themarineinformationdictionaryisconstructedthroughthesubjectwordsextracting.Themarine-information-relateddegreeiscomputedbyusingthespacevectoralgorithm.Theschedulingofsinglesearchenginesisdesigned.Anewpersonalizedrankmethodbasedonbothsubjectrelateddegreeandacollaborativerecommendationalgorithmisproposed.Finally,anpersonalizedmetasearchengineorientedthemarine-informationissetup.Theamountofinformationsearchresultsisreducedandtheaccuracyofprofessionalinformationsearchisimproved.
Keywords:meta-searchengines;subject;collaborativefiltering;resultmerging;personality
随着Web成为海洋信息服务的首选平台,为搜寻相关信息的搜索引擎也越来越受人们的欢迎,一些著名的搜索引擎,如yahoo、Google、Infoseek等都提供专门的面向海洋信息的搜索引擎[1],这也必将成为当前,及将来一段时期内信息服务的一个重要研究领域。尽管上述工具都可在一定程度上为用户定位所需的Web信息提供帮助,但用户享受到的都只是被动式、同一化的服务。本文将个性化协同推荐技术和主题元搜索引擎结合起来,设计和实现了面向海洋信息的个性化元搜索引擎。
1系统结构设计
面向海洋信息的个性化搜索引擎系统框架如图1所示。系统工作的流程是:首先以海洋信息元数据为参照提取海洋信息主题词,构建专业词典。用户将查询提交给查询界面,查询分发器将用户查询转换为底层成员引擎所能识别的查询,然后分别分发给各成员引擎,由这些成员引擎完成实际的检索功能,最后元搜索引擎再把返回的结果进行去重、过滤、后按照主题相关程度和协同推荐值进行降序排列后返回给用户。
2系统实现的关键技术
2.1海洋信息词典建立技术
参照中国海洋信息网公布的元数据信息,根据从各个底层成员引擎搜集到的海洋信息相关的网页,并进行网页和文本的预处理,提取出海洋信息主题词。通过以下预处理步骤:辨别不同的字段、辨别锚文本、移除HTML标签、辨别主要内容块、停用词移除,词干提取,处理数字、连接词、标点以及字母大小写之后,从中提取出现频率较高的串,选择出主题词并存入专业词典中。在海洋信息搜索引擎中,用户输入关键词交给海洋信息检索模块,搜索模块需要将用户的关键词进行分词,并利用海洋专业词典进行过滤。
2.2成员引擎的调度
元搜索引擎的调度策略是为了确定元搜索引擎如何为用户选择数量合适并贴近用户查询需求的成员引擎[2]。本文采用了将成员搜索引擎数据库与主题类别相关联的技术。通过K-means聚类技术来衡量成员搜索引擎对某一特定主题的有用性,当元搜索引擎接收到一个用户查询时,把查询映射到相关的主题类。具体处理过程如下:查询训练阶段,以确定成员引擎对于每一主题类查询的权重。测试阶段,将查询归入相关主题查询类。用户提交新的查询,将查询分发给引擎集成员,获得每个引擎的结果列表,计算每个结果列表的平均精度,以确定查询属于哪一主题类,该查询即可采用所属类的引擎权重。
2.3基于邻居协同推荐的网页排序技术
元搜索引擎排序是指对其调用的多个成员搜索引擎所返回的结果进行收集、去重处理,然后按照一定的准则排序,最终将排序结果按一定顺序展现给用户的过程。本文在进行网页排序的过程中,将邻居用户的协同推荐和网页同主题的相关度结合起来对网页进行排序。
2.3.1用户浏览矩阵模型的建立
将用户对网页的评价用m×n的矩阵来表示,矩阵中的行代表m个用户,列代表n个主页的URL,每一个元素pu,p代表用户m对网页n的点击率评分值。
(1)
2.3.2基于邻居用户的协同推荐
用户可以通过点击率评分值来反映各自对网页的兴趣,并且用户对未知网页的评分可由与其兴趣相似的若干用户(最近邻)推导出来。经典的协同过滤算法是基于用户的推荐[3],通过分析用户历史的评分数据,发现当前用户的最近邻,用邻居的评分来加权平均预测当前用户m对网页n的兴趣度,预测评分公式为:
(2)
其中:sim(m,y)是用户m与用户y的相似性,可以用余弦相似度相似度来计算;TOP(K)是用户m的最近邻集合。
2.3.2结果排序
对网页Rank的计算,是根据页面使用相似性和页面主题相关性来计算的,引入了α权重系数,α∈[0,1],通过线性组合来计算页面之间整体的相似度值,通过选用合适的α值将两种相似度测量方法的优点结合起来公式如下:
Rm,n=α×SubjectSim(n,K)+(1-α)×Pm,n(3)
其中K是主题词向量,SubjectSim(n,K),为网页和主题的相关性;Pm,n是由邻居协同推荐而获得的当前用户对网页的点击兴趣度。本文在主题相关排序算法上融入协同推荐排序,计算所有搜索到文档网页的Rank的值,然后以从大到小的顺序排列。即为最后的网页排序列表,将此列表作为查询结果返回给用户。
3结论
元搜索引擎在覆盖率和查准率上均高于Web搜索引擎。将专业搜索引擎综合实现专业元搜索引擎,是一个重要的研究方向。本文设计了一个面向海洋信息的个性化元搜索引擎,构建了专业词典,通过专业词典和向量空间模型进行主题过滤,最后通过邻居用户的协同推荐来改进网页的排序问题,将个性化技术应用于主题元搜索引擎中。这些技术的使用对海洋信息专业搜索引擎的查准率和查全率有重要提升。
参考文献:
[1]刘兵.Web数据挖掘[M].北京:清华大学出版社,2009.
[2]XUHai-Ling,WUXiao,LIparisonStudyofInternetRecommendationSystem[J].JouralofSoftware,2009,20(2):350-362.
[3]ZhengZibin,MaHao,LyuMR.WSRec:ACollaborativeFilteringBasedWebServiceRecommenderSystem[C].IEEEInternationalConferenceonWebServices,2009:437-444.
[4]曹林,韩立新,吴胜利.元搜索引擎排序技术综述[J].计算机应用研究,2009,26(2):411-414.
[5]李红梅,丁振国.元搜索引擎结果合成算法[J].北京邮电大学学报,2008,31(5),78-81.
[6]王铮,王庆,汪定伟.基于互联网的元搜索引擎中领域搜索模型的设计[J].系统仿真学报,2008,20(5):1218-1223.
仿真引擎的关键技术篇2
Abstract:Withthedevelopmentofe-commerce,thenewbusinessmodelputsforwardhigherrequestforthequalityandquantityofnetworkintelligenceinformationsearch.Theconstanttechnologydevelopmentofmetasearchengineraisesthesearchqualityofnetworkintelligenceinformation,whiletheproblemsofloweraccuracyandlongerresponsetimeininfrmationsearchbafflethedevelopmentofmetasearchenginetechnologyinE-commerce.Thispaperoptimisesthecategoryselectionmechnismofk-meansalgorithmtogainthehigheraccuracyandquickresponse.Theempiricalresultsintimatethattheoptimizedk-meansalgorithmhashigerclusterqualityandflexibility,whichcanbeagoodcomplementtometasearchengine.
关键词:电子商务;元搜索引擎;信息集成;k-means聚类
Keywords:E-commerce;metasearchengine;informationintegration;k-meansclustering
中图分类号:G202文献标识码:A文章编号:1006-4311(2010)17-0158-02
0引言
电子商务包含借助电子手段完成商务行为的一切关联活动,这种新型的商业模式已经为广大的消费者接受和认可,并因而成为众多商业企业追逐的企业运营模式。电子商务基于互联网平台整合生产和消费资源构建了一个巨大的虚拟市场,不论是生产商、供应商、物流企业、零售商还是终端消费者都可以通过互联网信息搜索找到各自所需,大大节约了企业的运营成本和消费者的购物成本。
但是伴随信息爆炸的加剧,人们发现在从海量互联网电子商务信息中获取满足需求的信息变得越来越艰难。基于元搜索的搜索引擎技术出现可以在一定程度上满足人们对电子商务信息精确度的要求,但是元搜索引擎往往需要调用几个甚至几十个成员引擎进行搜索,这些成员引擎产生的检索结果规模经常比较庞大,而且很多检索结果存在较大的相似度.因此,有效的实现电子商务搜索结果的信息集成将大大节省精确信息的获取时间,并能为消费者提供准确的电子商务信息.本文在对元搜索引擎搜索结果进行分词处理并抽取达到阈值的主关键词的基础上,应用k-means聚类算法实现了不同成员搜索引擎电子商务信息的有效集成,实验表明,该算法具有较好的聚类质量和算法弹性,可以有效的实现电子商务信息的集成,为企业寻找商机、为消费者节约消费成本具有重要的现实意义。
1元搜索引擎技术简介
传统上通用搜索引擎都是针对特定领域或某类用户需求进行搜索的,这种搜索方式只能覆盖Internet信息资源的一部分或某个特定领域[1-3]。由于各种搜索引擎工作原理和采用技术不同,针对相同用户请求搜索的结果也会存在不同,而且不同通用引擎所检索出的结果交集也较小[4]。为了满足用户全面搜索的要求,以获得较高的情报信息覆盖范围和查全率,需要同时使用多个具有不同工作机制的搜索引擎同时展开搜索,元搜索正是基于这样的需求产生的。元搜索引擎在通用搜索引擎的Client/Server结构上又增加了一层C/S结构,一个用户的请求将经过两层服务器处理后得到响应。其运作机理为[5]:首先用户向元搜索引擎发出服务请求,元搜索引擎经过特定的调度算法向多个通用搜索引擎发出检索要求;其次,通用搜索引擎接收到要求后按照各自的工作机制进行情报信息搜索,然后将搜索结果集发送到元搜索引擎;最后,元搜索引擎接收各通用搜索引擎的搜索结果集,经过适当的算法进行搜索集合的去除冗余、排序和分类后再返回客户端。
元搜索引擎的结构主要包括三部分智能Agent[6],分别为搜索请求接收Agent、成员引擎调度Agent和搜索结果响应Agent,其中搜索请求接收Agent将用户的个人习惯和检索要求进行智能化处理,设置用户检索的环境,包括搜索引擎的选择、响应时间、搜索结果的显示形式和数量等,并将使用频度达到一定次数用户的相关信息和习惯进行记忆;成员引擎调度Agent主要将搜索请求接收Agent传送的用户请求针对各个不同的通用引擎进行标准化,然后发送至各个成员引擎进行搜索,将各成员引擎搜索到的结果集合传送到搜索结果响应Agent;搜索结果响应Agent将成员引擎Agent传来的检索结果进行合并,按照一定的组织算法进行组织后(如顺序排列等)返回到客户端。
2k-means算法原理
k-means算法由MacQueen于1967年提出,是一种无监督的基于划分的聚类算法[7],该算法首先对一个包含n条记录的结果集给定要求的聚类数目k,然后算法自动根据规则将结果集划分为k个类,k-means算法运算具有聚类效率高、效果好,伸缩性好等特点。
令聚类中心和误差函数分别为:
K=MK(1)
E=M-K(2)
k-means算法的主要步骤为[8-9]:
①指定聚类个数k,迭代次数I=0,误差阀值为δ,误差离差为φ,样本点M={M,M,…,M}。
②从M个样本点中随机选取k个样本作为初始聚类中心。
③根据聚类中心,计算每个样本点M(j=1,2,…,M)与第i(i=1,2,…,k)类之间的距离,并将其分配给距离最近(最相似)的聚类
K,即M-KM-K其中j∈(1,2,…,M),i∈(1,…,k),i*∈(1,…,k)。
④对于每一个聚类K,更新当前类中所有数据点的质心点,作为新的聚类中心。
⑤计算误差函数,迭代次数增加。判断误差,若E
3k-means算法优化
k-means算法原理较简单,但是聚类的效果较好,且算法的伸缩度较高。但是经典的k-means算法对样本点的类别划分是给定的,即需要对样本有一些先验知识,如所有的样本点大体可以归为几类等类似的知识,因此,本质上k-means算法是在知晓总体类别的情况下,明确各样本点对每种类别的归属。
但是,对于元搜索引擎技术而言,客户端的搜索需求在经由搜索请求接收Agent和成员引擎调度Agent处理之后将分别发送至各个成员引擎进行搜索,各成员引擎将事先对Internet全局资源的广泛收集,搜索获得的情报信息种类总体事先是无法明确获知的,而且通过经验值来确定初始聚类个数在当前信息爆炸的背景下也是不可取的。因此,直接应用k-means算法对元搜索引擎获得的情报信息进行信息集成是很难实现的。本文认为,人们对搜索引擎效果的评价主要关注两个指标[10],其一是准确度,其二是检索速度,基于这样的考虑,本文对传统的k-means算法进行如下的改进,以实现检索结果准确度和检索速度两个指标的性能的提升。
首先,在传统k-means算法的第(1)步,根据元搜索引擎服务器的性能,确定初始类别数,若元搜索引擎服务器性能较高,则k可以设为2;其次,确定最大迭代次数kmax,kmax值的确定也需要参考元搜索引擎服务器的性能;第三,在第(5)步,聚类效果满足误差阀值要求和误差离差阀值要求的情况下,迭代计数器归零,记录当前初始类别数条件下的误差和迭代次数,初始类别数增加1,即k=k+1,直到k不满足最大迭代次数要求;比较所有存储的E和I,两者均较小的为最优聚类结果。
4实证研究
为检验优化的k-means算法对元搜索引擎获取的电子商务信息的集成效果,本文仿真构建一个元搜索引擎,该引擎具有四个成员引擎,本文通过调查访谈获得Google,百度,有道,搜狗等四个通用搜索引擎为人们日常常用的搜索引擎,上述四个引擎即作为本文仿真元搜索引擎的四个成员引擎,以网店、货源、销售、电子商务为关键词,分别截取四个搜索引擎搜索结果前两页的结果构成原始数据集,将数据集中的项应用TF-IDF算法转化为特征向量,原始数据具体情况见表1。
从表1可以看出,初始关键词由于阈值较低,估数量较多,如果用来建立关键词相关矩阵则维数巨大,当阈值取3时,主关键词数量明显下降,考虑到系统的运行效率和区分度的矛盾,一般取3时系统效果比较好,既能满足用户的查询需求,又能提高系统的效率。
本文应用优化的k-means算法,δ设置为0.01,φ为0.005。具体结果如下:
4.1算法精度分析为比较算法精度,本文首先将120条记录进行人工划分,作为最优分类结果,然后分别应用传统k-means算法和优化的k-means算法进行聚类结果比较。通过人工人类可以将120条记录分为三类,分别表征电子商务网店货源信息类、电子商务网店销售统计类和电子商务网站推广类。优化的k-means算法最优分类数为3,此时误差为E=0.0068,迭代步数为21。具体结果见表2:
4.2算法弹性分析算法弹性描述了算法对数据集维度的敏感性,弹性较好的算法运行时间、迭代步数和数据集维度具有良好的对应关系,线性对应是最理想的结果。本文分别截取不同的数据集维度来检验优化的k-means算法的弹性,具体结果见图1所示:
优化的k-means算法较传统的k-means算法对数据集维度敏感性要低,且伴随维度的增加,这种差距表现的更为明显。这对基于元搜索的引擎技术而言,优化k-means算法的算法弹性将可以在保证查全率的基础上,实现客户需求的快速响应,减少用户情报检索时间。
5结论
随着电子商务这种商业运作模式的进一步推广,越来越多的消费者将尝试体验这种足不出户的消费方式,越来越多的企业也将因此开展电子商务运营模式,这也将成为企业提升市场竞争力的有效途径。电子商务模式的广泛开展对信息检索提出了前所未有的高标准,信息搜索的“全”、“准”、“快”成为影响电子商务开展的重要因素.元搜索引擎技术通过双层C/S架构实现了对Internet情报信息资源的全面检索,但是检索的速度和准确度成为制约该项技术发展的瓶颈,本文应用优化的k-means算法很好的解决了该问题,实证结果表明,该算法具有较好的聚类质量和算法弹性,对提高元搜索引擎检索准确度和快速响应能力具有较好的效果。
参考文献:
[1]Osiski,S.,Stefanowski,J.,Weiss,D..Lingo:SearchresultsclusteringalgorithmbasedonSingularValueDecomposition.InKlopotek,M.A.,Wierzcho,S.T.,Trojanowski,K.,eds.ProceedingsoftheInternationalIIS:IntelligentInformationProcessingandWebMiningConference.AdvancesinSoftComputing,Zakopane,Poland,Springer2004:359-368.
[2]胡亮,许永成,高文等.个性化高效元搜索引擎的设计与实现.计算机工程与设计,2005,26(4):896-899.
[3]PaoloFerragina,AntonioGulli.APersonalizedSearchEngineBasedonWebSnippetHierarchicalClustering.InternationalWorldWideWebConferenceCommittee(IW3C2)Chiba,Japan.NewYork,NY:ACMPress,2005:801-810.
[4]RepmanJ,CarlsonRD.SurvivingtheStorm:UsingMetasearchEnginesputersinLibraries,1999,(05):50-55.
[5]SergioBermejo,JavierDalmau.WebMeta-searchusingUnsupervisedNeuralNetworks.LectureNotesinComputerScience,2003,2687:711-718.
[6]徐科,黄国景,崔志明.元搜索引擎中基于用户兴趣的个性化调度模型.清华大学学报(自然科学版),2005,45(S1):1915-1919.
[7]YihongLu,YanHuang.Miningdatastreamsusingclustering[C].In:Proceedingsofthe4thInternationalConferenceonMachineLearningandCybernetics.Guangzhou,2005,2079-2083P.
[8]孙吉贵,刘杰,赵连宇.聚类算法研究[J].软件学报,2008,19(1):48-61.
仿真引擎的关键技术篇3
关键词:船舶动力装置系统;仿真应用;数据库技术
引言
本文在对VisualC++6.0,Matlab以及SQLServer2000数据库间接口的分析,提出了借助以上三者混合编程下的船舶动力装置系统仿真数据管理平台。在这个平台内,把各个动力装置系统的参数预先储存在数据表中,仿真时在船舶动力装置系统的模型中实现动态仿真。本文在数据库服务器内存入相关结果数据,而且有关数据库客户端的计算机就可以接受该数据服务,并利用通信协议来促进数据传输,为分布形式的可视仿真打下良好基础。
一、船舶动力装置系统仿真模型的构建
本文在建模和仿真中以13000DWT散货船作为原始,对于建模仿真的设计,首先就是对各个部件的数学模型予以建立,然和对设备模型进行组合,并有机结合全部设备模型,进而对动力装置系统的整体动态性进行研究。
1、增压柴油机准稳态模型
该涡轮形成的扭转可以用如下公式表示:
在上式中,涡轮流量用Gt来表示,Ke指的是涡轮内部气体绝热数值,气体常数则用Re表示。那么增压转速的表达式则为:
在四冲程的柴油机中,扫气流量和吸气流量是进气阀流过的空气量的组成部分。其中,扫气量在计算上比较复杂。不过,一旦得到扫气系数Φs的话,就可以通过Gi=ΦsGij来计算得到;对于柴油机的转速nd而言,可以用如下公式计算:
在上式中,柴油机轴承到离合器半A轴的转动惯量用Id表示,Qms则是摩擦力扭矩,螺旋桨的负荷矩则用Mp表示。
2、减速齿轮模型
可以用nd=npi来表示螺旋桨与柴油机之间的转速关系,二者之间的扭转关系则可以用Qe=Qp/i来表示。其中,螺旋桨的转速为np,螺旋桨上的扭矩则为Qp。
3、组装后的仿真模型
对于上述数学模型,在Simulink或者Matlab中构建各个相对的模块,然后有机组合这些模块,最后就可以完成动力装置系统仿真模型的构建。
二、软件之间的接口
1、数据库访问技术
VisualC++6.0提供了ODBC、DAO、RDO等多种数据库开发工具,以上工具中,ODBC无论是在关系数据连接上还是在开放性都相对最优。除了本机驱动程序外,多数据库还包含针对数据库ODBC的驱动程序。
2、数据库和Matlab的连接
对于数据库和Matlab之间的连接,一般应借助于ODBC或者JDBCBridge。它可以作为Matlab的组成部分而被自动设置,C语言可以把JDBC进行ODBCAPIS的转换,并且传送到指定数据库的驱动程序中。如图1所示,为其实现过程。在Matlab针对数据库的操作中,必须先取得了数据库的句柄,其次才能进行相应的函数操作。
3、Matlab/Simulink和VisualC++6.0的接口操作方案
Matlab引擎作为一组函数,用户通过该组函数能够在应用程序中控制Matlab,也就是将Matlab视为一个计算引擎来运用。对于VisualC++6.0来说,为了连接Matlab,可以借助于engOpen(),engOutputBuffer(),engEvalString(),engPutVariable()等函数来实现二者的连接。另外,Simulink能够用框图形式来表现模型,而且可以对各个模块参数任意修改,并支持借助于Matlab指令形式构建的Simulink模型,在此基础上运行Simulink模型,设定相应的系统参数。还可以在对Simulink模型进行操作过程中应用Matlab/Simulink和VisualC++6.0的接口。
三、动力装置系统仿真数据库管理平台的开发
1、数据库和数据源配置
对于SQLServer2000数据库,开始“EnterpriseMangager”,并建立名称是“fangzhen”的数据库,数据库内的参数包含冲程、额定转速、气缸直径、汽缸数、中冷器效能系数、活塞形成、喷油量、柴油机轴系转动量、涡轮转子转动量、齿轮减速比例、船体质量、螺旋桨直径等等,在数据表simulink中储存以上数据。应用Windows内的开始按钮并进入到管理工具中,选取并进入到ODBC数据源管理内,数据源选择为SQLServer2000数据库,在经过SQLServer验证之后,选取“fangzhen”数据库设置成默认数据库,对“测试数据源”进行点击,并显示出测试成功即可。
2、应用VisualC++来建立用户界面
借助于MFC向导来构建vinsitdatabase的应用程序,以sinmulink来当做数据源,在主对话框界面内加载“开启引擎”、“参数读取”、“仿真运行”、“结果入库”等按钮,并关闭引擎。成员函数则需要对应OnGetParanmeter()、OnStartEngine()、OnInsertData、OnRunSimulink()等,并在编译之后运行。
3、功能的实现
在程序运行后,对“开启程序”、“参数读取”、“仿真运行”、等依次点击,这样该动力装置系统模型就可以在参数读取的基础上实施仿真运算。仿真过程中,转速指令在前10秒内从500r/min增加到600r/min,仿真时间则在10min左右。之后对“结果入库”电机,把各个仿真结果全部保存到数据库表中。
结论
综上所述,在数据管理平台的构建和应用上,本文不仅实现船舶动力装置系统仿真参数由数据库传输到Simulink模型的过程中,还在SQLServer2000数据库服务器中保存了以上仿真结果。结果表明,本次设计的数据管理平台可以醋精模型通用性的提高,达到向不同计算机上传输仿真结果的目的,基本上实现了公共虚拟平台的应用需要。
参考文献
仿真引擎的关键技术篇4
关键词:地理环境;引擎;可视化;模块化
中图分类号:TP391文献标识码:A文章编号:1009-3044(2013)31-7087-04
随着计算机软、硬件及虚拟现实技术的飞速发展,人们对三维地理环境应用系统的场景真实感、实时性及交互性都提出了更高的要求。这直接导致了软件结构的复杂度、开发周期和开发成本进一步增加。引擎作为三维地理环境可视化系统的核心技术,它通过对基本图形API进行封装,提供了一个简单清晰的系统开发框架,既能够有效的优化软件结构,又能够提高开发效率[1]。
1引擎设计目标
地理环境可视化系统应该具有稳定、高效和可扩展等重要特性。本引擎主要研究地理环境可视化的相关内容,而对环境的动态实体及其AI(ArtificialIntelligence)设计、物理引擎、声音效果等方面提供了相应的接口。因此,引擎设计目标为:从应用上讲,引擎应能够构建较为真实的地理环境,提供三维地形可视化应用,显示较为真实的水体、天空及静态实体;从渲染方式上讲,引擎应能够支持GPU编程;从渲染效率上讲,引擎应能够通过合理的组织渲染流程来实现高速渲染;从架构上讲,引擎应提供高内聚、低耦合的架构;从功能上讲,引擎应能够实现场景管理、输入管理、渲染管理、资源管理等功能,实现基本场景的构建[2]。
2引擎总体设计
三维地理环境可视化系统分为三层:逻辑实现、引擎和图形API,如图1所示。引擎处于逻辑实现与图形API(OpenGL或DirectX)的中间位置,通过主控模块提供的渲染指令,调用图形API完成各种场景元素的绘制。系统逻辑实现部分调用引擎提供的各个具体模块来实现相应的功能。根据三维地理环境可视化的研究内容及实现方法,依据高内聚、低耦合的模块化设计思想,以及对系统设计目标的分析,该文将引擎划分为主控模块、输入管理模块、资源管理模块、场景管理模块、渲染管理模块以及时钟管理模块。
3引擎各功能模块的实现
3.1主控模块
为了更好的对引擎的各个功能模块进行管理,使其协调统一,并对上层提供接口,增强整个引擎的健壮性,该文设计了一个主控模块作为各个功能模块的“管理器”。
该主控模块的设计参考了Ogre引擎的管理模块,它第一个被创建,最后一个被消毁,在对整个框架进行组织和协调的基础上,它为逻辑实现层提供接口函数。主控模块组织结构如图2所示,主要由Root类来负责管理各个功能模块,这些模块相应的管理类包括:InputManager、ResourceManager、RenderManager、SceneMananger及TimeManager等,它们分别负责管理输入模块、资源模块、渲染模块、场景模块和时间模块的具体功能。Root类进行对各个功能模块进行统一管理和维护,通过对各模块功能的把握,该类负责屏蔽模块内部复杂的实现细节,针对外部需求提供一系列相应的接口,包括框架的初始化、日志的创建、设备的创建及更新、资源的加载、场景的搭建、场景的渲染及更新、资源的回收等功能。Root类通过对各个功能模块的调用,将底层的图形API进行二次封装,并向高层用户提供更为简单的交互接口,既限制了用户对引擎各部分功能的访问权限,使得功能调用更加安全,又简化了用户和引擎各模块的交互。
3.2资源管理模块
在地理环境可视化仿真系统开发中,涉及的地形比较辽阔,资源数量比较多,资源种类比较丰富,包括地形模型、地物模型、纹理、材质、字体等等。为了更好的处理如此众多和复杂的资源,尽量提高资源管理的效率,该文设计了一个资源管理模块。整个资源管理模块的组织结构如图3所示。
在该模块的组织结构中,使用工厂模式[3]来创建各种资源。由于资源类型较多,所以将Resource作为父类,所有类型的资源都继承该类。而对于每一种Resource,资源管理模块都提供一个相应的管理器进行管理,它们都继承自ResourceManager。各种类型的资源管理器负责管理相应的资源池,并可以对资源进行检索、加载和销毁。
3.3场景管理模块
在系统开发过程中,一个很重要的环节就是对复杂场景的有效管理。一个普通的地理环境场景,很有可能包含成千上万个模型,每个模型又由成千上万个多边形组成,因此需要一个场景管理模块来负责场景的组织和管理,在其中起核心作用的是场景管理器。场景管理器通过场景节点来封装场景元素数据。在场景管理器中,场景节点通过层次关系来描述场景元素之间的位置联系,它是场景中实际移动变换的基本单元[4]。场景管理模块的组织结构如图4所示。
场景节点SceneNode主要用来将动态的对象绑定到节点之上,节点则保存其所在的位置,使其可以判定对象所在的位置,同时也可以将节点绑定到另一个节点上,变为其子节点,这样通过移动父节点就可以移动所有的子节点,并且从上到下遍历树可用于快速剔除子节点。SceneManager定义了场景管理的基本行为,它是整个场景管理模块的核心类,它提供整个场景的访问入口,组织场景中的对象,管理RenderObj、Light、Camera和渲染队列等。
3.4渲染管理模块
渲染管理模块是引擎中通过与硬件交互对场景元素进行实际渲染的模块,是引擎中必不可少的部分。它从场景管理模块提供渲染队列中提取出场景元素、摄像机、光源、材质和纹理等,在屏幕上绘制出逼真的画面[5]。渲染管理模块的核心类是RenderSystem类,它接收来自场景管理模块的渲染队列,并根据给定的渲染目标以及渲染对象的类型进行高效绘制。渲染管理模块的组织结构如图5所示。
3.5输入管理模块
在传统的Windows编程中,用户所有的输入信息(如鼠标、键盘、手柄等)首先转发给Windows操作系统,然后由操作系统回调应用程序的窗口过程函数来进行相应的处理。这显然与地理环境可视化仿真系统快速响应的要求产生了矛盾。为了更快的响应用户输入,本系统中的输入管理模块使用输入管理组件DirectInput直接和硬件驱动程序进行通信,它将各种不同的硬件设备采用同样的代码进行基本处理,简化了硬件的多样性和兼容性问题,并为用户提供了统一的接口。
3.6时钟管理模块
地理环境可视化系统的绝大部分功能都需要基于时间来进行,这就需要对时钟进行有效管理。时钟管理模块需要实现简单计时、周期性计时、定时、暂停等功能。通过该模块,用户能够完成FPS数据统计、行为定时触发等操作。
3.7地理环境可视化效果
4结束语
本文首先对地理环境可视化引擎的设计目标进行了分析;然后提出了以主控模块为“链接器”来协调管理输入管理模块、资源管理模块、场景管理模块、渲染管理模块以及时钟管理模块的引擎框架结构,并对每一个模块的组织结构进行设计,对其功能进行实现。
参考文献:
[1]邓见光,袁华强.基于游戏引擎的三维虚拟漫游系统实现[J].计算机应用与软件,2012,29(3):122-124
[2]左鲁梅.三维图形引擎中的关键技术研究[D].北京:北方工业大学,2004.
[3]ErichG,RichardH,RalphJ,etal.Designpatterns:elementsofreusableobject-orientedsoftware[M].Massachusetts:Addison-WesleyLongmanPublishingCo,1995.
仿真引擎的关键技术篇5
关键词:
航海模拟器;三维视景系统;碰撞响应;开源场景图形(OSG);Bullet物理引擎
中图分类号:U666.158
文献标志码:A
0引言
随着国际航运业和现代造船技术的不断发展,船舶大型化、高速化趋势明显,通航密度也越来越大,通航安全问题备受瞩目.为提高海上航行安全,降低海事事故发生率,通常运用航海模拟器对船员进行培训和评估.国际海事组织的《STCW公约》马尼拉修正案对航海模拟器提出更高的设备要求,完善航海模拟器的功能迫在眉睫.碰撞检测和碰撞响应是航海模拟器的关键技术之一,目前的模拟系统对碰撞后的船舶往往只做简单的停船处理,碰撞响应视景真实感欠缺.若能有效解决船舶碰撞响应的真实感问题,则可进一步完善航海模拟器的性能,提高船员应急情况下的模拟操纵能力.针对该问题,笔者提出将开源场景图形(OpenSceneGraph,OSG)三维渲染引擎与Bullet物理引擎结合的技术方案,研究三维碰撞响应算法,最终将该方案成功应用于航海模拟器的视景系统中.
1技术支持
1.1OSG
OSG扩展功能突出,跨平台性和可移植性好,且具备良好的场景管理和图形渲染优化功能,能实时高效绘制并控制三维模型,支持多类型外接设备.目前,国内多数航海模拟器的三维视景系统是基于OSG开发的.
1.2Bullet
物理引擎通过为刚性或柔性物体赋予真实物理属性的方式,计算物体的运动、旋转和碰撞反应.世界三大物理引擎分别为Havok,PhysX和Bullet,其中Bullet是一个开源的、易扩展的动力学类库,可有效解决虚拟环境中可移动物体的碰撞问题,且运算快速稳定.Bullet可作为一个碰撞检测库单独使用,开发者可根据需求自行设计仿真过程.
1.3OSG与Bullet的结合
1.3.1OSG与Bullet结合的可能性
OSG和Bullet均使用四元数和三维向量表示物体的方位,用三角网格表示不规则几何体,并根据时间帧循环运行,这为Bullet与OSG的结合提供可能.OSG主要用于管理场景结构并渲染三维视景,其碰撞检测功能具有一定的局限性,无法满足用户的精确碰撞检测要求;Bullet赋予模型物理属性,提供多种碰撞检测方法,并根据动力学原理作出碰撞响应.将OSG与Bullet结合,可弥补二者自身存在的不足,提高三维虚拟场景的真实感,符合物理世界的规律.
1.3.2OSG与Bullet结合的过程
OSG与Bullet结合的过程:①初始化物理世界,即对碰撞配置对象(btDefaultCollisionConfiguration)、碰撞调度器对象(btCollisionDispatcher)、解算器(btConstraintSolver)、碰撞粗测阶段(BroadPhase)、动态世界(btDynamicsWorld)进行初始化;②定义碰撞检测,为进行碰撞检测的物体构建合适的碰撞几何体(btCollisionShape);③创建虚拟场景,设置物理世界中各物体的初始速度、位置、质量、摩擦力等物理参数;④设置回调,包括设置作用力和空间位置的回调,获取物理计算结果;⑤物理更新,根据回调获取的物体的位置姿态等参数,实时更新物体的空间位置.
4.2碰撞划痕特效模拟
根据碰撞检测阶段获取的碰撞接触点的位置参数,将碰撞接触点依次连接,可实时绘制船舶碰撞的划痕,即:从连续碰撞的第2个碰撞接触点p2开始绘制划痕;将当前获取的碰撞接触点pi与前一个碰撞接触点pi-1相连,形成线段pi-1pi;每产生一个新的碰撞接触点,便绘制一条线段,直到下一次碰撞检测无碰撞接触点时停止本条划痕的绘制.若某时刻又产生新的碰撞接触点,则开始一条新划痕的绘制.碰撞划痕特效见图6(a).
每条划痕实际上是连接一次连续碰撞过程中的所有碰撞接触点p1,p2,…,pi-1,pi,…,pn的折线段.为使折线段更加光滑,可适当提高碰撞检测的频率.
4.3碰撞爆炸特效模拟
碰撞爆炸特效的产生主要借助OSG的粒子系统osgParticle实现,在每次连续碰撞的第1个碰撞接触点位置模拟爆炸的效果.碰撞特效主要运用OSG粒子系统中ParticleEffect中的ExplosionEffect模拟爆炸效果,FireEffect模拟火的燃烧效果,ExplosionDebrisEffect模拟爆炸后的四散颗粒效果,以及SmokeEffect模拟爆炸后的烟雾效果.碰撞爆炸特效见图6(b).
5结束语
将OSG三维渲染引擎与Bullet物理引擎结合以解决航海模拟器中船舶碰撞响应问题.根据刚体动力学相关理论和能量守恒定律,以Bullet的刚体碰撞响应原理为基础,引入船舶碰撞动力学模型,运用ProjectedGaussSeidel迭代法,根据船舶碰撞前的速度、角速度等物理参数,算出碰撞后的相应参数,进一步推算碰撞后船舶的位置姿态,并进行实时更新.此外,还根据碰撞检测阶段求得的碰撞点的位置,实时绘制划痕并加入爆炸特效,并实时更新这些特效的位置和姿态,使其随船舶的运动位置和姿态的改变而改变.
该方案创造性地在航海模拟器的视景系统中加入物理引擎Bullet,不仅可完善碰撞响应的仿真效果,而且符合物理规律,能提高视景的真实感和逼真度.
参考文献:
[1]关克平,江靖楠,王静波.基于OSG的船撞桥碰撞检测的研究[J].中国航海,2014,37(2):4953.
[2]施朝健,陈锦标,胡勤友.船舶操纵模拟器开发和应用的全球协作[J].上海海事大学学报,2007,28(1):16.
[3]於文.基于OSG的航海模拟器视景系统关键技术研究[D].厦门:集美大学,2012.
.IntJTechnol&DesignEducation,2012,22(3):311327.
[5]张靖.虚拟现实技术在吊装仿真与方案制定中的应用[D].大连:大连理工大学,2009.
[6]MALiang,MARuina,CHABLATDamien,etal.Humanarmsimulationforinteractiveconstrainedenvironmentdesign[J].IntJInteractiveDesign&Manufacturing,2013,7(1):2736.
[7]有人,陈定方.虚拟现实环境中的物理模拟及物理引擎应用的研究[J].湖北工业大学学报,2008,23(2):79,22.
仿真引擎的关键技术篇6
[关键词]Unity3D;教育游戏;开发
[中图分类号]G424.1[文献标识码]A[文章编号]2095-3712(2012)10-0047-04
一、前言
《国家中长期教育改革和发展规划纲要(2010―2022年)》明确提出把创新人才培养模式作为人才培养体制改革的关键,注重学思结合,倡导启发式、探究式、讨论式与参与式等教学模式的应用,帮助学生学会学习。激发学生的好奇心,培养学生的兴趣爱好,营造独立思考与自由探索的良好环境,教育游戏能够很好地满足这些要求。目前,教育游戏还存在诸多问题,尤其是“教娱结合”方面,往往顾此失彼,最主要的原因是课程设计的教师和游戏设计的游戏师的结合出现问题。以往的游戏引擎平台虽然能做出效果比较好的交互游戏,但却很难入门和理解,而Unity3D具有入门简单、操作界面容易、可完全定制的编辑器、多种脚本语言支持以及跨平台移植设计等优势,使得对游戏外行的课程设计教师能够参与游戏设计并把课程理念融入游戏中,制作出一款真正“寓教于乐”的教育游戏。把Unity3D技术引入教学中,不仅会对教育游戏而且会对教育虚拟社区、虚拟实验室和虚拟教室等产生很大的影响。
二、Unity3D技术
(一)游戏引擎的发展及Unity3D简介
引擎诞生的时间段是1992年到1993年,当时约翰・卡马克研制的Wolfenstein3D引擎比较流行,但从技术细节还比不上“创世纪:地下世界”的引擎,但是它却更好地利用了第一人称视角的特点,快速火爆的游戏节奏,使人们一下子记住了“第一人称射击游戏”这个词。1994年到1997年是引擎的转变时间段,其中肯・西尔弗曼于1994年为3DRealms公司开发的Build引擎是一个重要的里程碑。1998年到2000年是引擎的革命时间段,从地牢到外太空,从童话世界到二战时代,从第一人称到第三人称,充分显示了Quake3引擎的强大潜力。2001年至今,有许多优秀的3D引擎出现,较为流行的有V12、MAX-FX、Geo-Mod以及Serious引擎等。Unity3D是由UnityTechnologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化及实时三维动画等类型的互动内容、多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director、Blendergameengine、Virtools及TorqueGameBuilder等交互的图形化开发环境为首要方式的一种软件,其编辑器可运行在Windows和MacOSX下,可游戏至Windows、Mac、Wii、iPhone和Android平台。也可以利用Unitywebplayer插件网页游戏,支持Mac和Windows的网页浏览。
(二)Unity3D在制作教育游戏中的优点
在教育游戏开发中,Unity3D具有以下优势:
1.Unity3D开发平台主要是MonoDevelop,这个平台可以嵌套多种编程语言,其中js和c#是最常用的两种,而js语言容易入门,这使得教师更容易学习、参与到教育游戏开发中来。
2.Unity3D几乎支持所有的跨平台设计,是目前唯一一款可以提供所有平台植入能力的三维仿真开发软件,实现了手机平台开发3D游戏和虚拟现实系统,支持flash输入格式,对于移动学习的移动平台建立具有重要的启示和意义。
3.Unity3D能够创造高质量的3D仿真系统和真实视觉效果,对DirectX和OpenGL具有高度优化的图形渲染管道,低端硬件也可以流畅运行茂盛的作物、植被景观和实时三维图形混合音频流和视频流[1],使得教育资源得到更好的呈现、教育游戏具有更好的交互性和吸引力。
4.Unity3D能够支持更大的场景、更多的展示物件以及更炫的展示效果,仅占用很小的空间,这些特性使教育游戏软件能够得到更好的应用和普及。
三、基于Unity3D引擎的教育游戏制作流程
(一)教学设计
教学设计研究的是如何设计教学过程以及如何确保效果好、效率高且富有吸引力的教学实施,以帮助学习者达到教学目标。基于Unity3D的教育游戏设计包括以下三个步骤:
1.学习者分析
学习者分析的目的是了解学习者的学习准备状态,包括学习者学习起点水平的分析、认知发展水平的分析以及学习风格和动机等因素。教学设计的一切活动都是为了学习者能够学到知识,因此能否进行有效的学习者分析是教学设计能否达到教学目标的关键因素,也是教育游戏能否满足玩家需求的重要因素。如图1所示,只有学习者分析的正确完整,游戏角色的确定才会顺利。在本项目中的“植树”游戏中,此游戏主要是针对小学生,因此针对小学生的特点进行图文并茂的动画设计将会使学生很快掌握知识。
2.教学目标阐明
教学目标分析是开发教育游戏的基础,在教育游戏中,游戏任务激发了学习者的游戏动机,驱动并维持游戏活动。[2]教学目标能否明确阐述决定了游戏任务是否清晰,这也是教育游戏中教育与游戏相互融合的关键。本项目中“植树”游戏的主要教学目标就是能够让学生掌握不同植物的特点、生长习性以及培养学生爱护大自然的情操。
3.教学策略制定
为了实现目标,满足学习需求,需要采取合适的教与学的行动,即“如何教学”。这要根据教学策略来完成。常见的教学策略有“生成性策略”、“替代性策略”和“指导性策略”等。在“植树”游戏中,根据小学生自主性不强的特点,该教育游戏主要采用指导性策略,在老师的指导下,引领学生在逼真的游戏世界中选择植被和环境,谁的植被生长得好,谁就会得到积分奖励。
(二)游戏设计
1.确定玩家角色
在一个抽象的视频游戏中,学生不会沉浸在虚幻的游戏世界中,与常规的“游戏玩家角色”具有一定的区别。作为游戏的设计者,要确定玩家,即学生需要在游戏中扮演的角色,游戏设计者必须清楚地解释玩家的角色,一个游戏提供的角色好坏是发行商是否投资这个游戏的因素之一,也是玩家决定是否会购买这个游戏。
2.定义游戏世界
游戏世界是游戏发生的地方,在教育游戏上就是学习环境的设计,定义它是一项艰巨的任务。一个游戏世界是多维度的:物理的、时间的、环境的、情感的和道德的等。这些维度都是为了服务和支持游戏的可玩性和吸引力。
3.建模
3D动作模型文件一般由3DMAX、Maya、Pro/E及Cinema4D等导出FBX文件格式,然后导入Unity3D场景中。在建模的时候要注意把模型调到中心,然后再导出FBX格式,这样可以防止Unity3D导入FBX文件中心点时位置出错。在建模过程中要选用合适的建模方法,注意模型片面的优化,要尽量用简单的建模手段,网格建模放在最后考虑,这样可以降低数据量。此外,模型的面距离不可以太近甚至相互重叠,防止出现面闪烁现象,注意单个物体的片面不要超过64K[3],将看不见的面删除,尽量减少数据量。
(三)Unity3D开发实现
1.新建工程文件,可以不导入任何资源,在制作过程中根据需要导入。
2.在Project里面建立各自资源的文件夹,常用的有asset、codes和levels等,然后根据不同文件夹的命名导入相应的材质、模型、贴图及声音等资源。
3.创建场景。场景包括环境、模型、渲染及游戏组件等,一般默认的都有摄像机,然后添加资源到场景中,也就是设置“GameObject”,可以根据需要进行相应的调节;接着对场景进行优化,比如天空盒的设置,光芒的调节,环境光以及天气的渲染,以及一些镜面反射的特效等,都可以让场景更加逼真。
4.给相应的GameObject添加组件和脚本,调试并优化脚本代码。要按照正确的步骤去调试,如果调试不正确,教育游戏就很难达到要求。调试在教育游戏的制作中起着相当重要的作用。由于MonoDevelop平台的调试跟我们用过的其他编程软件平台有很大的不同,正确的调试步骤为:在UnityEditor的Project窗口点击鼠标右键,在弹出菜单中选择SyncMonoDevelopProject,将自动运行MonoDevelop并打开对应的项目;关闭UnityEditor;在MonoDevelop中为源代码设置断点,点击调试按钮或者按F5开始调试,在自动打开的UnityEditor中选择Play按钮,断点就开始起作用了。利用断点调试,将会很容易看出程序问题,提高游戏制作效率。
5.编译。首先把所有的场景拖到ScenesInBuild的菜单中,然后编译的过程可以成网页格式,也可以成独立的软件格式,并且可以成Flash格式,也可以根据不同的平台需要进行跨平台选择。
(四)教育游戏测试和教学评价
对于已经做好的教育游戏要反复多次地进行测试,以消除bug,减少drawcall值,使得教育游戏能够顺利运作。一旦游戏前面加上教育这两个字,就对游戏的制作有了更多的要求,最主要是要“寓教于乐”。评价一个教育游戏是否成功,很大程度上看教学性和娱乐性结合得是否恰当。能够恰当地对教育游戏作出评价将会对教育游戏的设计和开发具有导向作用,从而提高教学应用效果。当前教育游戏评价指标体系还不是很完善,本项目主要是用数字化教学游戏评价体系的三维架构,即“知识”维度、“认知过程”维度和“游戏的属性”维度。知识的维度主要分为:事实性知识、概念性知识、程序性知识和元认知知识;认知过程分为记忆、理解、运用、分析、评价和创造;游戏属性分为娱乐性、游戏性、艺术性和社会性。[4]如图2所示:
图2数字化数学游戏评价体系的三维结构示意图
针对项目中“植树”游戏,用三维评价体系进行分析,让学生通过游戏对不同树种的概念、形状、特点及生长季节和规律进行理解,而不单单是对名词的记忆,进一步进行知识总结,比较并形成自己的观点。具体到这款游戏,采取比较新颖的吸引方式,游戏中,学生如果没有选择合适的季节、土壤和气候,相应的植物将会生病直至死去。植物也是生命,生命将要逝去的紧急情绪会占据游戏者的内心,其游戏属性已经上升到使得游戏者能够饱含人道主义和同情心的社会性高度,对游戏者爱护大自然的行为起到很好的引导作用。
四、结语
或许Unity3D引擎并不是最好的游戏开发引擎,但应用在教育游戏中却有很大的优势,利用Unity3D开发的产品无论在教育游戏还是在虚拟现实上仍然具有重要的探究价值。教育游戏、移动教育和虚拟现实等教育技术领域必将伴随着游戏引擎的发展继续前进。
参考文献:
[1]陈洪,马钦,海.基于Unity3d的交互式虚拟农业仿真平台研究[J].农机化研究,2012(3):184-186.
[2]杜丽,林筑英,尹兵.网络课程教学游戏开发中的VR技术应用[J].中国远程教育,2011(7):76-80.
-
编导专业面试自我介绍范文
编导专业面试自我介绍范文篇1尊敬的各位老师:您好!我的考号是XXXXXXXX.我来自炎黄故里河南XX.中原自古多才俊,在这块人才辈出的热土上,我接受了XX年的优秀教育。我骄傲,因为我..
-
文员简历自我介绍范文收集6篇
文员简历自我介绍篇1本人虽然年龄较小但不缺乏稳重性格开朗有活力。侍人热情。真诚。工作细心认真负责。有很强的组织能力和团队协作精神。对于客服、销售有很大的兴趣。有..
-
文员简历自我介绍范文五篇
文员简历自我介绍篇1本人热爱生活,性格开朗活泼,乐观向上,乐于助人,乐于进取,积极勤奋,有团队精神,拥有充实的专业知识,也有独立的思维能力,工作态度认真,乐于与人交往,对艺术有着浓厚..
-
文员简历的自我介绍范文8篇
文员简历的自我介绍范文篇1本人性格开朗与人处事融洽,对工作善始善终,能承受日益严重的竞争压力,并能在成功与失败中完善自己。活泼开朗、乐观向上、适应力强、勤奋好学、认真..
-
文员简历自我介绍范文8篇
文员简历自我介绍篇1本人吃苦耐劳、具有良好的团队合作精神,在众多的求职者中,我或许不是最优秀的',但好学上进、双手勤快、踏踏实实的我定是最努力的,我不是高IQ(智商)的,但我..
-
有关投资合同范文四篇
投资合同篇1经中国_________银行_________(下称贷款方)与_________(下称借款方)充分协商,根据《借款合同条例》和中国_________银行的有关规定签订本合同,共同遵守。第一条自..
-
实用的中秋节日记范文6篇
中秋节日记篇1今天是农历八月十五,是我国的传统节日——中秋佳节,象征着团圆。一大早,外婆就去菜场买回来很多菜,庆祝今天的节日。晚上我们全家高高兴兴地吃完团圆饭,就坐在院子..
-
大学生社会调查报告范文(10篇)
大学生社会调查报告范文篇1调查原因及目的:在我国约xxxx万网民中,xx-xx岁者占到xx.x%,而这正是大学生所处的年龄段。作为网民主体之一的大学生的上网行为是否健康,直接关系着..
-
大学生贫困生补助标准(6篇)
大学生贫困生补助标准篇1“1份关爱”:疾病是导致群众贫困的一个主要原因。据调查,南丰县因病致贫的贫困户有5950人,几乎达到建档立卡
-
农村文化建设调研(6篇)
农村文化建设调研篇1一、农村文化发展基本情况农村文化建设包括农村文明建设、农民思想道德素质提高、农村文化基础设施建设、文
