一种九芒星分形图像生成方法与流程

文档序号:18002029发布日期:2019-06-25 22:57阅读:755来源:国知局
一种九芒星分形图像生成方法与流程

本发明涉及计算机图像处理技术领域,特别是涉及一种九芒星分形图像生成方法。



背景技术:

谢尔宾斯基三角形(sierpinskitriangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出。它是自相似集的例子,其豪斯多夫维数值是log(3)/log(2)≈1.585。用生成随机数的方法,可生成谢尔宾斯基三角形:1.取平面上三点a,b,c,组成一个三角形(通常为正三角形);2.随机取三角形abc内的一点p;3.画出点p;4.随机选取三角形的一个顶点t,并计算p和t的中点m,即:m=(p+t)/2;5.将点p设置为点m;6.重复步骤3。谢尔宾斯基三角形的图像效果见图1。数字艺术作为信息时代科技发展的产物,已经越来越广泛地运用于艺术设计领域内,艺术与科学之间的界限也越来越模糊。现有的谢尔宾斯基三角形的图像效果存在如下问题:运算速度慢,其生成的图像效果不佳。



技术实现要素:

为了解决现有技术存在的不足,本发明的目的在于提供一种九芒星分形图像生成方法,可以提高运算速度,以提高图像生成速度并且获得更加的艺术效果。

为实现上述目的,本发明提供的九芒星分形图像生成方法,包括以下步骤:

生成正九边形,并进行初始化;

生成空白图像;

从二维空间映射到图像像素位置;

修改图像像素数值;

生成新的坐标点;

选取新的偏移点;

生成所述九芒星分形图像。

进一步地,所述生成正九边形,并进行初始化的步骤,进一步包括:

生成一个正九边形,并获取坐标信息;

进行分组;

获得正九边形的中心的坐标;

随机选取九个顶点及中心点中的任一点作为偏移点;

随机设置一个起点;

设置总运算次数。

进一步地,所述生成空白图像的步骤,进一步包括:

生成图像像素大小为w×h的空白图像;

将所述空白图像中所有像素的数值初始化为0;

设置九边形空间到图像空间的映射参数。

进一步地,所述设置九边形空间到图像空间的映射参数的步骤,进一步包括:

将采样启始位置设为(x0,y0);

将映射缩放系数设为(ws,hs)。

进一步地,通过下式将所述随机点映射到图像像素位置,

ix=(px-x0)*ws,

iy=(py-y0)*hs,

其中,ix、iy为随机点映射到图像像素位置,px、py为随机坐标点位置,x0、y0为采样启始位置,ws、hs为映射缩放系数。

进一步地,所述修改图像像素数值的步骤,进一步包括:

如果0≤ix<w且0≤iy<h,则将图像中对应的像素灰度数值+1;

其中,ix、iy为随机点映射到图像像素位置,w为横向像素数,h为竖向像素数。

进一步地,所述生成新的坐标点的步骤,进一步包括:

计算随机点与偏移点的中点,并将其设为新的坐标点。

更进一步地,所述生成所述九芒星分形图像的步骤,进一步包括:

判断是否满足完成条件,如果不满足条件,则返回所述从二维空间映射到图像像素位置的步骤,如果满足条件,则生成所述九芒星分形图像;

运算次数等于总运算次数;

对图像的像素进行伪彩处理,生成最终九芒星分形图像。

为实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述的九芒星分形图像生成方法的步骤。

为实现上述目的,本发明还提供一种终端设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述的九芒星分形图像生成方法的步骤。

本发明涉及的九芒星分形图像生成方法,通过初始化相关参数;生成一幅空白图像;从二维空间映射到图像像素位置;修改图像像素数值;生成新的坐标点;选取新的偏移点;判断是否满足完成条件,如果不满足条件,则返回所述从二维空间映射到图像像素位置的步骤,如果满足条件,则生成所述九芒星分形图像,能够提高运算速度,以提高图像生成速度并且获得更加的艺术效果。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:

图1为根据本发明的九芒星分形图像生成方法流程图;

图2为根据本发明的九芒星分形图像生成方法生成的九芒星图像效果图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

图1为根据本发明的九芒星分形图像生成方法流程图,下面将参考图1,对本发明的九芒星分形图像生成方法进行详细描述。

首先,在步骤101,初始化相关参数。在步骤101,生成一个正九边形,并获取坐标信息;进行分组;获得正九边形的中心o的坐标;选取九个顶点及中心点中的任一点作为偏移点t;随机设置一个点做为起点(随机点p);设置总运算次数n。具体地,生成一个正九边形,将九个顶点分别设为e0、e1、e2、e3、e4、e5、e6、e7、e8及e9,并分别获得每个顶点的坐标信息(x,y)。之后,将九个顶点分为三个组,分别是第一组(e0、e3、e6)、第二组(e1、e4、e7)、第三组(e2、e5、e8),每组的三个顶点刚好构成一个正三角形。

在步骤102,生成一幅空白图像img。在步骤102中,生成像素大小为(w,h)的空白图像img;空白图像img中所有像素的数值初始化为0;设置九边形空间到图像空间的映射参数,具体地,将采样启始位置设为(x0,y0),将映射缩放系数设为(ws,hs)。

在步骤103,从二维空间映射到图像像素位置。在步骤103中,将随机点p的坐标(px,py)映射到图像img的像素位置上(ix,iy)。像素位置(ix,iy)通过如下公式计算。

ix=(px-x0)*ws

iy=(py-y0)*hs

在步骤104,修改图像像素数值。在步骤104中,判断像素位置(ix,iy)是否为有效的像素位置,即满足如下条件:0≤ix<w且0≤iy<h。如果有效,则将图像img中对应的像素灰度数值+1。

在步骤105,生成新的坐标点p'。在步骤105中,计算随机点p与偏移点t的中点m,即m=(p+t)/2;将中点m设为新的坐标点p'。

在步骤106,选取新的偏移点t'。从新选择则新的偏移点t',如果此前的t为正九边形的中心点o,则随机从正九边形的九个顶点(e0、e1、e2、e3、e4、e5、e6、e7、e8、e9)中的任一个顶点作为新的偏移点t'。否则新的偏移点t'有十分之一的概率设置为o,新的偏移点t'有十分之三的概率保持不变,新的偏移点t'有十分之六的概率设置为其所在正三角形组里(同一个组)的另外两个顶点。

在步骤107,判断运算次数,如果运算次数小于在步骤101中设置的总运算次数n,则返回至步骤103;如果运算次数等于总运算次数n,则执行下一步骤。

在步骤108,对图像img的像素进行伪彩处理,生成最终九芒星分形图像,生成的九芒星图像效果图如图2所示。

本发明还提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述的九芒星分形图像生成方法的步骤,所述九芒星分形图像生成方法参见前述部分的介绍,不再赘述。

本发明还提供一种终端设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述的九芒星分形图像生成方法的步骤,所述九芒星分形图像生成方法参见前述部分的介绍,不再赘述。

根据本发明的实施例,初始化相关参数;生成一幅空白图像;从二维空间映射到图像像素位置;修改图像像素数值;生成新的坐标点;选取新的偏移点;判断是否满足完成条件,如果不满足条件,则返回所述从二维空间映射到图像像素位置的步骤,如果满足条件,则生成所述九芒星分形图像。因此,能够提高运算速度,以提高图像生成速度并且获得更加的艺术效果。

本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1