基于栈操作的分形绘图方法、装置、设备及存储介质制造方法及图纸

技术编号:38414493 阅读:11 留言:0更新日期:2023-08-07 11:18
本发明专利技术属于分形绘图技术领域,公开了一种基于栈操作的分形绘图方法、装置、设备及存储介质。本发明专利技术通过获取分形图的初始字符串,根据分形绘图策略对所述初始字符串迭代,得到中间分形字符,以及当前迭代次数,所述中间分形字符存储于字符栈中,在所述当前迭代次数等于预设迭代次数时,直接根据当前的中间分形字符输出目标分形图,本发明专利技术通过使用先进后出的栈操作方式,从而避免了新字符串生成过程中的大量字符移动的问题,故顺序栈提高了分形绘图的速度,在采用链栈时还能够动态生成栈空间,容纳更多的字符,从而提高迭代次数。从而提高迭代次数。从而提高迭代次数。

【技术实现步骤摘要】
基于栈操作的分形绘图方法、装置、设备及存储介质


[0001]本专利技术涉及分形绘图
,尤其涉及一种基于栈操作的分形绘图方法、装置、设备及存储介质。

技术介绍

[0002]分形绘图通常可以应用在视觉领域上,例如影视制作,平面设计等领域,分形绘图通常会采用字符替换法,所谓字符替换法就是对当前字符串通过字符替换后得到新的字符串的过程,每经过一次完整的字符替换称为一次迭代,用字符替代法迭代的次数越多,生成的字符串会越长,使用该字符串得到的图形会清晰,在进行字符替换时,所采用的方法为顺序表插入法,由于顺序表需要连续的存储空间,因此使用该方法会使迭代次数受限,进而无法绘制出满足需要的分形图,同时顺序表插入法在进行迭代时会使大量字符移动,从而使迭代耗时增加。
[0003]上述内容仅用于辅助理解本专利技术的技术方案,并不代表承认上述内容是现有技术。

技术实现思路

[0004]本专利技术的主要目的在于提供一种基于栈操作的分形绘图方法、装置、设备及存储介质,旨在解决现有技术迭代速度慢以及迭代次数易受限制的技术问题。
[0005]为实现上述目的,本专利技术提供了一种基于栈操作的分形绘图方法,所述方法包括以下步骤:
[0006]获取分形图的初始字符串;
[0007]根据分形绘图策略对所述初始字符串迭代,得到中间分形字符,以及当前迭代次数,所述中间分形字符存储于字符栈中;
[0008]在所述当前迭代次数等于预设迭代次数时,直接根据当前的中间分形字符输出目标分形图。
[0009]可选地,所述字符栈包括顺序栈,所述根据分形绘图策略对所述初始字符串迭代,得到中间分形字符,以及当前迭代次数,包括:
[0010]获取绘图迭代次数,并初始化迭代次数计数器,得到迭代次数;
[0011]初始化源栈,将所述初始字符串存储于源栈,并得到所述初始字符串的字符长度;
[0012]初始化源栈的栈顶指针与目标栈的栈顶指针,得到源栈栈顶指针与目标栈栈顶指针;
[0013]根据所述源栈栈顶指针提取所述源栈栈顶指针对应的字符,在所述源栈栈顶指针对应的字符为特征字符时,将所述字符对应的替换字符入栈到所述目标栈,并更新所述源栈栈顶指针与目标栈栈顶指针;
[0014]在所述源栈栈顶指针指向栈底时,将所述目标栈中的字符入栈到所述源栈,直至所述目标栈栈顶指针指向栈底,得到中间分形字符,并更新所述当前迭代次数。
[0015]可选地,所述将所述字符对应的替换字符入栈到所述目标栈,包括:
[0016]初始化字符串位置指示器;
[0017]更新目标栈栈顶指针,将所述替换字符入栈到所述目标栈,更新所述位置指示器;
[0018]在所述替换字符还未完全入栈时,重复所述更新目标栈栈顶指针,将所述替换字符入栈到所述目标栈,更新所述位置指示器的步骤,直至所述替换字符完全入栈
[0019]可选地,所述将所述目标栈中的字符入栈到所述源栈,包括:
[0020]更新所述源栈栈顶指针;
[0021]将所述目标栈栈顶字符入栈到所述源栈;
[0022]更新所述目标栈栈顶指针;
[0023]在所述目标栈栈顶指针未指向栈底时,重复更新所述源栈栈顶指针的步骤,直至所述目标栈栈顶指针指向栈底。
[0024]可选地,所述字符栈包括栈链,所述根据分形绘图策略对所述初始字符串迭代,得到中间分形字符,以及当前迭代次数,包括:
[0025]获取绘图迭代次数,并初始化迭代次数计数器,得到迭代次数;
[0026]初始化替换字符栈;
[0027]遍历所述初始字符串字符,在所述字符为特征字符时,将所述特征字符对应的替换字符串入栈到所述替换字符栈;
[0028]在所述字符不为所述特征字符时,对所述字符的下一字符继续遍历,并重复执行遍历所述初始字符串字符的步骤,直至遍历完所述初始字符串,更新所述迭代次数。
[0029]可选地,所述将所述特征字符对应的替换字符串入栈到所述替换字符栈,包括:
[0030]初始化计数器,得到计数器初始值;
[0031]申请单个结点,并为所述结点分配存储空间;
[0032]根据所述计数器初始值得到所述替换字符串中对应的替换字符,并将所述替换字符存储至所述存储空间,并更新所述存储空间的指针域;
[0033]将所述结点链接到所述初始字符串中对应位置;
[0034]更新所述计数器的计数值;
[0035]重复执行申请单个结点,并为所述结点分配存储空间的步骤,直至所述计数器的计数值与所述替换字符串的长度一致。
[0036]可选地,所述特征字符对应的替换字符串入栈到所述替换字符栈之后,还包括:
[0037]将所述替换字符栈中的结点依次弹出,得到弹出结点;
[0038]将所述弹出结点弹入至所述初始字符串的对应位置;
[0039]重复所述将所述替换字符栈中的结点依次弹出,得到弹出结点的步骤,直至所述字符栈为空栈。
[0040]此外,为实现上述目的,本专利技术还提出一种基于栈操作的分形绘图装置,所述基于栈操作的分形绘图装置包括:
[0041]字符获取模块,用于获取分形图的初始字符串;
[0042]分形绘图模块,用于根据分形绘图策略对所述初始字符串迭代,得到中间分形字符,以及当前迭代次数,所述中间分形字符存储于字符栈中;
[0043]分形图输出模块,用于在所述当前迭代次数等于预设迭代次数时,直接根据当前
的中间分形字符输出目标分形图。
[0044]此外,为实现上述目的,本专利技术还提出一种基于栈操作的分形绘图设备,所述基于栈操作的分形绘图设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于栈操作的分形绘图程序,所述基于栈操作的分形绘图程序配置为实现如上文所述的基于栈操作的分形绘图方法的步骤。
[0045]此外,为实现上述目的,本专利技术还提出一种存储介质,所述存储介质上存储有基于栈操作的分形绘图程序,所述基于栈操作的分形绘图程序被处理器执行时实现如上文所述的基于栈操作的分形绘图方法的步骤。
[0046]本专利技术通过获取分形图的初始字符串,根据分形绘图策略对所述初始字符串迭代,得到中间分形字符,以及当前迭代次数,所述中间分形字符存储于字符栈中,在所述当前迭代次数等于预设迭代次数时,直接根据当前的中间分形字符输出目标分形图,本专利技术通过使用先进后出的栈操作方式,从而避免了新字符串生成过程中的大量字符移动的问题,故顺序栈提高了分形绘图的速度,在采用链栈时还能够动态生成栈空间,容纳更多的字符,从而提高迭代次数。
附图说明
[0047]图1是本专利技术实施例方案涉及的硬件运行环境的基于栈操作的分形绘图设备的结构示意图;
[0048]图2为本专利技术基于栈操作的分形绘图方法第一实施例的流程示意图;
[0049]图3为本专利技术基于栈操作的分形绘图方法一实施例顺序栈迭代柯西曲线绘图结果示意图;
[0050本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于栈操作的分形绘图方法,其特征在于,所述基于栈操作的分形绘图方法包括:获取分形图的初始字符串;根据分形绘图策略对所述初始字符串迭代,得到中间分形字符,以及当前迭代次数,所述中间分形字符存储于字符栈中;在所述当前迭代次数等于预设迭代次数时,直接根据当前的中间分形字符输出目标分形图。2.如权利要求1所述的方法,其特征在于,所述字符栈包括顺序栈,所述根据分形绘图策略对所述初始字符串迭代,得到中间分形字符,以及当前迭代次数,包括:获取绘图迭代次数,并初始化迭代次数计数器,得到迭代次数;初始化源栈,将所述初始字符串存储于源栈,并得到所述初始字符串的字符长度;初始化源栈的栈顶指针与目标栈的栈顶指针,得到源栈栈顶指针与目标栈栈顶指针;根据所述源栈栈顶指针提取所述源栈栈顶指针对应的字符,在所述源栈栈顶指针对应的字符为特征字符时,将所述字符对应的替换字符入栈到所述目标栈,并更新所述源栈栈顶指针与目标栈栈顶指针;在所述源栈栈顶指针指向栈底时,将所述目标栈中的字符入栈到所述源栈,直至所述目标栈栈顶指针指向栈底,得到中间分形字符,并更新所述当前迭代次数。3.如权利要求2所述的方法,其特征在于,所述将所述字符对应的替换字符入栈到所述目标栈,包括:初始化字符串位置指示器;更新目标栈栈顶指针,将所述替换字符入栈到所述目标栈,更新所述位置指示器;在所述替换字符还未完全入栈时,重复所述更新目标栈栈顶指针,将所述替换字符入栈到所述目标栈,更新所述位置指示器的步骤,直至所述替换字符完全入栈。4.如权利要求2所述的方法,其特征在于,所述将所述目标栈中的字符入栈到所述源栈,包括:更新所述源栈栈顶指针;将所述目标栈栈顶字符入栈到所述源栈;更新所述目标栈栈顶指针;在所述目标栈栈顶指针未指向栈底时,重复更新所述源栈栈顶指针的步骤,直至所述目标栈栈顶指针指向栈底。5.如权利要求1所述的方法,其特征在于,所述字符栈包括栈链,所述根据分形绘图策略对所述初始字符串迭代,得到中间分形字符,以及当前迭代次数,包括:获取绘图迭代次数,并初始化迭代次数计数器,得到迭代次数;初始化替换字符栈;遍历所述初...

【专利技术属性】
技术研发人员:徐阳城王防修
申请(专利权)人:武汉轻工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1