CN105574908B - 基于随机算子发生器的槽状交错层理花纹自动填充方法 - Google Patents

基于随机算子发生器的槽状交错层理花纹自动填充方法 Download PDF

Info

Publication number
CN105574908B
CN105574908B CN201510937015.5A CN201510937015A CN105574908B CN 105574908 B CN105574908 B CN 105574908B CN 201510937015 A CN201510937015 A CN 201510937015A CN 105574908 B CN105574908 B CN 105574908B
Authority
CN
China
Prior art keywords
district
random
listf
outward
stratification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510937015.5A
Other languages
English (en)
Other versions
CN105574908A (zh
Inventor
刘刚
陈麒玉
吴冲龙
田宜平
张志庭
翁正平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China University of Geosciences
Original Assignee
China University of Geosciences
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China University of Geosciences filed Critical China University of Geosciences
Priority to CN201510937015.5A priority Critical patent/CN105574908B/zh
Publication of CN105574908A publication Critical patent/CN105574908A/zh
Application granted granted Critical
Publication of CN105574908B publication Critical patent/CN105574908B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Abstract

本发明提供了基于随机算子发生器的槽状交错层理花纹自动填充方法,根据待填充区域边界及自定义中心轴,确定三个绘制中心点;利用随机函数生成器得到每一次填充过程中的中心点坐标和绘制半径,将参数及随机度等传入随机算子发生器,求取与待填充边界相交的弧段;将新的填充区添加到已填充区列表并更新;依次以中左右的顺序进行循环绘制,得到铺满整个填充区域的槽状交错层理图案。本发明利用随机函数及算子映射理论,并结合具有随机特征的槽状交错层理的特点,通过用户界面进行各参数及随机度的控制,具有很好的灵活性和可控性,可自动绘制和填充任意区域边界的槽状交错层理图案,符合国家及行业标准规范要求,可应用于数字地质图件自动编绘。

Description

基于随机算子发生器的槽状交错层理花纹自动填充方法
技术领域
本发明涉及一种基于随机算子发生器的槽状交错层理花纹自动填充方法,属于数字地质制图领域。
背景技术
在数字地质制图的过程中,带有随机特性的面状花纹符号的自动绘制及填充一直是一个难点问题。这类随机型区域面状花纹符号的填充面临边界随机变化和图案本身具有随机性等特点,其花纹符号的绘制及填充不但受到自身图案特征的限制,同时还必须符合国家及行业标准的约束和控制。
交错层理通常也称为斜层理。它是由一系列斜交于层系界面的纹层组成,斜层系可以彼此重叠、交错、切割的方式组合。其特点是细层理大致规则地与层间的分隔面(主层理)呈斜交的关系,上部与主层理截交,下部与主层理相切。斜层系互相平行或彼切割构成不同形态的交错层理。交错层理根据层系与上下界面的形状和性质通常可以分为板状交错层理,楔状交错层理,槽状交错层理等。槽状交错层理是交错层理中最为复杂的一种类型,其特点是单个层系厚度变化快,各层系底界下凹,具明显的槽状侵蚀底界。层系中的细层亦可大致平行层系底面,也可能与之相交,而且各层系倾斜方向多变,具有明显的随机特性。
随机函数及分形理论在地图制图中取得了一些应用,尤其对于具有随机特性图形的表达具有明显的优势。法国数学家蒙德尔罗布采用瑞典数学家柯克发现的“柯克曲线”作为思考海岸线问题的数学模型,通过深入研究并引进了分数维概念,1977年正式将具有分数维的图形称为“分形”,并建立了以这类图形为对象的数学分支——分形几何。现实空间和地图上有许多类似海岸线那样的不规则曲线,随机函数及分形几何为这类曲线的度量提供了数学工具。算子理论是对传统函数定义的扩展,它将函数对数集到数集的映射关系推广到空间到空间的映射,它除了使得经典分析的概念和方法更加系统外,又能使问题的认识得到深化和拓广,从而能应用于更广泛的对象。因此,算子理论对地理及地质空间数据集的映射关系可得到更加系统全面的表达。但是,对于具有随机特性的面状花纹的生成绘制及区域填充,这些理论及方法还没有得到很好的应用。
地质花纹图案的绘制及填充必须符合相关国家标准的限制,这无疑给此类地质图件的机助编绘带来了更大的困难。目前,国内外主要的地质及地理制图软件包括AutoCAD、ArcGIS及MapGIS等,这些软件都可较好支持大量规则符号的生成、绘制及自动填充。但对于具有随机特性的面状花纹图案的自动生成及填充,迄今为止大多采用手工绘制,工序复杂且其随机性不易表达。槽状交错层理就是具有随机特性的面状花纹图案中的一种,这类随机型面状图案的绘制及填充面临图案本身随机变化和填充区域边界复杂多变的双重困难,其绘制及填充算法受到自身特点、国家及行业标准的多重约束控制。
鉴于上述分析的具有随机特性的槽状交错层理的特征,以及现有随机函数、分形几何及算子理论的研究现状,有必要提出一种专门针对具有随机特性的槽状交错层理的花纹图案自动绘制及填充方法。
发明内容
为了解决现有技术的不足,本发明提供了一种基于随机算子发生器的槽状交错层理花纹自动填充方法,利用随机函数及算子映射理论,并结合具有随机特征的槽状交错层理的特点,通过用户界面进行各参数及随机度的控制,具有很好的灵活性和可控性,可以自动绘制和填充任意边界区域的槽状交错层理,符合国家标准及行业标准的规范和要求,可很好地应用于数字地质图件的自动编绘。
本发明为解决其技术问题所采用的技术方案是:提供了一种基于随机算子发生器的槽状交错层理花纹自动填充方法,包括以下步骤:
(1)输入待填充区F,将与地层层理主体弯曲方向相一致的直线设为中心轴线;
(2)确定待填充区F的边界矩形,在中心轴正方向一侧射线上选取一点pM作为中间中心点,其坐标为(xM,yM),在过pM且垂直于中心轴线的直线上,分别选取中心轴线左侧的点pL和中心轴线右侧的点pR作为左中心点和右中心点,坐标分别为(xL,yL)和(xR,yR);分别以pL、pR和pM为圆心做待填充区F的外接圆,确定3个外接圆的半径分别为RL、RR和RM
(3)设置参数,所述参数包括半径变化步长d,pL、pR和pM分别对应的循环绘制次数NL、NM和NR,以及位置随机度pR和步长随机度sR;初始化左绘制是否结束的标识变量flagL=1、中绘制是否结束的标识变量flagM=1、右绘制是否结束的标识变量flagR=1,初始化待分割区Fc=F,初始化有效绘制次数t=0;
(4)以中间中心点pM为绘制中心,初始化i=0,执行步骤(4-1)至步骤(4-9)进行绘制:
(4-1)根据中间中心点pM,利用随机数生成器Random(μ,σ)计算得到第i次的绘制中心坐标p'M(x'M,y'M)和绘制半径RM,其中,
p M ′ : x M ′ = R a n d o m ( x M , p R ) y M ′ = R a n d o m ( y M , p R )
d c = R a n d o m ( d , s R ) R M = R M - d c
(4-2)以p'M为圆心,做半径为RM的圆弧段,求取与待分割区Fc的交点个数nM
(4-3)如果nM==0,则令flagM=0;
(4-4)判断flagM==0是否成立,不成立则转下一步,如果成立则转步骤(4-8);
(4-5)以圆弧段为分界将待分割区Fc划分为F和F两部分,将F添加到已分割区对象列表listF中,即listF[t]=F
(4-6)以圆弧段为分界将待填充区F划分为F'和F'两部分,并与列表listF中所有对象做相交计算,擦除每个区对象弧段内侧部分,并更新列表listF;
(4-7)更新待分割区Fc,令Fc=F';
(4-8)令i=i+1,t=t+1;
(4-9)判断i<NM是否成立,如果成立则转步骤(4-1)继续绘制,否则转下一步;
(5)以左侧中心点pL为绘制中心,初始化j=0,执行步骤(5-1)至步骤(5-9)进行绘制:
(5-1)根据左侧中心点pL,利用随机数生成器Random(μ,σ)计算得到第j次的绘制中心坐标p'L(x'L,y'L)和绘制半径RL,其中,
p L ′ : x L ′ = R a n d o m ( x L , p R ) y L ′ = R a n d o m ( y L , p R )
d c = R a n d o m ( d , s R ) R L = R L - d c
(5-2)以p'L为圆心,做半径为RL的圆弧段,求取与待分割区Fc的交点个数nL
(5-3)如果nL==0,则令flagL=0;
(5-4)判断flagL==0是否成立,不成立则转下一步,如果成立则转步骤(5-8);
(5-5)以圆弧段为分界将待分割区Fc划分为F和F两部分,将F添加到已分割区对象列表listF中,即listF[t]=F
(5-6)以圆弧段为分界将待填充区F划分为F'和F'两部分,并与列表listF中所有对象做相交计算,擦除每个区对象弧段内侧部分,并更新列表listF;
(5-7)更新待分割区Fc,令Fc=F';
(5-8)令j=j+1,t=t+1;
(5-9)判断j<NL是否成立,如果成立则转步骤(5-1)继续绘制,否则转下一步;
(6)以中间中心点pM为绘制中心,初始化k=0,执行步骤(6-1)至步骤(6-9)进行绘制:
(6-1)根据中间中心点pR,利用随机数生成器Random(μ,σ)计算得到第k次的绘制中心坐标p'R(x'R,y'R)和绘制半径RR,其中,
p R ′ : x R ′ = R a n d o m ( x R , p R ) y R ′ = R a n d o m ( y R , p R )
d c = R a n d o m ( d , s R ) R R = R R - d c
(6-2)以p'R为圆心,做半径为RR的圆弧段,求取与待分割区Fc的交点个数nR
(6-3)如果nR==0,则令flagR=0;
(6-4)判断flagR==0是否成立,不成立则转下一步,如果成立则转步骤(6-8);
(6-5)以圆弧段为分界将待分割区Fc划分为F和F两部分,将F添加到已分割区对象列表listF中,即listF[t]=F
(6-6)以圆弧段为分界将待填充区F划分为F'和F'两部分,并与列表listF中所有对象做相交计算,擦除每个区对象弧段内侧部分,并更新列表listF;
(6-7)更新待分割区Fc,令Fc=F';
(6-8)令k=k+1,t=t+1;
(6-9)判断k<NR是否成立,如果成立则转步骤(6-1)继续绘制,否则转下一步;
(7)判断待填充区F是否填充完成,如果表达式flagL==1||flagM==1||flagR==1成立,则表示填充未完成,转步骤(4)继续填充,否则转下一步;
(8)绘制最终填充结果,构建列表listF中所有区对象,并进行可视化表达,得到铺满整个待填充区域F的槽状交错层理图案。
所述的随机数生成器Random(μ,σ)为标准C++编译环境提供的标准函数std::normal_distribution<>Random(μ,σ),函数的输入为μ和σ,函数的输出为符合高斯分布的以μ为均值、σ为方差的随机数。
步骤(1)所述的中心轴线的方向从地层层理弯曲的背侧指向内侧。
步骤(2)所述的半径RL、RM、RR满足以三个中心点为圆心的弧段与待填充区F远离中心点一侧刚好有交点存在。
所述步骤(3)所述的位置随机度pR和步长随机度sR由随机数生成器Random(μ,σ)求得,其基本值和随机度持续更新。
本发明基于其技术方案所具有的有益效果在于:
(1)本发明利用随机函数及算子映射理论,设计并实现了具有随机特征的槽状交错层理花纹自动填充方法,将随机函数及算子理论应用在了数字地质制图中槽状交错层理的自动填充及绘制中,填充结果符合国家及及行业标准的表达要求;
(2)本发明通过界面控制和随机函数的应用,既保证了得到的槽状交错层理满足其随机特性,又具有良好的可控性,而且每一次参数调整或界面响应都会触发随机函数生成器,使得填充效果更加多变和丰富,每一次的填充形态保持整体相似但绝不重复;
(3)本发明的填充结果为槽状交错层理分割的独立的区对象,得到了槽状交错层理的框架,为进一步岩性花纹的填充提供了基本层理特征及框架;
(4)本发明提供的方法可扩展到其它相似形态的随机型图案自动绘制及填充中,支持自动填充并生成高质量的地理和地质类具有随机特征的面状图案。
附图说明
图1是本发明中槽状交错层理花纹自动填充的流程图。
图2是本发明中通过填充区域边界确定中心点坐标的示意图。
图3是本发明中第t次填充的过程示意图:(a)第i次分割前初始状态;(b)用第t次新绘制的弧段将待分割区Fc划分为F和F两部分,并将F添加到已分割区对象列表listF中;(c)用该弧段将整个填充区F划分为F'和F',并擦除列表listF中每个区对象分布于弧段内侧的部分;(d)更新列表listF,并令Fc=F'。
图4是本发明中界面控制参数说明及对应生成结果图:(a)为控制对话框示意图,分别控制左、中、右中心点的基本坐标pL、pM、pR,对应的绘制次数NL、NM、NR,基本半径变化步长d,坐标位置随机度pR和步长变化随机度sR;(b)为对应于对话框参数输入下的任意区域边界的槽状交错层理填充结果。
图5是本发明中本方法的生成效果及应用实例,(a)为折线边界、向斜填充效果,(b)为曲线边界、背斜填充效果,(c)为灰岩槽状交错层理效果,(d)为砂岩槽状交错层理效果,(e)为砾岩槽状交错层理效果,(f)为泥岩槽状交错层理效果。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
本发明提供了一种基于随机算子发生器的槽状交错层理花纹自动填充方法,首先根据待填充区域边界及自定义中心轴,自动计算确定三个绘制中心点;然后利用随机函数生成器得到每一次填充过程中的中心点坐标和绘制半径,将获取的各参数及随机度等传入随机算子发生器,通过从点到空间弧段的映射,求取与待填充边界相交的弧段;接着根据区的拓扑运算,将本次绘制得到的新的填充区添加到已填充区列表,并且更新当前待填充区及历史填充列表;对三个中心点,依次以中、左、右的顺序进行循环绘制,最后便可以得到铺满整个填充区域的槽状交错层理。参照图1,本方法具体包括以下步骤:
(1)输入待填充区F,将与地层层理主体弯曲方向相一致的直线设为中心轴线(如图2所示);
(2)确定待填充区F的边界矩形,在中心轴正方向一侧射线上选取一点pM作为中间中心点,其坐标为(xM,yM),在过pM且垂直于中心轴线的直线上,分别选取中心轴线左侧的点pL和中心轴线右侧的点pR作为左中心点和右中心点,坐标分别为(xL,yL)和(xR,yR);分别以pL、pR和pM为圆心做待填充区F的外接圆,确定3个外接圆的半径分别为RL、RR和RM(如图2所示);
(3)设置参数,所述参数包括半径变化步长d,pL、pR和pM分别对应的循环绘制次数NL、NM和NR,以及位置随机度pR和步长随机度sR;界面参数设计如图4(a)所示;初始化左绘制是否结束的标识变量flagL=1、中绘制是否结束的标识变量flagM=1、右绘制是否结束的标识变量flagR=1,初始化待分割区Fc=F,初始化有效绘制次数t=0;
(4)参照图3(a),以中间中心点pM为绘制中心,初始化i=0,执行步骤(4-1)至步骤(4-9)进行绘制,结合图1中随机算子发生器部分及图3填充过程示意图作如下详细说明:
(4-1)根据中间中心点pM,利用随机数生成器Random(μ,σ)计算得到第i次的绘制中心坐标p'M(x'M,y'M)和绘制半径RM,其中,
p M &prime; : x M &prime; = R a n d o m ( x M , p R ) y M &prime; = R a n d o m ( y M , p R )
d c = R a n d o m ( d , s R ) R M = R M - d c
(4-2)以p'M为圆心,做半径为RM的圆弧段,求取与待分割区Fc的交点个数nM
(4-3)如果nM==0,则令flagM=0;
(4-4)判断flagM==0是否成立,不成立则转下一步,如果成立则转步骤(4-8);
(4-5)以圆弧段为分界将待分割区Fc划分为F和F两部分,将F添加到已分割区对象列表listF中,即listF[t]=F(如图3(b)所示);
(4-6)以圆弧段为分界将待填充区F划分为F'和F'两部分,并与列表listF中所有对象做相交计算,擦除每个区对象弧段内侧部分,并更新列表listF;(如图3(c)所示);
(4-7)更新待分割区Fc,令Fc=F'(如图3(d)所示);
(4-8)令i=i+1,t=t+1;
(4-9)判断i<NM是否成立,如果成立则转步骤(4-1)继续绘制,否则转下一步;
(5)与步骤(4)类似,以左侧中心点pL为绘制中心,初始化j=0,执行步骤(5-1)至步骤(5-9)进行绘制:
(5-1)根据左侧中心点pL,利用随机数生成器Random(μ,σ)计算得到第j次的绘制中心坐标p'L(x'L,y'L)和绘制半径RL,其中,
p L &prime; : x L &prime; = R a n d o m ( x L , p R ) y L &prime; = R a n d o m ( y L , p R )
d c = R a n d o m ( d , s R ) R L = R L - d c
(5-2)以p'L为圆心,做半径为RL的圆弧段,求取与待分割区Fc的交点个数nL
(5-3)如果nL==0,则令flagL=0;
(5-4)判断flagL==0是否成立,不成立则转下一步,如果成立则转步骤(5-8);
(5-5)以圆弧段为分界将待分割区Fc划分为F和F两部分,将F添加到已分割区对象列表listF中,即listF[t]=F
(5-6)以圆弧段为分界将待填充区F划分为F'和F'两部分,并与列表listF中所有对象做相交计算,擦除每个区对象弧段内侧部分,并更新列表listF;
(5-7)更新待分割区Fc,令Fc=F';
(5-8)令j=j+1,t=t+1;
(5-9)判断j<NL是否成立,如果成立则转步骤(5-1)继续绘制,否则转下一步;
(6)与步骤(4)类似,以中间中心点pM为绘制中心,初始化k=0,执行步骤(6-1)至步骤(6-9)进行绘制:
(6-1)根据中间中心点pR,利用随机数生成器Random(μ,σ)计算得到第k次的绘制中心坐标p'R(x'R,y'R)和绘制半径RR,其中,
p R &prime; : x R &prime; = R a n d o m ( x R , p R ) y R &prime; = R a n d o m ( y R , p R )
d c = R a n d o m ( d , s R ) R R = R R - d c
(6-2)以p'R为圆心,做半径为RR的圆弧段,求取与待分割区Fc的交点个数nR
(6-3)如果nR==0,则令flagR=0;
(6-4)判断flagR==0是否成立,不成立则转下一步,如果成立则转步骤(6-8);
(6-5)以圆弧段为分界将待分割区Fc划分为F和F两部分,将F添加到已分割区对象列表listF中,即listF[t]=F
(6-6)以圆弧段为分界将待填充区F划分为F'和F'两部分,并与列表listF中所有对象做相交计算,擦除每个区对象弧段内侧部分,并更新列表listF;
(6-7)更新待分割区Fc,令Fc=F';
(6-8)令k=k+1,t=t+1;
(6-9)判断k<NR是否成立,如果成立则转步骤(6-1)继续绘制,否则转下一步;
(7)判断待填充区F是否填充完成,如果表达式flagL==1||flagM==1||flagR==1成立,则表示填充未完成,转步骤(4)继续填充,否则转下一步;
(8)绘制最终填充结果,构建列表listF中所有区对象,并进行可视化表达,得到铺满整个待填充区域F的槽状交错层理图案。如图4(b)所示是对应于图4(a)参数设置的任意区域边界的槽状交错层理填充效果。通过对中心轴线方向和其他参数设置的改变,可以得到如图5(a)和(b)所示的效果图。
所述的随机数生成器Random(μ,σ)为标准C++编译环境提供的标准函数std::normal_distribution<>Random(μ,σ),函数的输入为μ和σ,函数的输出为符合高斯分布的以μ为均值、σ为方差的随机数。
步骤(1)所述的中心轴线的方向从地层层理弯曲的背侧指向内侧。
步骤(2)所述的半径RL、RM、RR满足以三个中心点为圆心的弧段与待填充区F远离中心点一侧刚好有交点存在。
所述步骤(3)所述的位置随机度pR和步长随机度sR由随机数生成器Random(μ,σ)求得,其基本值和随机度持续更新且可控。
利用本发明所述方法,自动填充任意边界的具有随机特征的槽状交错层理花纹图案,通过界面参数的控制和随机函数的应用,既保证了得到的槽状交错层理图案满足其随机特性,又具有良好的可控性。而且每一个槽状交错层理为独立的区对象,得到了最基本、最重要的槽状交错层理结构,为进一步岩性花纹的填充提供了基本层理特征及框架。在此结构框架上可进行更进一步的岩性花纹的填充,如图5(c)、(d)、(e)、(f)所示,其中其它规则性符号为现有技术生成的图案。
以上实施例仅供说明本发明之用,而非对本发明的限制,有关技术领域的技术人员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变型,因此所有等同的技术方案,都落入本发明的保护范围。

Claims (4)

1.一种基于随机算子发生器的槽状交错层理花纹自动填充方法,其特征在于包括以下步骤:
(1)输入待填充区F,将与地层层理主体弯曲方向相一致的直线设为中心轴线;
(2)确定待填充区F的边界矩形,在中心轴正方向一侧射线上选取一点pM作为中间中心点,其坐标为(xM,yM),在过pM且垂直于中心轴线的直线上,分别选取中心轴线左侧的点pL和中心轴线右侧的点pR作为左中心点和右中心点,坐标分别为(xL,yL)和(xR,yR);分别以pL、pR和pM为圆心做待填充区F的外接圆,确定3个外接圆的半径分别为RL、RR和RM
(3)设置参数,所述参数包括半径变化步长d,pL、pR和pM分别对应的循环绘制次数NL、NM和NR,以及位置随机度pR和步长随机度sR;初始化左绘制是否结束的标识变量flagL=1、中绘制是否结束的标识变量flagM=1、右绘制是否结束的标识变量flagR=1,初始化待分割区Fc=F,初始化有效绘制次数t=0;
(4)以中间中心点pM为绘制中心,初始化i=0,执行步骤(4-1)至步骤(4-9)进行绘制:
(4-1)根据中间中心点pM,利用随机数生成器Random(μ,σ)计算得到第i次的绘制中心坐标p'M(x'M,y'M)和绘制半径RM,其中,
p M &prime; : x M &prime; = R a n d o m ( x M , p R ) y M &prime; = R a n d o m ( y M , p R )
d c = R a n d o m ( d , s R ) R M = R M - d c
(4-2)以p'M为圆心,做半径为RM的圆弧段,求取与待分割区Fc的交点个数nM
(4-3)如果nM==0,则令flagM=0;
(4-4)判断flagM==0是否成立,不成立则转下一步,如果成立则转步骤(4-8);
(4-5)以圆弧段为分界将待分割区Fc划分为F和F两部分,将F添加到已分割区对象列表listF中,即listF[t]=F
(4-6)以圆弧段为分界将待填充区F划分为F'和F'两部分,并与列表listF中所有对象做相交计算,擦除每个区对象弧段内侧部分,并更新列表listF;
(4-7)更新待分割区Fc,令Fc=F';
(4-8)令i=i+1,t=t+1;
(4-9)判断i<NM是否成立,如果成立则转步骤(4-1)继续绘制,否则转下一步;
(5)以左侧中心点pL为绘制中心,初始化j=0,执行步骤(5-1)至步骤(5-9)进行绘制:
(5-1)根据左侧中心点pL,利用随机数生成器Random(μ,σ)计算得到第j次的绘制中心坐标p'L(x'L,y'L)和绘制半径RL,其中,
p L &prime; : x L &prime; = R a n d o m ( x L , p R ) y L &prime; = R a n d o m ( y L , p R )
d c = R a n d o m ( d , s R ) R L = R L - d c
(5-2)以p'L为圆心,做半径为RL的圆弧段,求取与待分割区Fc的交点个数nL
(5-3)如果nL==0,则令flagL=0;
(5-4)判断flagL==0是否成立,不成立则转下一步,如果成立则转步骤(5-8);
(5-5)以圆弧段为分界将待分割区Fc划分为F和F两部分,将F添加到已分割区对象列表listF中,即listF[t]=F
(5-6)以圆弧段为分界将待填充区F划分为F'和F'两部分,并与列表listF中所有对象做相交计算,擦除每个区对象弧段内侧部分,并更新列表listF;
(5-7)更新待分割区Fc,令Fc=F';
(5-8)令j=j+1,t=t+1;
(5-9)判断j<NL是否成立,如果成立则转步骤(5-1)继续绘制,否则转下一步;
(6)以中间中心点pM为绘制中心,初始化k=0,执行步骤(6-1)至步骤(6-9)进行绘制:
(6-1)根据中间中心点pR,利用随机数生成器Random(μ,σ)计算得到第k次的绘制中心坐标p'R(x'R,y'R)和绘制半径RR,其中,
p R &prime; : x R &prime; = R a n d o m ( x R , p R ) y R &prime; = R a n d o m ( y R , p R )
d c = R a n d o m ( d , s R ) R R = R R - d c
(6-2)以p'R为圆心,做半径为RR的圆弧段,求取与待分割区Fc的交点个数nR
(6-3)如果nR==0,则令flagR=0;
(6-4)判断flagR==0是否成立,不成立则转下一步,如果成立则转步骤(6-8);
(6-5)以圆弧段为分界将待分割区Fc划分为F和F两部分,将F添加到已分割区对象列表listF中,即listF[t]=F
(6-6)以圆弧段为分界将待填充区F划分为F'和F'两部分,并与列表listF中所有对象做相交计算,擦除每个区对象弧段内侧部分,并更新列表listF;
(6-7)更新待分割区Fc,令Fc=F';
(6-8)令k=k+1,t=t+1;
(6-9)判断k<NR是否成立,如果成立则转步骤(6-1)继续绘制,否则转下一步;
(7)判断待填充区F是否填充完成,如果表达式flagL==1||flagM==1||flagR==1成立,则表示填充未完成,转步骤(4)继续填充,否则转下一步;
(8)绘制最终填充结果,构建列表listF中所有区对象,并进行可视化表达,得到铺满整个待填充区域F的槽状交错层理图案。
2.根据权利要求1所述的基于随机算子发生器的槽状交错层理花纹自动填充方法,其特征在于:所述的随机数生成器Random(μ,σ)为标准C++编译环境提供的标准函数std::normal_distribution<>Random(μ,σ),函数的输入为μ和σ,函数的输出为符合高斯分布的以μ为均值、σ为方差的随机数。
3.根据权利要求1所述的基于随机算子发生器的槽状交错层理花纹自动填充方法,其特征在于:步骤(1)所述的中心轴线的方向从地层层理弯曲的背侧指向内侧。
4.根据权利要求1所述的基于随机算子发生器的槽状交错层理花纹自动填充方法,其特征在于:步骤(2)所述的半径RL、RM、RR满足以三个中心点为圆心的弧段与待填充区F远离中心点一侧刚好有交点存在。
CN201510937015.5A 2015-12-15 2015-12-15 基于随机算子发生器的槽状交错层理花纹自动填充方法 Active CN105574908B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510937015.5A CN105574908B (zh) 2015-12-15 2015-12-15 基于随机算子发生器的槽状交错层理花纹自动填充方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510937015.5A CN105574908B (zh) 2015-12-15 2015-12-15 基于随机算子发生器的槽状交错层理花纹自动填充方法

Publications (2)

Publication Number Publication Date
CN105574908A CN105574908A (zh) 2016-05-11
CN105574908B true CN105574908B (zh) 2016-11-09

Family

ID=55884995

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510937015.5A Active CN105574908B (zh) 2015-12-15 2015-12-15 基于随机算子发生器的槽状交错层理花纹自动填充方法

Country Status (1)

Country Link
CN (1) CN105574908B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114428990B (zh) * 2022-01-27 2023-04-28 中铁二院工程集团有限责任公司 一种基于AutoCAD自适应曲线趋势的自动填图方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8086050B2 (en) * 2004-08-25 2011-12-27 Ricoh Co., Ltd. Multi-resolution segmentation and fill
CN103136775A (zh) * 2013-03-19 2013-06-05 武汉大学 基于局部约束重建的kinect深度图空洞填充方法
CN104809752B (zh) * 2015-04-20 2016-02-24 广东工业大学 一种非规则区域的矩形块填充方法

Also Published As

Publication number Publication date
CN105574908A (zh) 2016-05-11

Similar Documents

Publication Publication Date Title
CN102567634B (zh) 一种基于水循环的地下水数值仿真方法
Smelik et al. A survey on procedural modelling for virtual worlds
CN105760581B (zh) 一种基于osg的沟道流域整治规划仿真方法及系统
CN105184867A (zh) 基于规则格网和角点网格技术的三维地层建模方法
CN102708591A (zh) 一种数字牙网格模型的孔洞修补方法
CN106777391A (zh) 基于钻孔信息和知识推理技术的地质剖面建模方法
CN103927788A (zh) 基于城市竖向规划的建筑地物分层dem模型制作方法
CN105225272B (zh) 一种基于多轮廓线三角网重构的三维实体建模方法
CN107766978B (zh) 不规则井网的智能优化方法
CN102194252A (zh) 一种基于地质层面结构的三角形格架网格生成方法
CN106971425A (zh) 基于多面体网络模型的岩石块体群精细建模与识别方法
CN105513131A (zh) 一种顾及褶皱的三维地质结构模型角点网格剖分方法
CN102881048B (zh) 基于点云裁剪的空间曲面生成方法
CN104240300A (zh) 基于分布式并行的大规模点云复杂空间曲面重构方法
CN103970837B (zh) 基于城市用地和竖向规划的不连续dem分类制作方法
CN104978763A (zh) 一种基于三维Douglas-Peucker算法的河网要素与DEM的同步综合地图仿真方法
CN108022296A (zh) 一种bim室内装修当前楼层及区域设计系统及方法
CN108256218A (zh) 一种基于实测腰线数据的地下连通巷道精细建模方法
CN103942842A (zh) 嵌入式曲流河砂体建模方法
CN106340066A (zh) 一种建筑物参数化三维建模方法
CN110244021A (zh) 一种基于各向异性插值的地层分层方法
CN105574908B (zh) 基于随机算子发生器的槽状交错层理花纹自动填充方法
CN103824330B (zh) 构建矿体中段分层图和三维模型的方法
CN104851131B (zh) 一种局部精度约束的三维地形生成方法
Naghibi et al. Comparative study of topographical research on how the architecture meets the ground in Persian architecture

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant