一种计算机分形图形生成方法转让专利

申请号 : CN201610983432.8

文献号 : CN106504296B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 于波

申请人 : 烟台中飞海装科技有限公司

摘要 :

一种计算机分形图形生成方法,其包括:获取所选定的图形视窗尺寸,根据图形视窗尺寸确定第一分辨率下各个图形点的初始位置;基于所获取到的最大迭代次数,根据预先设定的主迭代模型进行循环迭代,确定出第一分辨率下各个图形点的实际位置,根据各个图形点的实际位置进行图形点的绘制,得到低分辨率分形图形;判断低分辨率分形图形是否满足要求,如果满足,则根据分形视图尺寸确定第二分辨率下各个图形点的初始位置,并在第二分辨率下重复循环迭代,得到高分辨率分形图形,第二分辨率大于第一分辨率。本方法为分辨率可调的分形图形快速生成方法,其利用型号属性代替现有的驻点画图方式,从而使得在较低分辨率情况下就能够得到分形图形的轮廓。

权利要求 :

1.一种计算机分形图形生成方法,其特征在于,所述方法包括:

初始位置确定步骤,获取所选定的图形视窗尺寸,根据所述图形视窗尺寸确定第一分辨率下各个图形点的初始位置;

循环迭代步骤,基于所获取到的最大迭代次数,根据预先设定的主迭代模型进行循环迭代,确定出所述第一分辨率下各个图形点的实际位置,根据所述各个图形点的实际位置进行图形点的绘制,得到低分辨率分形图形;

分辨率调整步骤,判断所述低分辨率分形图形是否满足要求,如果满足,则根据所述分形视图尺寸确定第二分辨率下各个图形点的初始位置,并在所述第二分辨率下重复所述循环迭代步骤,得到高分辨率分形图形,其中,所述第二分辨率大于所述第一分辨率;

其中,所述图形点的图案为星形。

2.如权利要求1所述的方法,其特征在于,在所述循环迭代步骤中,对于任一图形点,如果当前迭代循环中图形点与前次迭代循环中图形点的间距小于预设间距阈值,则跳出迭代循环,得到该图形点的实际位置。

3.如权利要求2所述的方法,其特征在于,对于任一图形点,如果当前迭代循环中图形点与前次迭代循环中图形点的间距小于预设间距阈值,则将该图形点的属性标记为收敛点。

4.如权利要求2所述的方法,其特征在于,对于任一图形点,在所述循环迭代步骤中,如果迭代次数达到预设迭代次数阈值,则跳出迭代循环,并得到该图形点的实际位置。

5.如权利要求4所述的方法,其特征在于,对于任一图形点,如果当前迭代次数等于预设迭代次数阈值,则将该图形点的属性标记为发散点。

6.如权利要求5所述的方法,其特征在于,根据各个图形点的属性和预设颜色矩阵确定各个图形点的绘制颜色。

7.如权利要求1~6中任一项所述的方法,其特征在于,如果低分辨率分形图形不满足要求,则调整所述主迭代模型,并根据调整后的主迭代模型重新绘制低分辨率分形图形和高分辨率分形图形。

说明书 :

一种计算机分形图形生成方法

技术领域

[0001] 本发明涉及计算机图形与图案设计技术领域,具体地说,涉及一种计算机分形图形生成方法。

背景技术

[0002] 分形(Fractal)一词起源于拉丁文的“fractus”,是B.B.Mandelbrot为描述那些不规则而欧氏几何又无法描述的几何形态而创造出来的数学方法,其原意具有不规则、支离破碎等意义。把分形理论与数字图像处理技术结合起来,使生成的分形图形可人工干预,以产生协调自然,丰富多彩,并具有较高艺术性的图案。无疑,这些分形图形将对绘画、雕塑、建筑设计、印染工业、装潢和广告设计等产生深远的影响。
[0003] 目前计算机分形图形生成方法均采用驻点生成,该方法的缺陷在于如果选取视窗内所画的点过多,则图形比较精美,但花费时间将成倍增加,而如果视窗内选取点数过少,则又会造成图形轮廓失真,容易错过图形。

发明内容

[0004] 为解决上述问题,本发明提供了一种计算机分形图形生成方法,所述方法包括:
[0005] 初始位置确定步骤,获取所选定的图形视窗尺寸,根据所述图形视窗尺寸确定第一分辨率下各个图形点的初始位置;
[0006] 循环迭代步骤,基于所获取到的最大迭代次数,根据预先设定的主迭代模型进行循环迭代,确定出所述第一分辨率下各个图形点的实际位置,根据所述各个图形点的实际位置进行图形点的绘制,得到低分辨率分形图形;
[0007] 分辨率调整步骤,判断所述低分辨率分形图形是否满足要求,如果满足,则根据所述分形视图尺寸确定第二分辨率下各个图形点的初始位置,并在所述第二分辨率下重复所述循环迭代步骤,得到高分辨率分形图形,其中,所述第二分辨率大于所述第一分辨率。
[0008] 根据本发明的一个实施例,在所述循环迭代步骤中,对于任一图形点,如果当前迭代循环中图形点与前次迭代循环中图形点的间距小于预设间距阈值,则跳出迭代循环,得到该图形点的实际位置。
[0009] 根据本发明的一个实施例,对于任一图形点,如果当前迭代循环中图形点与前次迭代循环中图形点的间距小于预设间距阈值,则将该图形点的属性标记为收敛点。
[0010] 根据本发明的一个实施例,对于任一图形点,在所述循环迭代步骤中,如果迭代次数达到预设迭代次数阈值,则跳出迭代循环,并得到该图形点的实际位置。
[0011] 根据本发明的一个实施例,对于任一图形点,如果当前迭代次数等于预设迭代次数阈值,则将该图形点的属性标记为发散点。
[0012] 根据本发明的一个实施例,根据各个图形点的属性和预设颜色矩阵确定各个图形点的绘制颜色。
[0013] 根据本发明的一个实施例,所述图形点的图案为星形。
[0014] 根据本发明的一个实施例,如果低分辨率分形图形不满足要求,则调整所述主迭代模型,并根据调整后的主迭代模型重新绘制低分辨率分形图形和高分辨率分形图形。
[0015] 本发明所提供的计算机分形图形生成方法为分辨率可调的分形图形快速生成方法,其利用型号属性代替现有的驻点画图方式,从而使得在较低分辨率情况下就能够得到分形图形的轮廓,解决了现有的分形图形生成方法在低分辨率情况下图形是正的问题。
[0016] 同时,本方法通过利用低分辨率图形来选取合适轮廓的分形图形,在提高分辨率得到最终的高分辨率分形图形,从而得到精美的分形图形。该方法在分形图形的选取生成中,不仅能提高生成速率,还能够保证图形轮廓不失真,进而保证了最后所得到的分形图形的精美性。
[0017] 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

[0018] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要的附图做简单的介绍:
[0019] 图1是根据本发明一个实施例的计算机分形图形生成方法的实现流程图;
[0020] 图2是根据本发明一个实施例的低分辨率图形的示意图;
[0021] 图3是根据本发明一个实施例的高分辨率图形的示意图。

具体实施方式

[0022] 以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
[0023] 同时,在以下说明中,出于解释的目的而阐述了许多具体细节,以提供对本发明实施例的彻底理解。然而,对本领域的技术人员来说显而易见的是,本发明可以不用这里的具体细节或者所描述的特定方式来实施。
[0024] 另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0025] 针对现有技术中所存在的上述问题,本实施例提供了一种新的计算机分形图形生成方法,该方法是一种分辨率可调的计算机分形图形快速生成方法。图1示出了本实施例中该方法的实现流程图。
[0026] 如图1所示,本实施例所提供的方法首先在步骤S101中获取所选定的视窗尺寸,并根据该视窗尺寸设定复平面实部和虚部的最大变化范围,从而确定出第一分辨率下各个图形点的初始位置。需要指出的是,在本发明的不同实施例中,上述第一分辨率既可以事先设定,也可以通过用户设定的迭代步长以及视窗尺寸计算得到,本发明不限于此。
[0027] 在步骤S102中,该方法会获取用户所设定最大迭代次数。需要指出的是,在本发明的不同实施例中,上述最大迭代次数可以根据实际需要进行设定,本发明并不对上述最大迭代次数的具体取值进行限定。
[0028] 为了能够使得用户更加方便地了解计算机分形图形的生成进程,本实施例中,该方法优选地在步骤S102中还会绘制出计算机分形图形生成过程的进度条,从而有助于用户了解整个画图进程。
[0029] 在步骤S103中,该方法会基于步骤S102中所确定出的最大迭代次数,根据预先设定的主迭代模型来进行迭代循环,从而确定出第一分辨下各个图形点的实际位置,并根据各个图形点的实际位置进行图形点的绘制,得得到第一分辨率下的分形图形(即低分辨率分形图形)。本实施例中,为了提高分形图形的生成速率,在步骤S103中以低分辨率(即第一分辨率的数值较低)来进行分形图形的绘制。
[0030] 同时,本实施例中,在步骤S102中所绘制的图形点优选地为星形点,这样通过星形点绘图来代替现有的单点绘图,能够在较低分辨率的情况下得到分形图形的轮廓,从而解决现有的分形图形绘制方法在较低分辨率的情况下图形失真的问题。
[0031] 例如,如果主迭代模型所使用的迭代表达式为牛顿迭代求根表达式,即:
[0032] zn=zn-1-f(x)/f′(x)    (1)
[0033] 其中,f′(x)表示所选定的复平面函数f(x)的导数,zn表示第n次迭代循环(即当前迭代循环)的图形点位置,zn-1表示第n-1次迭代循环的图形点位置。
[0034] 需要指出的是,本实施例中图形点的初始位置z1可以根据步骤S101中所确定出的图形时窗尺寸来确定得到。
[0035] 对于任一图形点,在进行循环迭代的过程中,本实施例所提供的方法还在步骤S103中持续判断是否满足预设迭代循环跳出条件,如果满足,则跳出迭代循环,从而得到该图形点的实际位置。具体地,本实施例中,该方法优选地在步骤S103中计算当前迭代循环中图形点位置与前次迭代循环中图形点位置的间距Δn,即存在:
[0036] Δn=|zn-zn-1|    (2)
[0037] 其中,如果间距Δn小于预设间距阈值ε,即存在:
[0038] Δn<ε    (3)
[0039] 那么则表示当前迭代循环已经满足预设迭代循环跳出条件,这样zn也就是当前图形点的实际位置。本实施例中,如果该图形点满足表达式(3)所示的条件,那么该方法将会将该图形点的属性标记为收敛点。
[0040] 需要指出的是,本实施例中,对于任意图形点,如果迭代次数达到预设迭代次数阈值,那么该方法也将判定此时满足预设迭代循环跳出条件。本实施例中,该方法会将该该图形点的属性标记为发散点。当然,在本发明的其他实施例中,该方法还可以设置其他合理的迭代循环跳出条件,本发明不限于此。
[0041] 本实施例中,在绘制各个图形点时,根据各个图形点的属性以及预设颜色矩阵来确定各个图形点的绘制颜色。具体地,对于属性为发散的图形点来说,本实施例中,根据预设颜色矩阵将这些图形点的颜色确定为白色;而对于属性为收敛的图形点来说,本实施例中,根据预设颜色矩阵将这些图形点的颜色其他合理颜色。这样也就使得最终得到的分形图形得到符合审美的颜色。
[0042] 因此,从上述描述中可以看出,本实施例所提供的方法通过循环迭代来绘制出每一个图形点,即对于每一个图形点,该方法进行一次完整的循环迭代过程。
[0043] 在完成低分辨率分形图形的绘制后,该方法会将所绘制出的低分辨率的分形图形显示给用户,以供用户进行分形图形轮廓的查看。该方法会在步骤S104中判断当前低分辨率分形图形是否满足用户要求。
[0044] 具体地,该方法在显示当前低分辨率分形图形的同时,还会显示相关“确认”与“重新绘制”按钮。如果获取到用户点击“确认”按钮的动作,那么该方法则会判断出此时当前低分辨率分形图形满足用户要求;而如果获取到用户点击“重新绘制”按钮的动作,那么该方法则会判断此时当前分辨率分形图形无法满足用户要求,因此该方法会在步骤S106中对图形绘制参数进行调整,并返回步骤S101以重新绘制低分辨率分形图形以及高分辨率图形的绘制。
[0045] 本实施例中,如果在步骤S104中判断出当前低分辨率分形图形满足用户要求,那么该方法将会在步骤S105中以第二分辨率重新根据预设主迭代模型来进行循环迭代,并绘制出各个图形点,从而得到高分辨率分形图形。其中,第二分辨率大于上述第一分辨率,因此根据第二分辨率绘制得到的分形相较于以第一分辨率绘制得到的分形图形更加清晰。
[0046] 以如下程序为例,本实施例利用上述分形图形生成方法以f(x)=x5+sin(x3)-1为例来进行分形图形的绘制。这样便可以得到如图2所示的低分辨率分形图形示意图以及如图3所示的高分辨率分形图形示意图。
[0047]
[0048]
[0049]
[0050] 需要指出的是,本实施例中,步骤S105与步骤S103除了在分辨率方面存在不同外,各个图形点的绘制原理以及绘制过程均相同,因此在此不再对步骤S105的具体实现原理以及实现过程进行赘述。
[0051] 需要指出的是,在本发明的不同实施例中,第一分辨率和第二分辨率的具体取值可以根据实际需要进行选取,其中,第二分辨率的取值需要大于第一分辨率,从而保证最终得到高分辨率的分形图形。
[0052] 从上述描述中可以看出,本实施例所提供的计算机分形图形生成方法为分辨率可调的分形图形快速生成方法,其利用型号属性代替现有的驻点画图方式,从而使得在较低分辨率情况下就能够得到分形图形的轮廓,解决了现有的分形图形生成方法在低分辨率情况下图形是正的问题。
[0053] 同时,本方法通过利用低分辨率图形来选取合适轮廓的分形图形,在提高分辨率得到最终的高分辨率分形图形,从而得到精美的分形图形。该方法在分形图形的选取生成中,不仅能提高生成速率,还能够保证图形轮廓不失真,进而保证了最后所得到的分形图形的精美性。
[0054] 应该理解的是,本发明所公开的实施例不限于这里所公开的处理步骤,而应当延伸到相关领域的普通技术人员所理解的这些特征的等同替代。还应当理解的是,在此使用的术语仅用于描述特定实施例的目的,而并不意味着限制。
[0055] 说明书中提到的“一个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“一个实施例”或“实施例”并不一定均指同一个实施例。
[0056] 虽然上述示例用于说明本发明在一个或多个应用中的原理,但对于本领域的技术人员来说,在不背离本发明的原理和思想的情况下,明显可以在形式上、用法及实施的细节上作各种修改而不用付出创造性劳动。因此,本发明由所附的权利要求书来限定。