服务粒度

2024-09-10

服务粒度(共7篇)

服务粒度 篇1

0 引言

近年来随着Web服务相关标准的不断完善和支持Web服务开发的软件平台的逐渐成熟, Internet上的Web服务数量正在不断增长。Web服务发现是Web服务体系架构的重要部分, Web服务发现的任务就是从Internet上数量庞大的服务器中找到满足用户需求的服务, 其核心在于一个性能良好的服务匹配算法[1]。目前的Web服务匹配算法主要分为语法级和语义级两类。语义Web服务技术的核心是利用本体对Web服务进行本体化描述, 使其语义更加明确。语义Web服务技术发现准确率较高, 但本体推理的时间复杂性太高;并且, 准确地标注大量Web服务是一项工作量极大的事情。因此, 在当前互联网上Web服务数量与日俱增并且语义Web服务技术尚不成熟的情况下, 如何进一步提高Web服务发现的效果成为现在急需解决的问题。

1 SAWSDL

SAWSDL (Semantic Annotation for WSDL) 是在WSDL的基础上改进的W3C推荐标准, 其最初版本是Georgia大学LSDIS实验室Meteor-S小组提出的WSDL-S语言[2]。SAWSDL是通过使用本体标注方法对WSDL的元素进行扩充以表示Web服务的语义信息。通过采用外部语义模型, 服务提供者可以选择自己的领域本体以标注服务接口参数。SAWSDL文档既具有WSDL文档的结构特征, 又有语义Web服务的语义描述特征。具体表现为:

(1) 消息的结构化特征。SAWSDL服务描述中, 操作消息的类型默认为XMLSchema定义的数据类型, 消息的类型可以为XML Schema的基本类型, 也可以为XML Schema中定义的简单类型和复杂类型, 而消息类型的多样性使得消息的匹配变得比较复杂。

(2) 语义标注的不确定性。SAWSDL规范中的扩展属性model Reference可以对多种元素进行语义标注, 而且标注是可选的。这导致不同的语义Web服务发布人员或者标注人员对相同语义Web服务的标注可能不一致, 存在多样性。

(3) Model Reference属性标注复杂数据类型存在两种方式:自底向上和顶层标注, 且两种标注方法相互独立, 也可以同时存在。自底向上标注规定只标注复杂类型定义中的元素和属性, 而顶层标注的方式则只标注复杂类型本身, 复杂类型中的元素不标注。这种情形给复杂类型的比较带来了挑战。

(4) Model Reference属性标注的传媒特征。SAWSDL规范定义数据类型的model Reference属性值传播到参引该数据类型的元素上, 即元素声明的model Reference属性值应该包含其所参引的数据类型定义组件中的model Reference属性值。

2 细粒度数据参数产生

2.1 细粒度数据参数定义

定义1 (参数类型) :一个WSDL文档中的类型系统中的参数类型可以由一个五元组来表示, 即e Type=〈t Name, t Annotation, t Type, SE, base Type〉, 其中, t Name为数据类型的名称;t Annotation为数据类型的语义标注;t Type∈{bt, st, ct}表示该数据类型的种类;SE={se1, se2, …, sek}表示类型系统中定义的数据类型中的子元素, 若该数据类型不是复杂数据类型, 则该集合为空, 即SE=Φ;base Type是该数据类型的基本数据类型。

Web服务的数据语义由其输入输出的语义来表示。由此, 给出Web操作的数据语义及细粒度函数的形式化定义。

定义2 (细粒度参数) :一个细粒度参数表示成一个五元组fp=〈p Name, p Doc, p Annotation, p Type, SC〉, 其中, p Name表示参数的唯一名称, p Doc表示参数的描述文本, p Annotation表示该参数的语义标注, p Type表示该参数的数据类型定义, 且满足p Type.type=bt, p Type.SE=Φ, SC表示该参数的语义上下文, 主要由语义标注的集合组成。

从上述定义可以看出, 每一个操作参数的数据类型定义结构树中的叶子元素都可以叫做细粒度参数, 它是操作接收和产生数据的基本单位。如果叶子元素的父亲节点具有一个语义标注, 那么根据model Reference属性值的传播特性, 该元素的语义上下文包含该语义标注的概念。若SAWSDL服务中的复杂类型采用顶层标注方式, 语义上下文信息的保存有利于丰富叶子元素的语义, 并减少由细粒度数据参数的产生可能带来的信息丢失。

定义3 (细粒度数据参数转换) :一个参数p∈P到细粒度参数集合的转换可定义为一个函数τ:P→P (FP) , 其中, FP表示细粒度参数的集合。

定义4 (细粒度数据定义) :一个操作op的细粒度数据语义可以由一个二元组表示FGDS (op) =〈∪pi∈op.In{∪fpi∈τ (pi) {fpi, p Annotation}}, ∪po∈op.Out{∪fpo∈τ (po) {fpo, p Annotation}}〉。

2.2 细粒度数据参数产生

细粒度的数据语义是指每个操作参数都为原子的数据操作单元, 即具有内建基本数据类型的元素。操作数据语义的细粒度转换就是指尽量把不是内建基本数据类型的元素进行分解转化, 使得每一个接口参数的类型都为XML Scheme的内建数据类型, 即对具有简单数据类型和复杂数据类型的操作元素进行转换。通过转换, Web服务的操作参数皆为具有XML Scheme的内建基本数据类型的元素的集合, 并且每个元素表示Web输入或者输出的一个基本数据单元。

利用上述细粒度数据语义转换的思想, 将操作消息级的元素e=〈e Name, e Doc, e Annotation, e Type〉转化为细粒度元素的集合E′={e′—e′=〈p Name p Doc, p Annotation, p Type, SC}, 以利于匹配。其中, E′为实位元素e的所有叶子元素的个数。值得注意的是, 细粒度元素中增加了一个新的属性SC, 用来记录新的叶子元素的上下文信息。为了不丢失复杂数据类型的语义, 该转换算法将保存产生细粒度元素的语义路径信息作为细粒度元素的上下文信息, 即复杂数据类型的分解路径。

2.3 数据语义分解转换算法

基于操作消息级元素的转换算法 (Element Translation算法) 如下。

算法1:Element Translation (τ (p) ) :Transformation of Fine-Grained Parameter

该算法把消息级参数转化为细粒度数据的集合, 根据参数可能的类型, 该算法处理了三种不同数据类型参数的转换:内建基本数据类型转换、简单数据类型转换和复杂数据类型转换。

3 基于细粒度参数的操作匹配

算法1对SAWSDL服务的操作参数进行转换, 得到细粒度的参数元素集合, 且每个元素的类型为XML Schema的内建数据类型。提出了相似度函数data Type Sim用来比较两个基本数据类型的相似程度, 但是该相似度度量只考虑了一部分基本数据类型。两个细粒度参数pγ与ps之间的相似度定义为:

该公式表明两个细粒度参数的相似度由名称相似度、文本相似度、语义标注相似度、类型相似度和语义上下文相似度五部分组成, 且xi (i∈{1, 2, 3, 4, 5}) 为各个组成部分的权重。

最后, 操作相似度计算公式1中两个参数集合之间的相似度就可以定义为:

即对每个请求参数, 从待匹配参数集合中找出一个与之匹配程度最大的参数, 且匹配值为该请求参数的匹配度。最终, 所有请求参数的匹配值的平均值作为请求擦拭集合与待匹配参数集合的相似度值。

4 实验评价

本文实验采用的基准匹配器为SAWSDL-MX的各种变种, 包括SAWSDL-WA、SAWSDL-M0、

S AW S D L-M 0+WA、S AW S D L-M 1。其中SAWSDL-WA利用SAWSDL-Analyzer的方法, 通过递归计算请求与服务之间结构相似度来对候选服务进行排序, 节点的相似度计算涉及元素名称、数据类型、结构属性、数据实例特征等结构信息的匹配比较。SAWSDL-M0为基于SAWSDL操作参数语义标注的纯逻辑匹配器, 其逻辑匹配分为Exact、Plugin、Subsume、Subsumed-by和Fail等五个等级。候选服务将按照匹配程度Exact>Plug-in>Subsumes>Subsumed-by>Fail进行降序排列, 且语义匹配程度相同的服务将随机进行排序。

表3归纳了各匹配器在测试数据集上的平均准确率 (MAP) 与平均查询响应时间 (AQRT) 。结果表明, 完全基于语法结构的匹配器SAWSDL-WA平均准确率相对较低, 且执行时间最长。FGDSM具有0.68的较高平均准确率, 比基于机器学习的匹配器SAWSDL-MX1还好一些, 且由于避免了结构比较带来的计算代价, 平均响应时间最短。

5 小结

本文针对当前SAWSDL服务操作参数匹配方法存在的不足, 提出了一种基于细粒度数据语义的SAWSDL服务匹配方法, 并设计了细粒度参数的匹配方法。相比基于结构的匹配方法, 本方法的计算复杂度大大降低, 并保持了SAWSDL服务的基本数据语义, 使得语义Web服务的匹配方法不依赖于具体的标注方法。实验结果表明, 本方法具有较低的计算代价和较好的检索性能。

参考文献

[1]张慧明, 唐慧佳.语义web服务匹配策略研究[J].计算机应用, 2010, 30 (4) :1083-1085.

[2]王树义, 杨昊霖.基于推理和相似度计算的语义Web服务匹配策略[J].计算机应用与软件, 2008, 25 (8) :130-132.

[3]陈曦.基于语义的Web服务组合框架及关键技术研究[D].北京:清华大学, 2007.

[4]Li L, Horrocks I.A software framework for matchmaking based on semantic web technology[C]//Proceedings of the Twelfth International Conference on the World Wide Web (WWW2003) , 2003:331-339.

[5]Benatallah B, Shacid M, Rey C, et al.Request rewriting based web service discovery[C]//The Semantic Web-ISWC, 2003:242-257.

服务粒度 篇2

粒度计算GrC(Granular computering)是近几年来研究的热点内容,它以姚一豫提出的粒计算三元论(即多视角、多层次粒结构和粒计算三角形)为基本研究框架,从哲学、方法论、信息处理三个侧面进行结构化思维、结构化问题求解、结构化信息处理的深入探究,并吸纳、提炼及抽象各个学科中粒处理思想以期建立系统的、与具体学科知识无关的粒计算原理,从而指导人类问题求解和实现机器问题求解[1]。传统的观点将粗糙集理论、模糊理论及熵空间理论视作粒度计算的主要模型,但随粒度计算的发展与研究表明,粒计算不仅仅是文献[2]所认为的“信息处理方向的一种新的概念和计算范式”。其也不限于目前研究较多的粗糙集模型,模糊集模型,熵空间模型三种具体模型[3,4]。

在现实世界的信息处理中,由于粗糙集理论思想新颖、方法独特,其已成为一种重要的粒度计算模型,并已在机器学习与知识发现、数据挖掘、决策支持与分析得到广泛应用[5]。粗糙集理论与应用的核心基础是从近似空间导出的一对近似算子,即上近似和下近似,但经典的Pawlak模型中的不分明关系是一种等价关系,限制了粗糙集模型的应用,因此如何推广定义近似算子成为了粗糙集理论研究的一个重点[6]。自文献[7]最早将粗糙集理论从划分推广到覆盖,文献[8]定义了覆盖近似空间中对象的最小描述,并从内涵和外延的角度研究了覆盖近似空间中概念的近似含义,文献[9]基于对偶原则定义了两组覆盖粗糙近似算子,并研究了它们在不同邻域系统中的性质。Eric C.C. Tsang等对覆盖粗糙集的上近似进行了研究,提出了一种介于文献[7]覆盖上近似和文献[8]上近似之间的覆盖上近似算子,还有很多学者对此做出了重要贡献,上述研究使得覆盖粗糙集理论研究取得了重大的进展且得到了更广泛的应用。

覆盖粗糙集理论作为粒度计算的组成部分,其所在的覆盖粒度空间的知识如何统一表示,覆盖粒度空间的数据建模的核心粒化机理如何建立,覆盖粒度空间的合成、分解和转换如何进行,如何刻画覆盖粒度空间的多层次结构及描述其粒度结构的度量等问题为进一步研究粒度计算具有重要的意义。本文首先定义了覆盖近似空间中元素的相容类,在此基础上定义了相容关系,并由此相容关系定义了相容类中元素之间的相容度,给出了覆盖粒度空间下元素的矩阵表示,由此定义了覆盖粒度空间中基本运算,拓展了覆盖粒度空间的合成运算、分解运算和转换运算,并诱导出覆盖信息粒的概念,给出了相应的性质和结论,进一步定义了覆盖粒度空间的三种偏序关系,通过证明以此揭示了覆盖粒度空间的层次关系,最后定义了覆盖粒度空间的信息粒度、粗糙度和粗糙熵,研究了在覆盖粒度空间中多层次的粒度结构中的各种关系。上述工作无疑对于粒计算的多层次粒结构理论的进一步完善具有重要的意义。

1 覆盖粒度空间

经典的粗糙集理论是基于论域上的等价关系,由等价关系所诱导的论域上的划分来对知识进行分类,Pawlak称之为论域上给定的一个知识基。而现实世界中实际问题里往往不存在等价关系,取而代之的是覆盖相容关系或更为一般的关系,因此基于覆盖粒度空间的研究更为重要和必要,文章对覆盖粒度空间采用矩阵加以表示,将相容关系视作覆盖粒度空间的知识基,覆盖粒度空间的知识表示看作向量的表示形式,从而将其扩展到覆盖粒度空间的知识表示。

关于粗糙集、覆盖及覆盖粗糙集模型概念参见其他文献,这里不做赘述。

定义1[10] 设(U,C)为覆盖近似空间,对∀xU,称{x}C=∪{C′|xC′∧C′⊆C}为x的相容类。显然{x}C包含了与x具有不同关系的元素的集合。

定义2 设(U,C)为覆盖近似空间,定义相容关系如下:RC={(x,y)∈U×U|{x}C∩{y}C≠∅}。用SC(xi)={xjU|(xi,xj)∈RC}表示在覆盖C下所有与对象xj具有相容关系的对象的集合。由于对于∀xiU,xiSC(xi)≠∅且xiUSC(xi)=U,那么SC(xi)构成U的一个覆盖,即相容关系RC构成U的一个覆盖。

在覆盖近似空间(U,C)中,可用URC={SC(x1),SC(x2),,SC(x|U|)}表示U的一个分类。

定义3 设(U,C)为覆盖近似空间,那么U中元素xy在覆盖C中的相容度可定义为:

ρC(x,y)=|{x}C{y}C||{x}C||{x}C{y}C||{y}C|=|{x}C{y}C|2|{x}C||{y}C|

定义4 设(U,C)为覆盖近似空间,RC表示U上的相容关系,则RC的关系矩阵:

Μ(RC)=[r11r12...r1nr21r22...r2n............rn1rn2...rnn]

式中rij=ρ(xi,xj)∈[0,1]表示元素xixj相容度。

定义5 相容关系RC关于矩阵的一些运算为:

1) RC1=RC2⇔RC1(x,y)=RC2(x,y);

2) RC=RC1∪RC2⇔RC=max{RC1(x,y),RC2(x,y)};

3) RC=RC1∩RC2⇔RC=min{RC1(x,y),RC2(x,y)};

4) RC1⊆RC2⇔RC1(x,y)≤RC2(x,y)。

由上述相容关系RC可诱导出一个覆盖粒度族集,称为覆盖粒度空间。

定义6 设(U,C)为覆盖近似空间,由RC所诱导的集合族C(PC)=(NRC(x1),NRC(x2),…, NRC(xn))称之为覆盖粒度空间,其中NRC(xi)=x1(ri1)+x2(ri2) +…+xn(rin),NRC(xi)是由xi所诱导的覆盖信息粒,rij表示xixj相容的程度,”+”表示元素的并,覆盖信息粒NRC(xi)的基数为|NRC(xi)|=j=1nrij

显然,对于一个覆盖粒度空间C(PC)=(NPC(x1),NPC(x2),…, NPC(xn)),若rii=1与rij=0,ji,i,jn,则|NRC(xi)|=1,称PC为覆盖恒等关系,此时覆盖粒度最细,若rij=1,ji,i,jn,则|NRC(xi)|=|U|,称PC为覆盖全域关系,此时覆盖粒度最粗。

在覆盖粒度空间里rij揭示了元素xixj之间的相容程度,|NRC(xi)|揭示了元素xi与其他元素相容程度的总体度量,为刻画两个覆盖粒度空间的粗细关系和层次关系,可以通过偏序关系加以描述。

本文约定:C(U)表示U上所有的覆盖粒度空间的集合。

定义7 设C(PC)、C(QC)∈C(U),其中C(PC)

= (NPC(x1),NPC(x2),…, NPC(xn)),NPC(xi)=

x1(pi1)+x2(pi2)+…+xn(pin),且C(QC)=(NQC(x1),

NQC(x2),…, NQC(xn)),NQC(xi)=x1(qi1)+x2(qi2)

+…+xn(qin)。定义二元关系⪯:C(PC)⪯C(QC) ⇔NPC(xi)⊆NQC(xi),inpijqij,i,jn,简记为PCQC。称C(PC)比C(QC)更精细。同样的思想可定义严格精细的偏序关系。

显然,(C(U),⪯)是一个偏序集。

2 覆盖粒度空间的基本运算

覆盖粒度空间的运算为粒度空间粒化机理的数据建模提供了知识依据,进一步构建了人类基于覆盖粒度空间的推理基础,其中包括精确粒空间算子拓展到覆盖粒度空间以进行覆盖粒度空间之间的合成、分解与转换。

定义8 设C(PC)、C(QC)∈C(U)是两个覆盖粒度空间,C(U)上的四个算子∩、∪、-和ζ定义为:

1) C(PC)∩C(QC)={NPCQC(xi)| NPCQC(xi)

=NPC(xi)∩NQC(xi)};

2) C(PC)∪C(QC)={NPCQC(xi)|NPCQC(xi)

=NPC(xi)∪NQC(xi)};

3) C(PC)-C(QC)={NPC-QC(xi)|NPC-QC(xi)

=NPC(xi)∩~NQC(xi)};

4) ζC(PC)={ζNPC(xi)|ζNPC(xi)=~NPC(xi)}。

上式中,xiU,in,~NPC(xi)= x1(1-pi1)+x2(1-pi2)+…+xn(1-pin)。

以上四个覆盖粒度空间算子可以看作是覆盖粒度空间的交、并、差和补运算,实质是覆盖粒度空间的细化、粗化、分解和计算覆盖粒度空间的补空间,是传统等价粒度空间的精确粒度空间所定义的四个算子的自然推广。

通过定义可知,∩和∪算子用于把两个覆盖粒度空间合成一个新的覆盖粒度空间,用∩可得到一个更细的粒度空间,用∪可得到一个更粗的粒度空间,-算子用于分解覆盖粒度空间为更细的粒度空间,算子ζ可得到一个覆盖粒度空间的补空间。

定理1 设∩和∪是C(U)上的两个粒度算子,则有:

1) 幂等律C(PC)∩C(PC)=C(PC),

C(PC)∪C(PC)=C(PC)。

2) 交换律 C(PC)∩C(QC)=C(QC)∩C(PC),

C(PC)∪C(QC)=C(QC)∪C(PC)。

3) 吸收律 C(PC)∩(C(PC)∪C(QC))=C(PC),

C(PC)∪(C(PC)∩C(QC))=C(PC)。

4) 结合律 (C(PC)∩C(QC))∩C(RC)

=C(PC)∩(C(QC)∩C(RC)),

(C(PC)∪C(QC))∪C(RC)

=C(PC)∪(C(QC)∪C(RC))。

证明:通过定义显然。

定理2 设∩、∪和ζC(U)上的三个粒度算子,则有:

1) ζ(C(PC)∩C(QC))=ζ(C(PC)∪ζC(QC))。

2) ζ(C(PC)∪C(QC))=ζ(C(PC)∩ζC(QC))。

证明:通过定义显然。

定理3 设∩、∪和ζC(U)上的三个粒度算子,则有:

1) 若C(PC)⪯C(QC),则ζC(QC)⪯ζC(PC)。

2) C(PC)∩C(QC)⪯C(PC),

C(PC)∩C(QC)⪯C(QC)。

3) C(PC)⪯C(PC)∩C(QC),

C(QC)⪯C(PC)∩C(QC)。

证明:通过定义显然。

3 覆盖粒度空间多层次的粒度结构

在一个覆盖粒度空间中描述其不确定性,偏序关系起着重要作用。

定义9 设C(PC)、C(QC)∈C(U),其中C(PC)= (NPC(x1),NPC(x2),…, NPC(xn)),NPC(xi)=x1(pi1)+x2(pi2)+…+xn(pin),且C(QC)=(NQC(x1),NQC(x2),…, NQC(xn)),NQC(xi)=x1(qi1)+x2(qi2)+…+xn(qin)。定义二元关系⪯1:C(PC)⪯1C(QC) ⇔|NPC(xi)|≤ |NQC(xi)|,i≤n,其中|NPC(xi)|=j=1npij|ΝQC(xi)|=j=1nqij,简记为PC⪯1QC

定理4 设C(U)是U上的覆盖粒度空间集合,则(C(U),⪯1)是一个偏序集。

证明:设C(PC)、C(QC)、C(RC)∈C(U),

C(PC)= (NPC(x1),NPC(x2),…,NPC(xn)),

C(QC)=(NQC(x1),NQC(x2),…,NQC(xn)),

C(RC)=(NRC(x1),NRC(x2),…,NRC(xn))那么有:

(1) 对∀xiU,有|NPC(xi)|=|NPC(xi)|,则PC⪯1PC,即⪯1满足自反性。

(2) 若PC⪯1QCQC⪯1PC,有PC⪯1QC⇔|NPC(xi)|≤|NQC(xi)|,in,QC⪯1PC⇔|NQC(xi)|≤|NPC(xi)|,in,因此有|NPC(xi)|≤|NQC(xi)|≤|NPC(xi)|,即:

|NPC(xi)|=|NQC(xi)|,故in时|NPC(xi)|=|NQC(xi)|成立,即⪯1满足反对称性。

(3) 若PC⪯1QCQC⪯1RC,有PC⪯1QC⇔|NPC(xi)|≤|NQC(xi)|,in,QC⪯1RC⇔|NQC(xi)|≤|NRC(xi)|,in,因此有|NPC(xi)|≤|NQC(xi)|≤|NRC(xi)|,即|NPC(xi)|≤|NRC(xi)|,故in时⪯1满足传递性,证毕。

为了进一步刻画覆盖粒度空间的层次结构,可定义新的偏序关系。

定义10 设C(PC)、C(QC)∈C(U),其中C(PC)= (NPC(x1),NPC(x2),…, NPC(xn)),NPC(xi)=x1(pi1)+x2(pi2)+…+xn(pin),C(QC)=(NQC(x1),NQC(x2),…,NQC(xn)),NQC(xi)=x1(qi1)+x2(qi2)+…+xn(qin)。定义二元关系⪯2:C(PC)⪯2C(QC)⇔对于C(PC),存在C(QC)的一个序列C′(QC)使得|NPC(xi)|≤|NQC(xi)|,in,其中C′(QC)=(NQC(x′1),NQC(x′2),…,NQC(xn)),简记为PC⪯2QC

定理5 设C(U)是U上的覆盖粒度空间集合,则(C(U),⪯2)是一个偏序集。

证明:设C(PC)、C(QC)、C(RC)∈C(U),

C(PC)= (NPC(x1),NPC(x2),…,NPC(xn)),

C(QC)= (NQC(x1),NQC(x2),…,NQC(xn)),

C(RC)= (NRC(x1),NRC(x2),…,NRC(xn)),那么有:

(1) 对∀xiU,有|NPC(xi)|=|NPC(xi)|,则PC⪯2PC,即⪯2满足自反性。

(2) 若PC⪯2QCQC⪯2PC,有PC⪯2QC⇔对于C(PC),存在C(QC)的一个序列C′(QC),其中C′(QC)=(NQC(x′1),NQC(x′2),…, NQC(xn)),有|NPC(xi)|≤|NQC(xi)|,inQC⪯2PC⇔对于C(QC),存在C(PC)的一个序列C′(PC),其中C′(PC)=(NPC(x′1),NPC(x′2),…, NPC(xn)),有|NQC(xi)|≤|NPC(xi)|,in。因此i=1n|ΝΡC(xi)|i=1n|ΝQC(xi)|=i=1n|ΝQC(xi)|i=1n|ΝΡC(xi)|。另i=1n|ΝΡC(xi)|=i=1n|ΝΡC(xi)|ini=1n|ΝΡC(xi)|=i=1n|NQC(xi)|成立,即⪯2满足反对称性。

(3) 若PC⪯2QCQC⪯2PC,有PC⪯2QC⇔对于C(PC),存在C(QC)的一个序列C′(QC),其中C′(QC)=(NQC(x′1),NQC(x′2),…,NQC(xn)),有|NPC(xi)|≤|NQC(xi)|,inQC⪯2RC⇔对于C(QC),存在C(RC)的一个序列C′(RC),其中C′(RC)=(NRC(x′1),NRC(x′2),…,NRC(xn)),有|NQC(xi)|≤|NRC(xi)|,in

因此对于C′(QC),总存在C(RC)的一个序列C″(RC),满足|NQC(xi)|≤|NRC(xi)|,其中C″(RC)=(NRC(x″1),NRC(x″2),…,NRC(xn))。故对于C(PC)存在C(RC)的一个序列C″(RC)满足|NPC(xi)|≤|NRC(xi)|,in成立,即⪯2满足传递性。综上知(C(U),⪯2)是一个偏序集,证毕。

定理6 偏序关系⪯是偏序关系⪯1的一个特例。

证明:设C(PC)、C(QC)∈C(U)且PCQC,其中C(PC)=(NPC(x1),NPC(x2),…,NPC(xn)),C(QC)=(NQC(x1),NQC(x2),…,NQC(xn)),且NPC(xi)=x1(pi1)+x2(pi2)+…+xn(pin), NQC(xi)=x1(qi1)+x2(qi2)+…+xn(qin)。

PCQCNPC(xi)⊆NQC(xi),inpijqij,i,jn,故对∀in都有|NPC(xi)|≤|NQC(xi)|,其中|NPC(xi)|=j=1npij|ΝQC(xi)|=j=1nqij,证毕。

定理7 偏序关系⪯1是偏序关系⪯2的一个特例。

证明:设C(PC)、C(QC)∈C(U)且PC⪯1QC,其中C(PC)= (NPC(x1),NPC(x2),…,NPC(xn)),C(QC) =(NQC(x1),NQC(x2),…,NQC(xn)),由PC⪯1QC知|NPC(xi)|≤|NQC(xi)|,in成立。也即存在一个序列满足|NPC(xi)|≤|NQC(xi)|,in,证毕。

显然可得偏序关系⪯是偏序关系⪯2的一个特例。

4 覆盖粒度空间多层次的粒度结构

粗糙集模型的信息粒度表示了粒度空间信息粒大小的某种平均度量,可以用来刻画粒度空间的分类能力,同样在覆盖粒度空间中覆盖信息粒度也具有相同的含义,也能够用来刻画覆盖空间的分类能力。

定义11 设C(PC)∈C(U),C(PC) = (NPC(x1),NPC(x2),…,NPC(xn)),那么PC在覆盖粒度空间中的相容信息粒度为GΚ(ΡC)=1ni=1n|ΝΡC(xi)|n,其中|NPC(xi)|是相容信息粒NPC(xi)的基数。

定理8 设C(PC)、C(QC)∈,若C(PC)⪯C(QC),则GK(PC)≤GK(QC)。

证明:由C(PC)⪯C(QC)知NPC(xi)⊆NQC(xi),inpijqij,i,jn,故对∀in都有|NPC(xi)|≤|NQC(xi)|,其中|ΝΡC(xi)|=j=1npij|ΝQC(xi)|=j=1nqij,故而1ni=1n|ΝΡC(xi)|n1ni=1n|ΝQC(xi)|n即有GK(PC)≤GK(QC),证毕。

显然在其他偏序关系下有类似结论。

定理9 若C(PC)∈C(U),GK(PC)+ζGK(PC)=1。

证明:由定义10知:

GΚ(ΡC)+ζGΚ(ΡC)=1ni=1n|ΝΡC(xi)|n+1ni=1n|~ΝΡC(xi)|n=1n2i=1nj=1npij+1n2i=1nj=1n(1-pij)=1

证毕。

定义12 设C(PC)∈C(U),C(PC)= (NPC(x1),NPC(x2),…,NPC(xn)),那么PC在覆盖粒度空间中的粗糙度为:

Er(ΡC)=-i=1n1nlog21|ΝΡC(xi)|

定理10 设C(PC)、C(QC)∈C(U),若C(PC)⪯C(QC),则Er(PC)≤Er(QC)。

证明:由C(PC)⪯C(QC)知NPC(xi)⊆NQC(xi),inpijqij,i,jn,故对∀in都有|NPC(xi)|≤|NQC(xi)|,其中|ΝΡC(xi)|=j=1npij|ΝQC(xi)|=j=1nqij,再由定义11可知:

Er(ΡC)=-i=1n1nlog21|ΝΡC(xi)|=1ni=1nlog2|ΝΡC(xi)|=1ni=1nlog2j=1npij1ni=1nlog2j=1nqij=1ni=1nlog2|ΝQC(xi)|=Er(QC)

证毕。

定理11 设UR={X1,X2,,Xm}是一个等价粒度空间,则R的相容信息粒度退化为粗糙熵Er(R)=-i=1m|Xk|nlog21|Xk|

证明:对于等价关系R,若R(x,y)=1且R(y,z)=1则R(x,z)=1,即rij=1或0,ijn。令Xk={xk1,xk2,…,xksk},km,其中|Xk|=|[xkl]|=skk=1msk=n,因此:

-i=1m|Xk|nlog21|Xk|=-i=1m(1nlog21|ΝR(xk1)|+1nlog21|ΝR(xk2)|++1nlog21|ΝR(xksk)|)=i=1m(1nlog2|ΝR(xk1)|+1nlog2|ΝR(xk2)|++1nlog2|ΝR(xksk)|)=1nlog2|ΝR(x1)|+1nlog2|ΝR(x2)|++1nlog2|ΝR(xn)|=-(1nlog21|ΝR(x1)|+1nlog21|ΝR(x2)|++1nlog21|ΝR(xn)|)=-i=1n1nlog21|ΝR(xi)|=Er(R)

证毕。

上述结论表明等价知识库中的粗糙熵是覆盖粒度空间中相容信息粒度的一个特例。上述偏序关系⪯、⪯1、⪯2不仅刻画了覆盖粒度空间的多层次粒度结构,而且对于揭示相容信息粒度的本质具有更加深刻的描述。

5 结 语

粒计算是一种粒化的思维方式及方法论,是一种独特的基于多层次与多视角的问题求解方法。它借助粒、层、序等概念,为人类解决复杂问题提供了一个通用模型,通过粒可以将问题进行粒化,从而获得多层次的描述与理解。覆盖粗糙集理论作为经典粗糙集理论的扩展近年来得到了研究者们广泛关注,然而对于覆盖粗糙集理论的研究多集中在其构造方法、公理性质和结构度量的研究,将其规范的纳入粒计算范畴、描述其在覆盖粒度空间中统一的知识表示、基本运算,进一步刻画其在覆盖粒度空间中的层次关系,揭示覆盖粒度空间的多层次粒度结构的本质工作更有意义。

摘要:针对覆盖粒度空间中的知识表示、基本运算、层次结构及粒度结构度量问题进行分析与研究。首先,定义覆盖近似空间中对象的相容类,构造覆盖粗糙集模型的相容关系,定义相容类中对象之间的相容度,由此相容关系诱导出覆盖粒度空间的概念。其次,给出覆盖粒度空间下对象的矩阵表示,定义覆盖粒度空间中基本运算,并诱导出覆盖信息粒的概念,从而对覆盖粒度空间中粒度的大小进行了度量。接着,定义覆盖粒度空间的三种偏序关系,以此揭示覆盖粒度空间的层次关系。最后,定义覆盖粒度空间的信息粒度、粗糙度和粗糙熵,研究在覆盖粒度空间中多层次粒度结构度量的各种关系。研究结果统一了覆盖粒度空间下信息粒度的相关度量,从而为粒计算的多层次粒结构理论进一步的完善提供依据。

关键词:粒度计算,覆盖粗糙集,偏序关系,粗糙熵,覆盖粒度空间

参考文献

[1]苗夺谦,李德毅,姚一豫.不确定性与粒计算[M].北京:科学出版社,2011:132-135.

[2]Bargiels A,Pedrycz W.Granular Computing:An Introduction[M].Boston:Kluwer Academic Publishers,2002:125-130.

[3]Pawlak Z.Rough Sets[J].International Journal of Information and Computer Sciences,1982(11):341-356.

[4]Zadeh L A.Towards a theory of fuzzy information granulation and its centrlity in human reasoning and fuzzy logic[J].Fuzzy Sets and Sys-tems,1997,19:111-127.

[5]王国胤,姚一豫,于洪.粗糙集理论与应用研究综述[J].计算机学报,2009,32(7):1229-1246.

[6]王国胤,张清华.不同知识粒度下粗糙集的不确定性研究[J].计算机学报,2008,31(9):1588-1598.

[7]Zakowski W.Approximation in the space(U,Ⅱ)[J].Demonstratio Mathematica,1983,16(3):761-769.

[8]Bonikowski Z,Bryniarski E,Wybraniec U.Extensions and intentions in the rough set theory[J].Information Sciences,1998,107:149-167.

[9]Yao Y Y.On generalizing rough set theory[C]//The9th International Conference on Rough Sets,Fuzzy Sets,Data Mining,and Granular Computing,Chongqing,2003:44-51.

寒岭铁矿粒度特征 篇3

这类型铁矿一般来说规模较大, 产状简单。在辽宁省条带状铁矿主要分布在辽南台背斜的中部及背斜的西北部, 这一代均有规模不同的矿体出露。关于条带状铁矿过去都统称为鞍山式铁矿, 但是在鞍山式标准产地鞍山一带, 这种铁矿在矿物组分、矿石类型、伴生围岩、矿层厚度及矿层数目上都不相同, 这些差别可以认为是当时沉积物质成分与沉积环境的不同所致。

工作区位于辽宁省辽阳县东40km处, 行政区划属于辽阳县寒岭镇。工作区距本溪至辽阳市级公路距离约4km, 南距本溪至辽阳铁路的寒岭车站约10km。

1 矿体特征

矿区范围之内根据以往地质勘查成果和近期工作的情况, 铁矿体Fe1规模和特征:Fe1铁矿体呈层状产出, 分布于整个矿区。地表出露于矿区北部山体上, 向南埋藏于沟谷下。矿层总厚0-55米, 一般宽30-45米。单矿层厚度一般10-20米。倾角10-55°。矿石类型有赤铁矿, 磁铁矿。矿体TFe1-HP平均品位36.00%, 矿体TFe1-MP平均品位29.08%。Fe1矿层产状为较缓的向斜构造。矿层的底板为角闪质片岩类, 顶板为石英片岩类, 夹有矿石呈钢灰色, 风化后黄褐色。赤铁矿稍显红色。矿石呈不等粒变晶结构、花岗变晶结构、鳞片变晶结构。按颗粒大小可分为粗粒、细粒、极细粒三种, 铁矿物粒度一般在0.295-0.056毫米, 石英粒度也多在这之间。矿石构造有块状、条带状和条纹状三种。

组成铁矿石的矿物成分以石英、磁铁矿为主, 其次赤铁矿, 其他尚有角闪岩、阳起石、透闪石、云母、绿泥石、黄铁矿、黄铜矿、金红石等。矿石中Si O2含量平均47.42%、P平均0.046%、S平均0.063%、Mn平均0.047%。

2 构造

矿区内的褶曲为一向南缓倾斜的向斜构造。断裂构造较发育, 分布在靠近矿区的北部, 向斜构造的北翼。

3 工作方法

本次工作共测试了15件样品, 均匀地分布在铁矿层内, 具有相当的代表性。

本次粒度测试根据原鞍钢矿山公司提供分级标准分14级, 粒度测试方法采用垂直铁矿条带 (纹) 方向顺尺线测法, 在物镜 (10×) 、目镜 (12.5×) , 放大125倍条件下, 以随遇粒度截距为粒径, 分别记录在不同粒级中, 算出个粒级体积含量和累计体积含量。

4 实验结果

本次共测试15件铁矿石标本, 测铁矿5229粒, 石英3537粒。从图中可以看出, 寒岭铁矿属于细粒不均匀型矿石, 铁矿物粒度主要分布在21~147μm之间, 铁矿物平均粒度43.85μm, 脉石粒度主要分布在21~104μm之间, 脉石平均粒度为40.04μm, 铁矿物和脉石矿物粒度分布较不均匀, 符合对数正态分布, 铁矿物正累积曲线大于50%的级别在56μm以上, 略偏于细端, 且大于74μm的粒级含量为36.54%;而小于21μm的粒级含量为8.16%。

脉石矿物 (石英) 正累积含量达50%所对应的粒级为43~56μm, 比铁矿小一个粒级, 且大于74μm为17.39%, 而小于21μm只有7.08%, 脉石粒度同样较细。

5 结论

寒岭铁矿属于细粒不均匀型矿石, 铁矿物粒度主要分布在21~147μm之间, 铁矿物平均粒度43.85μm, 脉石粒度主要分布在21~104μm之间, 脉石平均粒度为40.04μm, 铁矿物和脉石矿物粒度分布较不均匀, 符合对数正态分布。脉石矿物 (石英) 正累积含量达50%所对应的粒级为43~56μm, 脉石粒度同样较细。

参考文献

[1]沈保丰, 杨春亮, 翟安民等.中国前寒武纪矿床时空分布[J].矿床地质, 2004, 23 (增刊) .

[2]宋瑞祥.中国矿产资源报告:1996[M].北京:地质出版社, 1997, 1308.

[3]姚培慧.中国铁矿志[M].北京:冶金工业出版社, 1993, 1662.

[4]沈其韩.华北地台早前寒武纪条带状铁英岩地质特征和形成的地质背景[A].程裕淇.华北地台早前寒武纪地质研究论文集[C].北京:地质出版社, 1998, 130.

[5]沈保丰, 宋亮生, 李华芝.山西省岚县袁家村铁建造的沉积相和形成条件分析[J].长春地质学院学报, 1982, (增刊) .

[6]黄崇轲, 白冶, 朱裕生, 等.中国铜矿床[M].北京:地质出版社.

磷尾矿粒度分布的研究 篇4

关键词:磷尾矿,粒度,碳酸钙,碳酸镁

贵州是我国磷矿主要分布区之一, 但是贵州磷矿品位不高, 特别是随着开采力度的加大, 磷矿趋于贫化[1]。为了满足后续磷矿加工的要求, 一般采取浮选的方法富集磷矿。富集磷矿获得磷精矿的同时也产生大量的尾矿。由于利用价值低, 磷尾矿作为一种工业废弃物被长期堆积, 对环境造成危害。而尾矿中含有较高的碳酸钙、碳酸镁和氟磷酸钙等物质, 应对其加以利用。所以对尾矿基本物性的探究对实现尾矿的综合利用有着重要的意义。

1 仪器和试剂

全自动干法激光粒度仪 ( winner3003) , 电子天平, 箱式电阻炉 ( BLMT - 1800A) , 温度数显磁力搅拌器 ( S10 - 3) 。

0. 02 mol / L EDTA溶液, 1 ∶ 3 三乙醇胺溶液1∶ 1氨水, p H = 10 的氨- 氯化铵缓冲溶液, 20% 氢氧化钠溶液, k - b指示剂, 氯化铵。以上试剂均为分析纯。

样品来自贵州瓮安福泉矿区的磷尾矿, 在110℃ 风干, 研细后装入样品袋备用。采用EDTA滴定法测定磷尾矿中钙镁等的含量[2], 结果见表1。

%

2 尾矿的粒度测定

2. 1 以水为介质测量

将未煅烧磷尾矿及不同温度下煅烧的磷尾矿在激光粒度仪中进行粒度分析。实验结果见表2及图1。

由图1 看出: ①未煅烧的尾矿表现为两个峰, 第一个约在2 μm处, 第二个在50 μm处, 而在600℃ 下煅烧的尾矿, 由于磷尾矿基本不分解, 所以粒度分布图同未煅烧的基本不变。②在700℃下煅烧的失重为9% , 在20 ~ 40μm这个地方出现一个缺口, 表明在700℃ 时此粒度下的尾矿有分解, 在2 ~ 20 μm的粒度分布有所上升, 可能是由于分解后的氧化镁水解而导致。③在750℃ 和800℃ 下煅烧的尾矿粒度分布基本一致, 在4 μm前800℃ 的频率比750℃ 略高, 在4 μm后的比750℃ 略低, 这是由于800℃ 煅烧是的分解比750℃ 的更彻底, 在测定其粒度是由于碳酸盐成分的水解后氢氧化钙解离在水中, 氢氧化镁以沉淀形式存在且表现出粒度在4 μm左右。

%

2. 2 以乙醇为介质

尾矿700℃ 煅烧后由于尾矿中碳酸盐部分已完全分解, 得到的氧化钙和氧化镁会在水中水解变成氢氧化镁沉淀, 影响沉淀结果。为消除水解干扰, 用乙醇为介质进行对照, 结果见表3 及图2 。

%

由图2 看出: ①通过观察, 未煅烧尾矿在水介质和乙醇介质中的粒度分布基本走势相同。在乙醇中的后一个峰比在水中向前移动了约10 个μm, 这是由于在不同的介质中尾矿的润湿程度不同所引起。②由磷精矿与800℃ 下煅烧的尾矿粒度相对比看出, 两条粒度频率分布基本相同。但在小于3 μm的部分800℃ 下煅烧的频率比磷精矿的频率高, 这是由于氧化镁水解后生成的氢氧化镁分布在这里所引起的。③由未煅烧的尾矿和磷精矿粒度频率比较, 磷精矿可看成一个峰, 且峰所在的位置跟尾矿第一个峰的位置一致, 都是在约3 μm处, 但是频率比尾矿大了很多, 在尾矿的第二个峰的位置磷精矿的频率大幅减少。这是由于尾矿中的碳酸盐被烧去二氧化碳后加入铵盐将钙镁变成离子后在尾矿中少部分不被反应的磷精矿所引起的。

3 结论

1) 尾矿中磷精矿和碳酸盐的分布都为0. 6 ~ 120μm, 尾矿煅烧后磷精矿的粒度分布为0. 6 ~73 μm。

2) 尾矿中磷精矿与碳酸盐是结合或附着在一起的, 当碳酸盐被煅烧放出二氧化碳, 整个骨架崩解, 导致磷精矿显现出其真实粒度所以出现了一个磷精矿的单峰。也就是说, 磷精矿和碳酸盐在所有粒度都有分布, 不能用简单的筛分将磷精矿与碳酸盐分离。

参考文献

[1]孔繁振.磷矿浮选尾矿煅烧铵盐法综合回收镁、磷试验研究[D].贵阳:贵州大学, 2008.

水泥分组分最佳粒度分布探讨 篇5

2001年实施水泥新标准以来, 我国的水泥细度呈现逐渐变细的趋势。对此褒贬不一, 多数水泥行业的专家认为这是水泥粉磨技术的进步;但混凝土行业一些专家将近年来混凝土大量出现开裂、耐久性下降的部分原因归咎于水泥比表面积偏高、细度偏细[1,2], 从保证混凝土耐久性的角度, 建议将水泥比表面积控制在一个很低的水平。在两种意见之间, 在混凝土耐久性和水泥足够程度的水化之间, 应该寻求一种平衡。水泥行业则应该寻找既能使水泥有足够程度的水化, 又不损害混凝土性能特别是耐久性的技术途径。

探讨水泥的最佳粒度分布, 对提高水泥、混凝土性能, 降低水泥工业的能源、资源消耗和环境污染都具有重要意义。以往的研究没有将水泥中的各个组分加以区分[3,4]。水泥中各组分的水化行为及其在水泥石微结构中的作用不同, 各自粒度分布对水泥性能的影响不同, 在探讨水泥最佳粒度分布时有必要分别对待。本文对水泥和水泥中熟料、混合材料的最佳粒度分布分别进行了讨论, 并特别关注熟料、混合材料组成的多元体系的叠加效应。

1 水泥、熟料的最佳粒度分布

普遍的观点认为, 如果将水泥粉磨至接近Fuller曲线, 则水泥中的大量细颗粒会导致水泥早期水化速率过快、早期水化热高、抗裂性差、与减水剂相容性不好等一系列弊端。这种观点是假设熟料与混合材料共同粉磨。在共同粉磨时, 如果混合材料的易磨性比熟料差, 则水泥中熟料细颗粒含量较多, 早期水化过快。为了提高混凝土性能, 特别是耐久性, 而大幅度加粗水泥的细度, 水泥行业是难以接受的。因为生产熟料所消耗的能源及产生的大气污染在水泥生产中占主要部分, 无论从可持续发展及绿色化生产的角度, 还是从水泥厂成本角度考虑, 将很多熟料在混凝土中充当微集料都是不可取的。

应该将水泥的粒度分布与熟料的粒度分布进行区分, 因为准确地说, 损害水泥、混凝土性能的主要是熟料的细颗粒, 而不是混合材料的。在水泥中, 熟料颗粒的粒度分布应该保证较少的粒径<3μm的颗粒, 同时最大限度地发挥其活性, 使其得到充分水化;混合材料应该比熟料显著含有更多细颗粒, 使与熟料粉混合后的水泥粒度分布尽量接近Fuller曲线。

以下的讨论假设熟料和混合材料可以分别粉磨。

1.1 水泥粒度分布的要求

1.1.1 从颗粒最紧密堆积提出的要求

广泛应用Fuller曲线来描述水泥颗粒的最紧密堆积, 其公式为:

式中:

A——筛析通过量, %;

di——各分级筛孔尺寸或分级粒径, μm;

D——混合集料中最大颗粒的直径, μm;

n——指数, 视集料颗粒形状特性而定。德国水泥厂协会提出[3]取n=0.4。

文献[5, 6]研究了用接近和不同程度偏离Fuller曲线的水泥配制混凝土, 检验混凝土的工作性、强度和耐久性, 结果肯定了Fuller曲线的实用价值, 同时指出了其简单易行的优点。

1.1.2 从最佳水泥性能提出的要求

上个世纪末S.Tsivilis等学者明确提出[7], 水泥中粒径<3μm的颗粒应该<10%, 粒径3~30μm的颗粒应该在65%以上, 粒径>60μm和<1μm的颗粒尽量减少。实际上这是从水泥的水化速率和水化程度角度提出的对熟料粒度分布的要求。

将3μm筛余=10%, 60μm筛余=0.5%代入RRSB方程即可求得一个最佳性能RRSB方程。其均匀性系数为1.31, 特征粒径为16.77μm。粒径3~30μm的颗粒含量为78.24%。以该最佳性能RRSB方程计算的典型粒径的筛余与Fuller曲线 (最大粒径80μm, 下同) 的对比见表1。最佳性能RRSB方程与Fuller曲线的累积分布见图1, 微分分布见图2。

1.1.3 最佳性能RRSB方程与Fuller曲线的比较

图1的累积分布显示, 最佳性能RRSB方程的粒度分布与Fuller曲线在粒径约13μm处相交, 粒径<13μm时前者在后者的下方, 粒径>13μm时前者在后者的上方, 但这并不意味着在粒径<13μm的所有微小区间的颗粒含量都是前者小于后者, 也不意味着>13μm的所有微小区间的颗粒含量都是前者大于后者。应结合图2的微分分布进一步分析。图2显示, 最佳性能RRSB方程0~3μm的颗粒含量低于Fuller曲线, 而3~32μm的颗粒含量高于Fuller曲线, >32μm的颗粒含量又低于Fuller曲线。为了接近Fuller曲线, 最佳性能分布需要增加<3μm颗粒和>32μm颗粒含量。图1与图2中3~13μm段两曲线的相对位置的颠倒是由于累积分布受前面颗粒含量累积结果的影响, 至粒径13μm处, 两者的累积含量相等。微分分布则可以在任意粒径范围表达微小区间的定量结果, 不受其他粒径颗粒含量的影响, 这是其优于累积分布所在。以往文献比较不同水泥的粒度分布时, 多单独使用累积分布曲线, 显得有些粗略。

笔者在国内水泥厂所见到的最接近Fuller曲线的实际水泥产品粒度分布曲线见图1、图2。该水泥的粒度分布与最佳性能RRSB方程接近, 与Fuller曲线差距很大。

用Fuller曲线计算粒径为3~65μm的筛余数据18个, 以回归分析方法得到RRSB方程, 相关系数为0.993, 均匀性系数为n=0.55, 特征粒径为x′=22.7μm。该RRSB方程与Fuller曲线的对比见图3。

图3显示, Fuller曲线的粒度分布, 只在粒径<45μm的区间, 近似符合由Fuller曲线计算值拟合的RRSB方程, 粒径>45μm以后开始明显偏离。已经证实, 绝大部分水泥的粒度分布非常近似符合RRSB方程。可以推论, 如果不是将几种具有不同粒度分布的颗粒进行混合, 单纯通过粉磨的方法不可能得到符合Fuller曲线的水泥。

1.2 熟料的最佳粒度分布

硬化水泥石的强度与其孔结构和孔隙率有关[8,9], 粒度分布对强度的影响主要体现在: (1) 水泥颗粒原始堆积密度; (2) 水化速率和水化程度。从减小水泥石孔隙率的角度考虑, 应综合这两个方面的作用, 使水泥颗粒既保证有足够的水化程度, 也保证尽量接近最紧密堆积, 减小颗粒堆积空隙率。对于熟料应该着重考虑水化程度;对于混合材料应该着重考虑堆积密度。最佳性能RRSB方程体现了水化速率和水化程度的要求, Fuller曲线体现了粉体堆积密度的要求。

文献[10]证明了水泥颗粒分布的均匀性对水化过程的影响, 得到当比表面积相同时, 水泥颗粒越均匀, 则水泥水化越快, 水泥浆体的强度也愈高的结论。文献[9]从理论上分析了颗粒级配对堆积密度和水化速度的影响, 结果表明, 较宽的颗粒分布对应于较大的堆积密度, 较窄的颗粒分布对应于较快的水化速度。这些研究均以熟料颗粒为对象, 讨论的是熟料的粒度分布。上述的最佳性能RRSB方程, 实际上主要是从水化程度考虑的, 是熟料最佳粒度分布的一种表述。

文献[11]进行了与本文类似的探讨, 指出硅酸盐水泥的适宜粒度分布RRSB方程的特征粒径为21.4μm, 均匀性系数为1.17。但RRSB方程的参数与本文的最佳性能RRSB方程有明显区别。

日本生产的一种早强硅酸盐水泥, 比表面积440m2/kg, 典型粒径的筛余见表2。该水泥1d、3d和28d抗压强度分别为25MPa、47MPa和71MPa, 其熟料与通用水泥的熟料基本相同, 只是KH略高。熟料3d和28d抗压强度分别为29MPa和57MPa。

注:Fuller曲线的均匀性系数和特征粒径使用Fuller曲线计算筛余值, 用回归分析计算RRSB方程得到。

早强水泥的粒度分布与Fuller曲线、最佳性能RRSB方程的比较见图4。

由图4可以看出, 早强水泥的粒度分布与最佳性能RRSB方程接近, 而与熟料强度比较, 早强水泥表现出很好的强度性能, 近似地证明了最佳性能RRSB方程在发挥熟料活性、提高水泥强度方面的有效性。

一定时间熟料水化深度与水化时间的关系可用下式表示:

式中:

X———水化深度, μm;

t———水化时间, d。

假定水泥颗粒为球形, 按上式计算的不同粒径水泥颗粒完全水化的时间见表3。

表3显示, 30μm的熟料颗粒完全水化需要8年以上的时间, 40μm的熟料颗粒完全水化需要27年的时间。图5[12]表明9~25μm的熟料颗粒在90d以后仍有很好的强度发展。

对于熟料的水化速率和水化程度, 尽量使用定量的概念显得十分必要。从混凝土性能角度考虑, 一定数量的粗熟料颗粒, 可以使其具有持续水化的能力, 能够保证足够的后期强度, 并使混凝土早期的裂纹具有“自愈合”能力。为了达到这一目的, 应该指明需要熟料颗粒粗到什么程度。混凝土行业抱怨现在的水泥太细, 首先没有区分熟料和混合材料各自的粒度分布;其次也没有明确指出哪个粒径范围的熟料颗粒偏多。事实上, 明显损害混凝土性能的是粒径<3μm的熟料颗粒。从混凝土性能角度关注的是水泥中的细颗粒;水泥行业对水泥细度主要关注的是80μm或45μm的筛余。谈到水泥粗细, 很多时候混凝土和水泥行业谈论的不完全是同一个问题, 部分原因是混凝土行业对熟料粒度分布缺乏精细的定量描述。

从保证混凝土性能和熟料尽可能完全水化角度确定熟料粒度分布的关键在于, 熟料颗粒必须有足够窄的粒度分布, 以保证过快水化的粒径<3μm的细颗粒很少, >60μm水化程度很低的粗颗粒也很少。

2 混合材料的最佳粒度分布

2.1 混合材料的填充效应和活性效应

英国著名水泥化学家H.F.Taylor将水泥浆体中结晶度差、尺寸细小的C-S-H凝胶粒子称为L (light) 粒子;尺寸较大、致密的结晶物质称为H (hard) 粒子。指出在空隙率一定时, 对于水泥石的强度存在一个最佳的H/L粒子比。廉惠珍教授定量分析了H/L粒子比与水泥石强度的关系[13], 证实和发展了Taylor的观点。这一观点从结构化学的角度阐明, 在硬化水泥浆体中, 必须存在一定数量的未水化物质。这些未水化物质可以是熟料, 也可以是混合材料。与混合材料比较, 以未水化熟料颗粒充当H粒子, 其物质消耗 (包括能源和原料) 和环境的代价要高很多。

对于混合材料有一种过于强调其化学反应能力的倾向, 而有些忽视了其物理作用 (主要是颗粒填充效应) 。例如GB/T12957—2005《用于水泥混合材料的工业废渣活性试验方法》采用石灰吸收值作为混合材料的活性指标, 即反映了这一观点。文献[14]试验结果已经证实, 混合材料的物理作用同样不可轻视。

矿渣粉随着比表面积增加, 其活性效应和填充效应都会明显增强。活性指数实际上是混合材料活性效应和填充效应的综合反映。

有研究证实[15], 粉煤灰要在14d以后才能发生火山灰反应, 即使在60d龄期, 火山灰反应率也只有7%~12%。粉煤灰活性指数随比表面积的变化见图6。

由于粉煤灰的火山灰反应速度很慢, 随着比表面积增加, 其活性指数的增加主要依赖于其填充效应的增强。

文献[16]将粉煤灰和熟料 (加入6%的石膏) 分别粉磨至不同的细度, 各自组成一个比表面积递变的系列。将不同细度粉煤灰和不同细度熟料粉按粉煤灰∶熟料=1∶3的比例混合, 尽量使混合后水泥的比表面积接近410m2/kg。熟料粉的比表面积在318~440m2/kg之间递增, 粉煤灰的比表面积在634~273m2/kg之间递减。得到的5个水泥样品的物理性能见表4。

表4数据表明, 在保持粉煤灰比例和混合后水泥比表面积不变的前提下, 当熟料逐渐变细而粉煤灰逐渐变粗时, 水泥的3d强度稍有增加, 而28d强度基本不变, 这一结果充分显示了粉煤灰填充效应的重要。

混合材料的填充效应, 使得水泥在水化之前尽量达到较高的堆积密度。胶凝体系的堆积密度将直接影响到其净浆、砂浆和混凝土的流动性以及硬化浆体的孔隙率和孔结构, 从而影响混凝土其他一系列相关性能:强度、耐侵蚀性、抗渗性和抗冻性等[17~19]。

2.2 混合材料的最佳粒度分布

混合材料的活性效应较熟料弱, 因此混合材料在水泥中的作用应该注重于填充效应。混合材料的最佳粒度分布应该是, 混合材料与熟料 (熟料颗粒接近最佳性能的RRSB方程) 混合以后, 水泥的粒度分布尽量接近Fuller曲线。因熟料粒度分布和混合材料的掺量不同, 混合材料的最佳粒度分布无法有一个具体的数据。总体说来, 混合材料应该明显细于熟料。

图2表明, 符合最佳性能RRSB方程的熟料与Fuller曲线比较, 粒径<3μm的颗粒显著偏少。据此确定, 以混合材料填充最佳性能RRSB方程与Fuller曲线相差的细颗粒部分, 混合材料粒径<3μm的颗粒应显著多于熟料粉。文献[20]指出, 为了最大限度地发挥细颗粒的填充作用, 细颗粒的直径应该为粗颗粒的0.414倍。也有文献[6]指出这一数值为0.315。最佳性能RRSB方程的特征粒径为16.8μm, 理论上混合材料的特征粒径至少应在10μm以下。

2.3 混合材料的细度限制

虽然分别粉磨明显增加了水泥中的细粉含量, 但距离Fuller曲线的要求仍有一定差距。从水泥实际生产角度考虑, 这一差距难以完全消失;从水泥、混凝土性能角度考虑, 也难以完全消失。

2.3.1 设备能力的限制

依靠目前常用的粉磨设备, 很难得到大量粒径<0.1μm的混合材料颗粒, 一些特殊粉磨设备可以制造粒径<0.1μm的粉体, 但其电力消耗难以接受。

虽然理论上混合材料的粒径为熟料粒径的0.414倍, 可以最大限度地增加水泥的堆积密度, 但在能源消耗和成本可以接受的范围, 混合材料的粉磨细度只能做到明显细于熟料, 而难以使混合后的水泥粒度分布满足Fuller曲线的要求。

2.3.2 水泥、混凝土性能要求的限制

胶凝材料中含有过多的微细颗粒, 即使这些颗粒是化学反应能力较弱的混合材料, 也会加大水泥、混凝土的收缩, 增加开裂的危险。虽然将矿渣粉磨至大量含有粒径<5μm颗粒的程度, 可以充分发挥其填充效应, 同时提高其早期水化速率和水化程度, 但是, 混凝土中加入一定数量比表面积约450m2/kg的矿渣粉即会增加混凝土的收缩[21], 并且, 矿渣粉比表面积越高, 其收缩越大[22]。从防止混凝土收缩开裂的角度, 矿渣粉的粒径有一个低限。文献[5, 6]从优化混凝土性能的实用角度提出, 可以允许胶凝材料的细颗粒含量稍微低于Fuller曲线的要求。通常使用的粉煤灰对混凝土的收缩开裂有抑制作用[23], 可以通过粒度分级或粉磨的方式进一步降低其细度, 以充分发挥其填充效应和活性效应。

3 结束语

1) 水泥过细对混凝土性能特别是耐久性有害, 这一论题有必要进行细致的分解。基于这种观点, 本文分别提出了水泥、熟料和混合材料的最佳粒度分布理论, 期待其有助于水泥粉磨技术和水泥性能的提高。

2) 计算了最佳性能RRSB方程的参数, 和与Fuller曲线最接近的RRSB方程的参数。可供此方面的定量研究和实际生产时参考。

3) 微分分布有利于不同粒度分布的粉体进行更加精细的比较, 与累积分布共同使用可以得到更加明确的结果。

数据仓库模糊粒度模型的研究 篇6

模糊粒度模型在决策支持及信息管理系统的局势分析中发挥着重要作用。人们在解决问题时, 能从几个不同的粒度世界去分析和观察同一个问题, 并且很容易从一个粒度世界转到另一个粒度世界。为了描述这个现象, 建立了一种商结构的形式化体系, 给出了一套解决信息综合、启发式搜索、路径规划和推理等领域问题的理论和算法, 并已有一些研究和应用。目前, 关于模糊粒度模型的研究有Pawlak的“粗糙集理论”、Zadeh的“模糊集理论”和张铃等提出的基于上空间粒度计算, 有许多学者在模糊粒度计算领域进行了研究、以不同粒度求解问题的商空间模型已在模糊粒度领域引起了同行的关注, 其着重点是研究不同粒度世界之间相互转换、相互依存的关系, 及研究不同粒度问题之间的转换以及确定粒度模型与模糊粒度模型之间的关系。

本文提出利用学籍管理系统中的有关数据基本表, 进行分析、综合, 先建立确定粒度模型;再将确定粒度模型转换成模糊粒度模型, 利用模糊粒度模型对信息管理系统中的信息进行分析、研究, 实现数据仓库联机分析处理。

2. 定义和符号

Zadeh于1979年在文献中提出了模糊粒度的概念, 文中定义信息粒度为一个命题:X的值程度A隶属于模糊子集G包含于U, 其中X是U上的变量, X的值是U上的一个实体, 写成:g=X is G is A, 形式上被记成:g={∈U:X的值 (V (x) , V是U上的赋值符号) 是以程度A隶属于模糊子集G包含于U}, 很显然A∈【0, 1】。以模糊集的观点, 此处的A是模糊隶属度函数U|G;而以辑学观点, 此处的A是所建立的命题的模糊针织或概率。

通过二元关系定义子粒。设S= (U, A, V, f) 是信息系统, B:V→U二元关系, 其中U是所讨论对象的全集, A是属性集, V是属性值集, f是信息函数。用B定义粒是如下形式:g={u∈U:uBp, p∈V}显然g是清晰还是模糊完全取决于B的特性。设有两个关系B和D, 如果B包含于D, 则按B将全域划分的粒比按D将全域划分的粒更细, 在这种情况下, 也可以将不同大小的粒度分成不同粒度层, 并在不同层上进行各自分别处理。

在实际应用中, 如果粒度太细, 搜索空间庞大, 容易陷入组合

爆炸的情况;如果粒度太粗, 又会失去一些有用的信息, 因此需要从已知知识合成不同粒度知识。

设 (X1, P1, f1) 、 (X2, P2, f2) 是 (X, P, f) 的商空间, X1, X2对应的等价关系分别为R1, R2。

定义1:X1, X2的合成空间X3, 其对应的等价关系为R3。X3是X1、X2的细粒度合成空间, 满足R (x, y) ≡ (R1∩R2) (x●y) .

用划分来表示合成;设划分X1={a1}、X2={b1}, 则X1和X2的合成X3={a1∩b1|a1∈X1, b1∈X2}.X1和X2的积X3=X1●X2对应于等价关系R1∩R2的划分, 可以证明R1∩R2是一个等价关系。

定义2:X1, X2的合成空间X1, 对应的等价关系为R1, X1是X1、X2的粗粒度合成空间, 满足R1 (x, y) ≡ (R1∩R2) ● (x, y) 。其中 (R1∪R2) ●是 (R1∪R2) 的传递闭包, 用划分便是合成设x1和x2的和对应于传递闭包 (R1∪R2) ●的划分, 记x1=x1+x2可以证明 (R1∪R2) 是一个等价关系。

粒度和等价关系有着密切的关系。本节主要是对粒度合成技术在实际应用中的推广和补充, 即如何从已知知识合成粒度知识, 并能方便地从几个不同粒度世界去分析和观察同一个问题, 从而降低问题求解的复杂性。

3. 模糊粒度模型的建立方法

以高校学籍管理系统为例, 在学籍管理系统基础上建立数据库, 并利用高校学籍管理系统中的信息数据导出数据库中低粒度表;再导出数据仓库中的高粒度表;最后根据隶属度函数分析, 得出模糊粒度表;将高校学籍管理系统中的关系表中大量的数据进行分析、综合, 并且对导出的模糊粒度表进行分析、综合, 从而建立一个科学的数据仓库模糊粒度模型。

模型建立过程如下图所示:

注:该成绩表中有30条记录, 分别是该班级30名学生数据仓库这门课程的成绩。下面由数据库中的学生成绩表 (低粒度表) 导出对应的确定粒度表 (高粒度表) 。

注:按照上面学生成绩表中的学生成绩将其成绩划分成优、良、中、及、不及五个等级, 五个等级对应的成绩分布如上表中成绩分布所示, 其对应的人数如上表所示, 总人数30人。

下面由确定粒度表 (高粒度表) 导出模糊粒度表, 如下表所示:

注:上面模糊粒度表的人数比例是从我自己观点出发, 根据隶属度函数计算所得, 该人数分布成正态分布。考虑到管理层不同的管理人员或决策者出发点不同, 可能会出现不同的人数比例计算结果, 但是有一点肯定不会改变, 即就是他们计算得出的人数比例分布一定成正态分布, 并且他们大多数人计算出得人数比例基本相同, 出入不大。这就突出了模糊粒度模型在信息管理系统应用中有很大的弹性, 比较灵活, 有利于数据仓库联机分析处理更好地进行, 从而大大地减轻了管理人员的负担。尤其在Oracle数据库中, 由于数据信息量大, 记录条数比较多, 通常会出现数据繁杂, 信息爆炸现象。但是将模糊粒度模型应用到大型信息系统中去, 会有效地避免信息爆炸现象。

模糊粒度模型的建立过程:

Ⅰ用适当的数学方法对问题进行描述

在数据仓库模糊粒度模型的建立过程中, 引用概率论和统计学对信息管理系统中的信息数据进行计算、分析, 由于该模型是模糊的、不确定的, 因而使用隶属度函数对模糊粒度表中数据进行计算, 得出结果后检验其是否符合正态分布规律 (一般分布规律) 。

Ⅱ采用各种数学方法和计算机工具求解模型

本文在信息管理数据模糊粒度模型的基础上, 设立了辅助决策数学模型和相关指标临界值, 使系统自动报警, 充分发挥了决策作用, 同时也对模型进行了求解。

Ⅲ模型建立步骤和方法

本文在学籍管理系统的基础上, 由系统中的基本表导出确定粒度表, 进而得出模糊粒度表;利用隶属度函数对模糊粒度表中的信息数据进行计算、分析, 检验检验其是否符合正态分布规律, 再将各模糊粒度表进行分析、综合, 从而建立一个科学的数据仓库模糊粒度模型。

4. 应用和分析

在信息管理系统和智能辅助决策IDSS中, 根据粒度化历史数据变动情况和查询统计要求, 可使业务流程数据与决策信息形成有效流转, 在信息管理数据模糊粒度模型基础上, 设立辅助决策数学模型和相关指标临界值, 使系统自动报警, 充分发挥辅助决策作用。假设某粒度级因素项的数据量为X, 关联因素项数据量为Y, 数据挖掘分析结果项为Z, 那么建立辅助决策数学模型, 假若, X与Y的增长量分别为dx、dy, 就对应一个分析结果项变化量dz, 其关系为积分方程:

在上式中, 把指标临界值分别设为x=x0, y=y0, z=z0, 各粒度级因素项的数据量分别设为x1, x2, ……xn;各关联因素项数据量分别为y1, y2, ……yn;各数据挖掘所获得的分析结果项分别为z1, z2, ……zn。这些值, 有的情况是离散值, 但大多数情况是连续值或分段连续值, Z为积分曲线。

上面辅助决策数学模型是建立在模糊粒度模型的基础上, 它可以有效地自动对信息管理系统中的数据信息进行处理、衡量, 从而大大地减轻了管理人员和决策者的负担。

数据仓库模糊粒度模型应用到信息管理系统中, 它可以对现实中一些模糊的问题或者决策者难以驾驭的问题进行处理。由于实际应用中信息往往是不完全、不精确或不确定的, 有时很难对粒度粗细进行划分。在现实生活中, 比如天气情况“晴”、“多云”、“阴”等都很难有个“界限分明”的不相交的分类, 有时甚至连相交与否都说不清, 只能模糊地进行分类。从上述分析可知, 现在的数据仓库联机分析处理大多是基于静态、确定、有限、历史的数据仓库集进行研究的, 而对当今信息系统中数据信息的流动性、快读变化性、无限性和不确定性的特点, 目前的联机分析处理技术需要重新考虑、选择, 甚至再研发。而数据仓库模糊粒度模型完善了这一方面的缺陷, 使得数据仓库联机分析处理能够很好地对信息管理系统中的信息数据进行处理, 给决策者大大地提供了方便。

5. 结束语

本文提出数据仓库模糊粒度模型, 并将其应用于学籍管理系统。针对实际问题, 将数据仓库模糊粒度模型进行了推广和应用。首先提出了粒度的概念, 并介绍了粒度的等级划分, 阐述了粒度和等价关系之间的紧密联系, 将粒度合成技术在实际应用中进行了推广和补充, 引入确定粒度模型的概念, 在此基础上, 建立了数据仓库模糊粒度模型。将确定粒度模型与模糊粒度模型进行了比较, 充分体现了模糊粒度模型的实用性和优越性。

通过本文的讨论, 基于模糊粒度模型理论方法是采用概率统计方法研究粒度的计算方法, 那么它就可以有效地应用于信息管理系统中进行统计和分析, 既可以使得数据仓库联机分析处理更好的进行处理, 又可以大大地降低问题的复杂性, 从而减轻决策者和管理人员的负担。

参考文献

[1]W.H.Inmon, building The Data Warehouse Third Edition[M]John Wiley﹠sons, Inc.2002

[2]Zhang L.Zhang B.The Quotient Space Theory Of Problem Solving Fundemental Information.2003.59 (2-3) .287-298

[3]W.H.Inmon, building The Data Warehouse.Practice Hall, 1992

[4]W.H.Inmon, R.D.Hackathorn《Using The Data Warehouse》[M].John Wiley﹠sons.Inc, 1994

若干细粒度三维交互算法的实现 篇7

目前市面上的三维图形库如OpenGL、Direct3D等, 以及商用图形引擎和开源图形引擎都不提供三维交互算法的支持, 而在三维软件中尤其是三维编辑软件中涉及到大量三维交互操作, 如3Dmax、Maya、Inventor、SolidWorks等三维建模软件存在大量的三维细粒度交互操作[1]。但这些软件是商用三维建模软件, 其中的交互算法尚未公布于众。

对整个三维场景或者三维场景中某个基本操作对象而言, 其空间位置的交互主要通过两种方法实现:一是通过改变视点和观察点来得到三维交互操作效果, 这种方法计算量小, 具有交互简单快捷的优点, 但操作起来正确度不高, 而且只能实现场景的整体交互, 不能操作场景中单个实体;二是通过改变场景或实体的各种矩阵来实现, 这种方式计算量小, 操作准确到位[2]。目前三维交互技术中一般不是改变顶点空间坐标, 而是广泛采用通过世界矩阵和投影矩阵的改变实现三维空间位置交互[3]。为减少运算量及提高操作精度, 论文提出一种以向量运算为主, 以物体自身坐标系为中心的三维交互算法。

实现三维图形交互涉及到屏幕坐标系、物体坐标系、世界坐标系、Camera坐标系之间的转换关系[4]。推导三维交互算法, 需要建立数学模型, 构建一个空间几何模型。

为描述方便, 这里命名物体自身坐标系对应的坐标轴为局部标架 (下文都称局部标架) 。这个局部标架显示在物体的中心点, 局部标架的三个轴对应物体自身坐标系的轴在世界坐标系中的朝向[5]。本文将分别给出用户沿局部标架原点所在的面 (此面和近平面平行) 、局部标架的坐标面、局部标架的三个坐标轴拖动此物体和绕坐标轴旋转物体的算法。这些算法假定鼠标左键按下时开始拖动物体。

1 沿局部标架的原点所在的面拖动物体

此交互要求实现用户拖动选中的物体沿和屏幕平行的面移动, 拖动过程中保持鼠标点和物体在屏幕上的相对位置不变。

算法实现方法:把鼠标位置投影到世界坐标系中局部标架原点所在的面上, 此面和视平面 (照相机的近平面) 平行, 再把物体平移到此投影点位置, 如图1所示。

算法实现步骤:

(1) 算出屏幕上鼠标点对应到三维空间中的点P (在世界坐标系的位置) ;

(2) 求出过局部标架原点并和视平面平行的面的法线, 也即Camera视向量的负向量, 确定此面为F;

(3) 把点P投影到面F上得出投影点Pproj (求Pproj分两种情况, 透视投影和正交投影。透视投影情况下:从Camera 所在位置向点P发出一个射线, 此射线和面F交点为Pproj;正交投影情况下:过点P沿视线方向和面F的交点即是Pproj) ;

(4) 把物体移动到Pproj

2 沿局部标架的坐标面拖动物体

此交互要求实现用户拖动选中的物体沿局部标架某个已经选择的坐标面移动, 拖动过程中保持鼠标点和物体在这个坐标面上的相对位置不变。如图2所示。采用的算法思想是保持鼠标和局部标架原点在局部标架坐标面上的相对位置关系不变。

算法的推导过程如下:

在图2中, O0, O1, …, On是局部标架原点的运动轨迹, S0, S1, …, Sn, 是过鼠标点的视线和过局部标架坐标面的交点轨迹。由图2可知:

根据上面的推导过程, 采用以下的实现算法:

(1) 计算出鼠标左键按下时鼠标点对应到三维空间中的点P0 (在世界坐标系的位置) ;

(2) 计算出从照相机的位置开始过点P0的射线和局部标架坐标面的交点S0, 求得局部标架原点到交点S0的向量Ο0S0;

(3) 计算出鼠标拖动过程中鼠标点对应到三维空间中的点P1 (在世界坐标系的位置) ;

(4) 计算出从照相机的位置开始过点P1的射线和局部标架坐标面的交点S1, 求得局部标架原点到交点S1的向量Ο0S1;

(5) 根据公式O1 = O0 +Ο0S1Ο0S0, 算出O1;

(6) 把要拖动的物体移动到O1;

(7) 以后各时刻根据On = On-1 +Οn-1SnΟ0S0算出On位置, 并移动到On

3 沿局部标架的坐标轴拖动物体

此交互要求实现用户拖动选中的物体沿局部标架某个已经选择的坐标轴移动, 拖动过程中保持鼠标点和物体在这个坐标轴上的相对位置不变。如图3所示。

算法实现方法:保持鼠标和局部标架原点在局部标架坐标轴上的相对位置关系不变。

算法的推导过程如下:

图3中, O0, O1, …, On是局部标架原点的运动轨迹, S0, S1, …, Sn是过鼠标点的视线和经过局部标架坐标轴并和照相机右向量 (或者照相机向上向量) 平行的面的交点的轨迹, M0, M1, …, Mn是交点投影到坐标轴上的点的运动轨迹, 其中Ο0Μ0是鼠标按下时刻原点和交点连成的向量投影到选择轴上的向量。

这里选择过局部标架坐标轴并和照相机右向量 (或者照相机向上向量) 平行的面来做交点, 而没直接选择过悬着轴的某个坐标面来做交点, 因为在一些情况下鼠标在屏幕上的运动方向和在此坐标面上前后交点连成的向量方向相反, 这样导致的结果是鼠标拖动物体向某个方向移动, 物体却向相反的方向移动。

由图3可知:向量Ο0Μ0=Ο1Μ1=Ο2Μ2=Ο3Μ3

根据上面的推导过程, 采用以下的实现算法:

(1) 计算出鼠标左键按下时鼠标点对应到三维空间中的点P0 (在世界坐标系的位置) ;

(2) 计算出经过选择轴同时和照相机右向量平行的面F;

(3) 计算出过点P0并沿着视线方向的射线和面F的交点S0;

(4) 计算出局部标架原点到交点S0的向量Ο0S0投影到选择轴上的向量Ο0Μ0;

(5) 计算出鼠标拖动过程中鼠标点对应到三维空间中的点P1 (在世界坐标系的位置) ;

(6) 计算出过点P1并沿着视线方向的射线和面F的交点S1;

(7) 计算出局部标架原点到交点S1的向量Ο0S1投影到选择轴上的向量Ο0Μ1;

(8) 根据公式O1 = O0 +Ο0Ο1= O0 +Μ0Μ1=O0+ (Ο0Μ1Ο0Μ0) 算出O1;

(9) 移动物体到位置O1;

(10) 以后各时刻根据On = On-1 + (Οn-1ΜnΟ0Μ0) 算出On, 并把物体移动到On

4 拖动物体绕局部标架某个坐标轴旋转

此交互要求实现用户拖动选中的物体绕局部标架某个已经选择的坐标轴的顶点旋转, 并保持鼠标绕坐标轴顶点旋转角度和物体绕这个坐标轴旋转的角度一致。如图4所示。

算法思想:在视平面上把鼠标绕局部标架某个轴顶点的旋转当作绕这个轴的旋转。

图4中α是物体的旋转角, 对于α可以用如下的步骤求得:

(1) 求出选择轴顶点所在的面 (和视平面平行) ;

(2) 求出鼠标对应的三维空间中的点和此面的交点S;

(3) 此交点S和选择轴的顶点形成向量V;

(4) 求出向量V和Up vector形成的夹角α

在求得旋转角α后, 使用以下算法对物体实现旋转:

(1) 计算出鼠标左键按下时, 旋转角α0;

(2) 计算出鼠标拖动时下一时刻的旋转角α1;

(3) α1-α0就是绕这段时间间隔内绕轴旋转的角度, 根据角度算出旋转矩阵M;

(4) 对物体施加旋转矩阵M, 同时设置旋转角α0=α1, 转到步骤2。

5 结 论

三维图形交互涉及到大量的矩阵运算, 采用一个高效的算法可以大大提高计算机的处理速度[6]。本文给出的算法始终在世界坐标系里进行计算, 避免了在不同坐标系切换所带来的矩阵运算开销, 同时本文给出的算法主要以向量运算为主, 并且由于算法本身的简洁减少了向量的运算量, 大大提高三维交互的效率。基于本文算法实现的三维交互在实践中操作感觉良好, 在快速拖动物体过程中, 物体能紧随鼠标移动, 实现了无缝操作。

参考文献

[1]白云, 金锋, 林锐, 等.基于OpenGL的交互式三维图形软件开发工具[J].计算机工程, 2000, 26 (11) :158-160.

[2]王修晖.面向多投影显示墙的画面校正与三维交互技术研究[D].浙江:浙江大学计算机科学与技术学院, 2007.

[3]纪连恩, 张凤军, 付永刚, 等.虚拟环境下基于语义的三维交互技术[J].软件学报, 2006, 17 (7) :1535-1543.

[4]Mazza R H, Bates C.Towards a Genetic Algorithms Approach to Desig-ning 3D Polygonal Tree Models[M].Evolutionary Computation, 2002.

[5]谢志鹏, 陈锻生.用OpenGL开发三维交互式虚拟场景[J].计算机应用, 2000, 20 (8) :40-42.

上一篇:联想思维能力下一篇:价值性质