[发明专利]一种基于3D Growing Tree迷宫的数字置乱方法有效
申请号: | 201410745921.0 | 申请日: | 2014-12-08 |
公开(公告)号: | CN104408683B | 公开(公告)日: | 2019-03-05 |
发明(设计)人: | 邵利平 | 申请(专利权)人: | 陕西师范大学 |
主分类号: | G06T1/00 | 分类号: | G06T1/00 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 陆万寿 |
地址: | 710062 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 growing tree 迷宫 数字 方法 | ||
1.一种基于3D Growing Tree迷宫的数字置乱方法,其特征在于包括以下步骤:
第1步:设定迷宫初始范围Sinit=()m×n×l和迷宫有效区域Smaze=(si,j,k)m×n×l为图像上的局部任意3D封闭连通区域,对于若则标记si,j,k=-1,反之则标记si,j,k=0表示该节点未访问,若si,j,k>0表示该节点已访问;
第2步:对于记si,j,k.d,d=0,1,2,3,4,5依次为节点si,j,k的下方墙、右方墙、上方墙、左方墙、底部墙和顶部墙,初始化si,j,k.d=-1,d=0,1,2,3,4,5,-1表示为有墙,0表示无墙;
第3步:选择随机数发生器y=RG(x),设定随机数发生器初始值RG.init=seed,初始化迷宫节点列表Amaze=Φ,节点更新序列Aupdate=Φ,由随机数发生器随机产生2个概率Precent,Poldest∈[0,1);
第4步:选取将sx,y,z分别加到Amaze和Aupdate,即Amaze=Amaze.add(sx,y,z),Aupdate=Aupdate.add(sx,y,z);
第5步:若Amaze≠Φ,则循环执行第6步~第8步,若Amaze=Φ,则执行第9步;
第6步:产生1个随机数P∈[0,1),若P∈[0,Precent],则取Amaze尾部元素作为当前节点sx,y,z,index=Amaze.length-1,反之若P∈(Precent,Precent+Poldest],则取Amaze头部元素作为当前节点sx,y,z,index=0,反之则从Amaze中随机取一个元素作为当前节点sx,y,z,sx,y,z=Amaze(index),index=random(Amaze.length);
第7步:若sx,y,z周围的邻近节点中sx+1,y,z,sx,y+1,z,sx-1,y,z,sx,y-1,z,sx,y,z-1,sx,y,z+1存在未访问的有效节点sx′,y′,z′∈Smaze,则将所有的sx′,y′,z′加入到Amaze和Aupdate中,即Amaze=Amaze.add(sx′,y′,z′),Aupdate=Aupdate.add(sx′,y′,z′);
第8步:若sx,y,z周围的邻近节点中sx+1,y,z,sx,y+1,z,sx-1,y,z,sx,y-1,z,sx,y,z-1,sx,y,z+1不存在未访问的有效节点sx′,y′,z′∈Smaze,则删除Amaze索引位置为index位置的元素,即Amaze.delete(index);
第9步:利用Aupdate构造Smaze=(si,j,k)m×n×l范围内所有节点间的节点位置映射关系,从而将图像上3D封闭连通区域Smaze=(si,j,k)m×n×l范围内的所有节点进行整体置乱。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陕西师范大学,未经陕西师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410745921.0/1.html,转载请声明来源钻瓜专利网。