CN108846883B - 分形图快速绘制方法、系统、用户设备及存储介质 - Google Patents
分形图快速绘制方法、系统、用户设备及存储介质 Download PDFInfo
- Publication number
- CN108846883B CN108846883B CN201810742545.8A CN201810742545A CN108846883B CN 108846883 B CN108846883 B CN 108846883B CN 201810742545 A CN201810742545 A CN 201810742545A CN 108846883 B CN108846883 B CN 108846883B
- Authority
- CN
- China
- Prior art keywords
- fractal
- drawn
- graph
- area
- fractal graph
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000006870 function Effects 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了一种分形图快速绘制方法、系统、用户设备及存储介质。本发明通过在显示器界面中确定待绘图区域,获取待绘制原图的IFS码,基于所述IFS码迭代第一预设次数,获得所述待绘制原图的分形图中各点的第一坐标,根据所述第一坐标在所述待绘图区域绘制第一分形图,基于所述第一分形图迭代第二预设次数,获得所述待绘制原图的分形图中各点的第二坐标,根据所述第二坐标在所述待绘图区域绘制第二分形图,在所述第一分形图与所述第二分形图相同时,将所述第一分形图作为绘制结果,实现了在最短的时间内绘制一幅完整的分形图。
Description
技术领域
本发明涉及计算机图形设计领域,尤其涉及一种分形图快速绘制方法、系统、用户设备及存储介质。
背景技术
在分形领域的研究中,可以借助计算机绘制任何具有迭代函数系统 (IteratedFunction System,IFS)码的分形图。分形图绘制的好坏,直接影响到人们对它的研究。因此,绘制一个完整分形图在分形研究领域中是十分必要的。所谓完整分形图,就是指当迭代到一定次数后,不再发生变化的分形图。
分形图绘制的效果与迭代次数密切相关,因此在绘制分形图时,经常采用的做法是增加迭代次数,这样绘制的效果更好,但需要消耗的时间也更多。事实上,当分形绘图达到一定的迭代次数后,其在绘图区域中的像素点将不再变化。如果继续迭代绘制,除了浪费时间外,而绘制的分形图不会有任何变化。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种分形图快速绘制方法、系统、用户设备及存储介质,旨在解决现有技术中绘制完整分形图需要时间过长的技术问题。
为实现上述目的,本发明提供一种分形图快速绘制方法,所述方法包括以下步骤:
在显示器界面中确定待绘图区域;
获取待绘制原图的IFS码,基于所述IFS码迭代第一预设次数,获得所述待绘制原图的分形图中各点的第一坐标;
根据所述第一坐标在所述待绘图区域绘制第一分形图;
基于所述第一分形图迭代第二预设次数,获得所述待绘制原图的分形图中各点的第二坐标;
根据所述第二坐标在所述待绘图区域绘制第二分形图;
在所述第一分形图与所述第二分形图相同时,将所述第一分形图作为绘制结果。
优选地,所述在显示器界面中确定待绘图区域之后,所述方法还包括:
根据所述待绘图区域的宽度和高度确定所述第一预设次数。
优选地,根据所述绘图区域的宽度和高度通过下式确定所述第一预设次数,
b_itn=w_D*h_D;
其中,b_itn为第一预设次数,w_D为所述待绘图区域的宽度,h_D为所述待绘图区域的高度。
优选地,所述获取待绘制原图的IFS码,基于所述IFS码迭代第一预设次数,获得所述待绘制原图的分形图中各点的第一坐标,具体包括:
获取待绘制原图的IFS码;
在所述待绘制原图中随机选取一个点作为起始点,获取所述起始点在所述分形图中的坐标;
利用第一预设次数及由所述IFS码确定的迭代函数,基于所述起始点在所述分形图中的坐标确定所述分形图中其余点的坐标,将所述分形图中点的坐标作为第一坐标。
优选地,所述迭代函数为:
其中,(x,y)表示分形图上某个点的坐标,(x’,y’)表示分形图上某个点的下一点的坐标,ai、bi、ci、di、ei及fi为IFS码中的信息元素。
优选地,所述根据所述第一坐标在所述待绘图区域绘制第一分形图,具体包括:
根据所述第一坐标确定所述分形图在所述待绘图区域的伸缩比例因子;
基于所述伸缩比例因子确定所述第一坐标在所述待绘图区域的水平偏移量及竖直偏移量;
基于所述待绘图区域的水平偏移量及竖直偏移量确定所述第一坐标在所述待绘图区域的坐标;
根据所述第一坐标在所述待绘图区域的坐标在所述待绘图区域绘制所述待绘制原图的第一分形图。
优选地,所述根据所述第二坐标在所述待绘图区域绘制第二分形图之后,所述方法还包括:
在所述第一分形图与所述第二分形图不相同时,基于所述第二分形图迭代第二预设次数,获得所述待绘制原图的分形图中各点的第三坐标,根据所述第三坐标在所述待绘图区域绘制第三分形图,在所述第二分形图与所述第三分形图相同时,将所述第二分形图作为绘制结果。
此外,为实现上述目的,本发明还提供一种分形图快速绘制系统,所述系统包括:
绘图区域确定模块,用于在显示器界面中确定待绘图区域;
第一迭代模块,用于获取待绘制原图的IFS码,基于所述IFS码迭代第一预设次数,获得所述待绘制原图的分形图中各点的第一坐标;
第一分形图绘制模块,用于根据所述第一坐标在所述待绘图区域绘制第一分形图;
第二迭代模块,用于基于所述第一分形图迭代第二预设次数,获得所述待绘制原图的分形图中各点的第二坐标;
第二分形图绘制模块,用于根据所述第二坐标在所述待绘图区域绘制第二分形图;
判断存储模块,用于在所述第一分形图与所述第二分形图相同时,将所述第一分形图作为绘制结果。
此外,为实现上述目的,本发明还提供一种用户设备,所述用户设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的分形图快速绘制程序,所述分形图快速绘制程序配置为实现所述的分形图快速绘制方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有分形图快速绘制程序,所述分形图快速绘制程序被处理器执行时实现所述的分形图快速绘制方法的步骤。
本发明通过在显示器界面中确定待绘图区域,获取待绘制原图的IFS码,基于所述IFS码迭代第一预设次数,获得所述待绘制原图的分形图中各点的第一坐标,根据所述第一坐标在所述待绘图区域绘制第一分形图,基于所述第一分形图迭代第二预设次数,获得所述待绘制原图的分形图中各点的第二坐标,根据所述第二坐标在所述待绘图区域绘制第二分形图,在所述第一分形图与所述第二分形图相同时,将所述第一分形图作为绘制结果,实现了在最短的时间内绘制一幅完整的分形图。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的用户设备结构示意图;
图2为本发明分形图快速绘制方法一实施例的流程示意图;
图3为图2中步骤S30的细化流程示意图;
图4为本发明分形图快速绘制系统一实施例的功能模块图;
图5为用本发明分形图快速绘制方法导入正方垫的IFS码后绘制的分形图;
图6为用本发明分形图快速绘制方法导入分形树的IFS码后绘制的分形图;
图7为用本发明分形图快速绘制方法导入十字架的IFS码后绘制的分形图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的用户设备的结构示意图。
如图1所示,该用户设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI 接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
在具体实现中,所述用户设备可为智能手机、平板电脑或笔记本电脑等设备,本实施例对此不加以限制。
本领域技术人员可以理解,图1中示出的结构并不构成对用户设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及分形图快速绘制程序。
在图1所示的用户设备中,网络接口1004主要用于与外部网络进行数据通信;用户接口1003主要用于接收用户的输入指令;所述用户设备通过处理器1001调用存储器1005中存储的分形图快速绘制程序,并执行以下操作:
在显示器界面中确定待绘图区域;
获取待绘制原图的IFS码,基于所述IFS码迭代第一预设次数,获得所述待绘制原图的分形图中各点的第一坐标;
根据所述第一坐标在所述待绘图区域绘制第一分形图;
基于所述第一分形图迭代第二预设次数,获得所述待绘制原图的分形图中各点的第二坐标;
根据所述第二坐标在所述待绘图区域绘制第二分形图;
在所述第一分形图与所述第二分形图相同时,将所述第一分形图作为绘制结果。
进一步地,处理器1001可以调用存储器1005中存储的分形图快速绘制程序,还执行以下操作:
根据所述待绘图区域的宽度和高度确定所述第一预设次数和第二预设次数。
进一步地,处理器1001可以调用存储器1005中存储的分形图快速绘制程序,还执行以下操作:
获取待绘制原图的IFS码;
在所述待绘制原图中随机选取一个点作为起始点,获取所述起始点在所述分形图中的坐标;
利用第一预设次数及由所述IFS码确定的迭代函数,基于所述起始点在所述分形图中的坐标确定所述分形图中其余点的坐标,将所述分形图中点的坐标作为第一坐标。
进一步地,处理器1001可以调用存储器1005中存储的分形图快速绘制程序,还执行以下操作:
根据所述第一坐标确定所述分形图在所述待绘图区域的伸缩比例因子;
基于所述伸缩比例因子确定所述第一坐标在所述待绘图区域的水平偏移量及竖直偏移量;
基于所述待绘图区域的水平偏移量及竖直偏移量确定所述第一坐标在所述待绘图区域的坐标;
根据所述第一坐标在所述待绘图区域的坐标在所述待绘图区域绘制所述待绘制原图的第一分形图。
进一步地,处理器1001可以调用存储器1005中存储的分形图快速绘制程序,还执行以下操作:
在所述第一分形图与所述第二分形图不相同时,基于所述第二分形图迭代第二预设次数,获得所述待绘制原图的分形图中各点的第三坐标,根据所述第三坐标在所述待绘图区域绘制第三分形图,在所述第二分形图与所述第三分形图相同时,将所述第二分形图作为绘制结果。
本实施例通过在显示器界面中确定待绘图区域,获取待绘制原图的IFS 码,基于所述IFS码迭代第一预设次数,获得所述待绘制原图的分形图中各点的第一坐标,根据所述第一坐标在所述待绘图区域绘制第一分形图,基于所述第一分形图迭代第二预设次数,获得所述待绘制原图的分形图中各点的第二坐标,根据所述第二坐标在所述待绘图区域绘制第二分形图,在所述第一分形图与所述第二分形图相同时,将所述第一分形图作为绘制结果,实现了在最短的时间内绘制一幅完整的分形图。
基于上述硬件结构,提出本发明分形图快速绘制方法实施例。
参照图2,图2为本发明分形图快速绘制方法一实施例的流程示意图。
在一实施例中,所述分形图快速绘制方法包括以下步骤:
S10:在显示器界面中确定待绘图区域;
需要说明的是,为了使用户可以根据需要控制待绘图区域的大小,同时又使待绘图区域的相对大小不会随显示器分辨率的变化而变化,可以根据显示器的宽度和高度通过下式确定待绘图区域的宽度和高度,
w_D=w_screen*w_c; (1)
h_D=h_screen*h_c; (2)
其中,w_D为所述待绘图区域的宽度,h_D为所述待绘图区域的高度, w_screen为显示器界面的宽度,h_screen为显示器界面的高度,w_c为预设宽度百分比,h_c为预设高度百分比。
S20:获取待绘制原图的IFS码,基于所述IFS码迭代第一预设次数,获得所述待绘制原图的分形图中各点的第一坐标;
在具体实现中,确定了所述待绘图区域的宽度和高度以后,可以根据所述绘图区域的宽度和高度通过下式确定所述第一预设次数,
b_itn=w_D*h_D; (3)
其中,b_itn为第一预设次数,w_D为所述待绘图区域的宽度,h_D为所述待绘图区域的高度。
可以理解的是,为了得到一个初始的分形图,需要定义第一预设次数,基于所述IFS码迭代第一预设次数以后,得到的分形图并不一定是完整的分形图像。
需要理解的是,获取待绘制原图的IFS码之后,基于所述IFS码建立迭代模型,进行迭代运算。在所述待绘制原图中随机选取一个点作为起始点,获取所述起始点在所述分形图中的坐标;利用第一预设次数及由所述IFS码确定的迭代函数,基于所述起始点在所述分形图中的坐标确定所述分形图中其余点的坐标,将所述分形图中点的坐标作为第一坐标。
为了使迭代更加准确,由所述IFS码确定的迭代函数可以表示为:
其中,(x,y)表示分形图上某个点的坐标,(x’,y’)表示分形图上某个点的下一点的坐标,ai、bi、ci、di、ei及fi为IFS码中的信息元素。
S30:根据所述第一坐标在所述待绘图区域绘制第一分形图;
需要理解的是,为了在用户设备中绘制出分形图,需要将所述第一坐标映射到所述待绘图区域中。
在具体实现中,为了方便判断迭代前后的分形图是否一样,可以将绘制出的分形图保存到矩阵中,通过判断矩阵是否相等来实现目的。因此,可以将所述第一分形图保存至第一矩阵中。
S40:基于所述第一分形图迭代第二预设次数,获得所述待绘制原图的分形图中各点的第二坐标;
需要理解的是,为了判断绘制出的分形图是否为完整的分形图,需要在第一分形图的基础上继续进行迭代,此时需要指定第二预设次数,所述第二预设次数可以为1000或2000,本实施例对此不加限制,迭代完成后会获得所述待绘制原图的分形图中各点的第二坐标信息。
S50:根据所述第二坐标在所述待绘图区域绘制第二分形图;
需要说明的是,与根据所述第一坐标在所述待绘图区域绘制第一分形图的方法相同,在迭代第二预设次数以后,根据所述第二坐标在所述待绘图区域绘制第二分形图,并将所述第二分形图保存至第二矩阵中。
S60:在所述第一分形图与所述第二分形图相同时,将所述第一分形图作为绘制结果。
在具体实现中,可以通过比较所述第一矩阵和第二矩阵的值是否相等来判断所述第一分形图与所述第二分形图是否相同。当所述第一矩阵与所述第二矩阵相等时,所述第一分形图与所述第二分形图相同,说明所述第一分形图已经是完整分形图,则结束绘制,将所述第一分形图作为绘制结果。
当然,当所述第一分形图与所述第二分形图不相同时,说明所述第一分形图并不是完整分形图,而此时无法判断所述第二分形图是否为完整分形图,因此,需要基于所述第二分形图继续迭代第二预设次数,获得所述待绘制原图的分形图中各点的第三坐标,根据所述第三坐标在所述待绘图区域绘制第三分形图,在所述第二分形图与所述第三分形图相同时,将所述第二分形图作为绘制结果。
可以理解的是,如果绘制得到的分形图与前一分形图不同,则需要迭代第二预设次数,继续进行绘图,直到两者相同。也就是说,假设第二预设次数为1000次,则每迭代1000次,就对迭代前后绘制的分形图进行比较,如果相同,则绘图结束,如果不同,则继续进行下一个1000次的迭代。
本实施例通过在显示器界面中确定待绘图区域,获取待绘制原图的IFS 码,基于所述IFS码迭代第一预设次数,获得所述待绘制原图的分形图中各点的第一坐标,根据所述第一坐标在所述待绘图区域绘制第一分形图,基于所述第一分形图迭代第二预设次数,获得所述待绘制原图的分形图中各点的第二坐标,根据所述第二坐标在所述待绘图区域绘制第二分形图,在所述第一分形图与所述第二分形图相同时,将所述第一分形图作为绘制结果,实现了在最短的时间内绘制一幅完整的分形图。
参照图3,在本发明一实施例的基础上,进一步提出了实施例,本实施例是一实施例中步骤S30的细化。
本实施例中,步骤S30,根据所述第一坐标在所述待绘图区域绘制第一分形图,包括:
S31:根据所述第一坐标确定所述分形图在所述待绘图区域的伸缩比例因子;
在具体实现中,可以首先分别获取所述第一坐标的横坐标及纵坐标,根据横坐标最大值及横坐标最小值,确定所述分形图在所述待绘图区域的横坐标伸缩比例因子,根据纵坐标最大值及纵坐标最小值,确定所述分形图在所述待绘图区域的纵坐标伸缩比例因子,根据所述横坐标伸缩比例因子及纵坐标伸缩比例因子确定所述待绘图区域的伸缩比例因子。
需要说明的是,所述分形图在待绘图区域的横坐标伸缩比例因子及纵坐标伸缩比例因子可以通过以下公式确定:
其中,x_scale表示分形图在待绘图区域的横坐标伸缩比例因子,y_scale 表示分形图在待绘图区域的纵坐标伸缩比例因子,w_D表示待绘图区域的宽度,h_D表示待绘图区域的高度,x_max表示分形图中横坐标最大值,x_min 表示分形图中横坐标最小值,y_max表示分形图中纵坐标最大值,y_min表示分形图中纵坐标最小值。
为了保证分形图有相同的纵横比,在通过公式(5)和(6)分别获得所述分形图在待绘图区域的横坐标伸缩比例因子和纵坐标伸缩比例因子之后,可以根据获得的横坐标伸缩比例因子和纵坐标伸缩比例因子确定所述分形图的伸缩比例因子,具体可以分别赋予横坐标伸缩比例因子及纵坐标伸缩比例因子一定的权重,从而计算出所述分形图在待绘图区域的伸缩比例因子,也可以直接将所述横坐标伸缩比例因子和纵坐标伸缩比例因子中较小值或者较大值作为所述分形图的伸缩比例因子。
S32:基于所述伸缩比例因子确定所述第一坐标在所述待绘图区域的水平偏移量及竖直偏移量;
具体地,所述分形图的水平偏移量和竖直偏移量可以通过以下公式进行计算:
其中,x_offset表示分形图的水平偏移量,y_offset表示分形图的竖直偏移量,xy_scale表示分形图的伸缩比例因子,w_D表示待绘图区域的宽度,h_D 表示待绘图区域的高度,x_max表示所述分形图中最大的横坐标值,x_min表示所述分形图中最小的横坐标值,y_max表示所述分形图中最大的纵坐标值, y_min表示所述分形图中最小的纵坐标值。
S33:基于所述待绘图区域的水平偏移量及竖直偏移量确定所述第一坐标在所述待绘图区域的坐标;
具体地,可以根据所述分形图的伸缩比例因子和水平偏移量,确定所述第一坐标中各点在所述绘图区域上的横坐标,可以根据所述分形图的伸缩比例因子和竖直偏移量,确定第一坐标中各点在所述纵图区域上的纵坐标,具体的计算公式为:
其中,(x,y)表示分形图上某个点的坐标,(px,py)表示分形图上的点 (x,y)在待绘图区域中的坐标,xy_scale表示分形图的伸缩比例因子,x_offset 表示分形图的水平偏移量,y_offset表示分形图的竖直偏移量。
S34:根据所述第一坐标在所述待绘图区域的坐标在所述待绘图区域绘制所述待绘制原图的第一分形图。
可以理解的是,获得所述第一坐标中各点在所述待绘图区域中对应的坐标以后,在所述待绘图区域中绘制出各像素点,即绘制出所述待绘制原图的第一分形图。
本实施例通过根据所述分形图上的第一坐标确定在所述待绘图区域的伸缩比例因子、水平偏移量及竖直偏移量,从而确定所述第一坐标在所述待绘图区域的坐标,再根据所述第一坐标在所述待绘图区域的坐标绘制第一分形图,实现了将所述待绘制原图准确地映射到待绘图区域中,获得用户需要的分形图。
此外,参照图4,本实施例还提供一种分形图快速绘制系统,本实施例中,分形图快速绘制系统包括:
绘图区域确定模块10,用于在显示器界面中确定待绘图区域;
第一迭代模块20,用于获取待绘制原图的IFS码,基于所述IFS码迭代第一预设次数,获得所述待绘制原图的分形图中各点的第一坐标;
第一分形图绘制模块30,用于根据所述第一坐标在所述待绘图区域绘制第一分形图;
第二迭代模块40,用于基于所述第一分形图迭代第二预设次数,获得所述待绘制原图的分形图中各点的第二坐标;
第二分形图绘制模块50,用于根据所述第二坐标在所述待绘图区域绘制第二分形图;
判断存储模块60,用于在所述第一分形图与所述第二分形图相同时,将所述第一分形图作为绘制结果。
其中,分形图快速绘制系统的各个功能模块实现的步骤可参照本发明分形图快速绘制方法的各个实施例,此处不再赘述。
此外,本发明实施例还提出一种计算机存储介质。
所述计算机存储介质上存储有分形图快速绘制程序,所述分形图快速绘制程序被处理器执行时执行如下操作:
在显示器界面中确定待绘图区域;
获取待绘制原图的IFS码,基于所述IFS码迭代第一预设次数,获得所述待绘制原图的分形图中各点的第一坐标;
根据所述第一坐标在所述待绘图区域绘制第一分形图;
基于所述第一分形图迭代第二预设次数,获得所述待绘制原图的分形图中各点的第二坐标;
根据所述第二坐标在所述待绘图区域绘制第二分形图;
在所述第一分形图与所述第二分形图相同时,将所述第一分形图作为绘制结果。
其中,计算机存储介质实现的步骤可参照本发明分形图快速绘制方法的各个实施例,此处不再赘述。
为了测试本发明提供的方法在分形图绘制中的效果,用VC++开发与本方法相应的分形绘快速绘制系统,通过该系统,只要导入IFS码的信息,就可以用最少的迭代次数和最短的绘图时间画出其对应的分表图。
测试环境如下:
(1)软件开发环境:Windows 7,Microsoft Visual Studio 2008;(2)软件运行环境:Windows 7;(3)硬件开发环境:Dell vostro 220PC. Dual-CoreCPU 2.70GHz,2GB DDR3SDRAM内存,320GB SATA(7200RPM) 硬盘;(4)硬件运行环境:Dellvostro 220PC;(5)编程语言及版本号:Microsoft Visual C++2008。
(2)当导入正方垫的IFS码,则得到图5所示的分形图。
(3)当导入分形树的IFS码,则得到图6所示的分形图。
(4)当导入十字架的IFS码,则得到图7所示的分形图。
在用迭代法绘制上述3个分形图时,统计出的迭代次数和迭代时间如表1所示。
表1绘制不同完整分形图的最少迭代次数和最短绘图时间比较
从表1可以看出,不同分形图的绘制所需要的最少迭代次数和最短迭代时间是不一样的,由发明方法获取的分形图不仅是完整的分形图,而且所有完整分形图都是在最短时间内完成的。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种分形图快速绘制方法,其特征在于,所述方法包括以下步骤:
在显示器界面中确定待绘图区域;
获取待绘制原图的IFS码,基于所述IFS码迭代第一预设次数,获得所述待绘制原图的分形图中各点的第一坐标;
根据所述第一坐标确定所述分形图在所述待绘图区域的伸缩比例因子;
基于所述伸缩比例因子确定所述第一坐标在所述待绘图区域的水平偏移量及竖直偏移量,其中,所述分形图的水平偏移量及竖直偏移量通过以下公式计算得到:
其中,x_offset表示分形图的水平偏移量,y_offset表示分形图的竖直偏移量,xy_scale表示分形图的伸缩比例因子,w_D表示待绘图区域的宽度,h_D表示待绘图区域的高度,x_max表示所述分形图中最大的横坐标值,x_min表示所述分形图中最小的横坐标值,y_max表示所述分形图中最大的纵坐标值,y_min表示所述分形图中最小的纵坐标值;
基于所述待绘图区域的水平偏移量及竖直偏移量确定所述第一坐标在所述待绘图区域的坐标;
根据所述第一坐标在所述待绘图区域的坐标在所述待绘图区域绘制所述待绘制原图的第一分形图;
基于所述第一分形图迭代第二预设次数,获得所述待绘制原图的分形图中各点的第二坐标;
根据所述第二坐标在所述待绘图区域绘制第二分形图;
在所述第一分形图与所述第二分形图相同时,将所述第一分形图作为绘制结果。
2.如权利要求1所述的方法,其特征在于,所述在显示器界面中确定待绘图区域之后,所述方法还包括:
根据所述待绘图区域的宽度和高度确定所述第一预设次数。
3.如权利要求2所述的方法,其特征在于,根据所述绘图区域的宽度和高度通过下式确定所述第一预设次数,
b_itn=w_D*h_D;
其中,b_itn为第一预设次数,w_D为所述待绘图区域的宽度,h_D为所述待绘图区域的高度。
4.如权利要求1所述的方法,其特征在于,所述获取待绘制原图的IFS码,基于所述IFS码迭代第一预设次数,获得所述待绘制原图的分形图中各点的第一坐标,具体包括:
获取待绘制原图的IFS码;
在所述待绘制原图中随机选取一个点作为起始点,获取所述起始点在所述分形图中的坐标;
利用第一预设次数及由所述IFS码确定的迭代函数,基于所述起始点在所述分形图中的坐标确定所述分形图中其余点的坐标,将所述分形图中点的坐标作为第一坐标。
6.如权利要求1~5中任一项所述的方法,其特征在于,所述根据所述第二坐标在所述待绘图区域绘制第二分形图之后,所述方法还包括:
在所述第一分形图与所述第二分形图不相同时,基于所述第二分形图迭代第二预设次数,获得所述待绘制原图的分形图中各点的第三坐标,根据所述第三坐标在所述待绘图区域绘制第三分形图,在所述第二分形图与所述第三分形图相同时,将所述第二分形图作为绘制结果。
7.一种分形图快速绘制系统,其特征在于,所述系统包括:
绘图区域确定模块,用于在显示器界面中确定待绘图区域;
第一迭代模块,用于获取待绘制原图的IFS码,基于所述IFS码迭代第一预设次数,获得所述待绘制原图的分形图中各点的第一坐标;
第一分形图绘制模块,用于根据所述第一坐标确定所述分形图在所述待绘图区域的伸缩比例因子,基于所述伸缩比例因子确定所述第一坐标在所述待绘图区域的水平偏移量及竖直偏移量,基于所述待绘图区域的水平偏移量及竖直偏移量确定所述第一坐标在所述待绘图区域的坐标,根据所述第一坐标在所述待绘图区域的坐标在所述待绘图区域绘制所述待绘制原图的第一分形图,基于所述伸缩比例因子确定所述第一坐标在所述待绘图区域的水平偏移量及竖直偏移量,其中,所述分形图的水平偏移量及竖直偏移量通过以下公式计算得到:
其中,x_offset表示分形图的水平偏移量,y_offset表示分形图的竖直偏移量,xy_scale表示分形图的伸缩比例因子,w_D表示待绘图区域的宽度,h_D表示待绘图区域的高度,x_max表示所述分形图中最大的横坐标值,x_min表示所述分形图中最小的横坐标值,y_max表示所述分形图中最大的纵坐标值,y_min表示所述分形图中最小的纵坐标值;
第二迭代模块,用于基于所述第一分形图迭代第二预设次数,获得所述待绘制原图的分形图中各点的第二坐标;
第二分形图绘制模块,用于根据所述第二坐标在所述待绘图区域绘制第二分形图;
判断存储模块,用于在所述第一分形图与所述第二分形图相同时,将所述第一分形图作为绘制结果。
8.一种用户设备,其特征在于,所述用户设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的分形图快速绘制程序,所述分形图快速绘制程序配置为实现如权利要求1至6中任一项所述的分形图快速绘制方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有分形图快速绘制程序,所述分形图快速绘制程序被处理器执行时实现如权利要求1至6中任一项所述的分形图快速绘制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810742545.8A CN108846883B (zh) | 2018-07-09 | 2018-07-09 | 分形图快速绘制方法、系统、用户设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810742545.8A CN108846883B (zh) | 2018-07-09 | 2018-07-09 | 分形图快速绘制方法、系统、用户设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108846883A CN108846883A (zh) | 2018-11-20 |
CN108846883B true CN108846883B (zh) | 2022-07-22 |
Family
ID=64201630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810742545.8A Expired - Fee Related CN108846883B (zh) | 2018-07-09 | 2018-07-09 | 分形图快速绘制方法、系统、用户设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108846883B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947339B (zh) * | 2019-03-28 | 2020-10-23 | 武汉轻工大学 | 抛物柱面的绘制方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4941193A (en) * | 1987-10-02 | 1990-07-10 | Iterated Systems, Inc. | Methods and apparatus for image compression by iterated function system |
CN106504296A (zh) * | 2016-11-09 | 2017-03-15 | 烟台中飞海装科技有限公司 | 一种计算机分形图形生成方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11136522A (ja) * | 1997-10-31 | 1999-05-21 | Sony Corp | 画像の反復変換復号化装置及び方法、並びに記録媒体 |
AU2003901237A0 (en) * | 2003-03-14 | 2003-04-03 | The Australian National University | Fractal Image Data and Image Generator |
US8106907B2 (en) * | 2008-03-21 | 2012-01-31 | National Chiao Tung University | Leaping iterative composition method of complicated graphic and storage medium having computer program executing the same |
-
2018
- 2018-07-09 CN CN201810742545.8A patent/CN108846883B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4941193A (en) * | 1987-10-02 | 1990-07-10 | Iterated Systems, Inc. | Methods and apparatus for image compression by iterated function system |
CN106504296A (zh) * | 2016-11-09 | 2017-03-15 | 烟台中飞海装科技有限公司 | 一种计算机分形图形生成方法 |
Non-Patent Citations (1)
Title |
---|
"分形绘图的原理、算法及应用";王防修;《中国优秀硕士学位论文全文数据库基础科学辑》;20071015(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108846883A (zh) | 2018-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109358851B (zh) | 图表组件的创建方法、装置及计算机可读存储介质 | |
CN110135530B (zh) | 转换图像中汉字字体的方法及系统、计算机设备及介质 | |
CN109753641B (zh) | 一种更改对象位置的方法、装置、电子设备及存储介质 | |
CN111444885B (zh) | 图像中构件的识别方法、设备及计算机可读存储介质 | |
CN111782758B (zh) | 基于cad的图纸审查结果查看方法及相关装置 | |
CN111538799A (zh) | 热力图构建方法、设备、存储介质及装置 | |
CN111753347B (zh) | 基于Revit图元的构件筛选方法、Revit平台及存储介质 | |
CN113741898A (zh) | 表单生成方法、装置及设备 | |
CN107122104B (zh) | 数据显示方法及装置 | |
CN108846883B (zh) | 分形图快速绘制方法、系统、用户设备及存储介质 | |
CN106535002B (zh) | 一种桌面启动器模板布局的更新方法及装置 | |
KR102282284B1 (ko) | 오브젝트 집합의 시각적 표현을 제공하는 방법, 장치, 기기 및 저장 매체 | |
CN113297641A (zh) | 印花处理方法、内容元素处理方法、装置、设备及介质 | |
JP5563545B2 (ja) | 情報処理装置及び方法 | |
CN111914046A (zh) | 标的坐落图的生成方法、装置及计算机设备 | |
CN113407878B (zh) | 页面适配方法、显示终端及可读存储介质 | |
CN111125205A (zh) | 看板数据显示方法、终端及存储介质 | |
CN111179222A (zh) | 脑出血点智能检测方法、装置及计算机可读存储介质 | |
CN108921917B (zh) | 自适应分形绘图方法、设备、系统及存储介质 | |
CN108961351B (zh) | 通过压缩实现分形图绘制的方法、设备、系统及存储介质 | |
JP2005267158A (ja) | 文字サイズ制御方法、装置及びプログラム | |
CN111753346B (zh) | 线性构件的剖面图生成方法、Revit平台及存储介质 | |
CN110263110B (zh) | 基于抽稀算法的地理空间数据加载方法、设备及存储介质 | |
CN113449485A (zh) | 引线生成方法、装置、设备及存储介质 | |
CN111489295B (zh) | 图像处理方法、电子装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220722 |