一种九芒星分形图像生成方法技术

技术编号:21455673 阅读:70 留言:0更新日期:2019-06-26 05:20
一种九芒星分形图像生成方法,包括以下步骤:生成正九边形,并进行初始化;生成空白图像;从二维空间映射到图像像素位置;修改图像像素数值;生成新的坐标点;选取新的偏移点;生成所述九芒星分形图像。本发明专利技术的九芒星分形图像生成方法,能够提高运算速度,以提高图像生成速度并且获得更加奇妙的艺术效果。

【技术实现步骤摘要】
一种九芒星分形图像生成方法
本专利技术涉及计算机图像处理
,特别是涉及一种九芒星分形图像生成方法。
技术介绍
谢尔宾斯基三角形(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)*wsIy=(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.根据权利要求1所述的九芒星分形图像生成方法,其特征在于,所述生成正九边形,并进行初始化的步骤,进一步包括:生成一个正九边形,并获取坐标信息;进行分组;获得正九边形的中心的坐标;随机选取九个顶点及中心点中的任一点作为偏移点;随机设置一个起点;设置总运算次数。3.根据权利要求1所述的九芒星分形图像生成方法,其特征在于,所述生成空白图像的步骤,进一步包括:生成图像像素大小为W×H的空白图像;将所述空白图像中所有像素的数值初始化为0;设置九边形空间到图像空间的映射参数。4.根据权利要求3所述的九芒星分形图像生成方法,其特征在于,所述设置九边形空间到图像空间的映射参数的步骤,进一步包括:将采样启始位置设为(x0,y0);将映射缩放系数设为(ws,hs)。5.根据权利要求4所述的九芒星分形图像生成方法,其特征在于,通过下式将所述随机点映射到图像像素位置,Ix=(px-x0)*ws,Iy=(py-y0)*hs,其中,Ix、Iy为随机点映射到图像像素位置,px、py为随机坐标点位置,x0、...

【专利技术属性】
技术研发人员:叶峰陆利民
申请(专利权)人:苏州蜗牛数字科技股份有限公司
类型:发明
国别省市:江苏,32

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

1