[發明專利]一種基于3D隨機Prim迷宮的數字置亂方法有效
| 申請號: | 201410745861.2 | 申請日: | 2014-12-08 |
| 公開(公告)號: | CN104376527B | 公開(公告)日: | 2018-10-26 |
| 發明(設計)人: | 邵利平 | 申請(專利權)人: | 陜西師范大學 |
| 主分類號: | G06T1/00 | 分類號: | G06T1/00 |
| 代理公司: | 西安通大專利代理有限責任公司 61200 | 代理人: | 陸萬壽 |
| 地址: | 710062 陜*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 隨機 prim 迷宮 數字 方法 | ||
1.一種基于3D隨機Prim迷宮的數字置亂方法,其特征在于包括以下步驟:
第1步:設定迷宮初始范圍Sinit=()m×n×l和迷宮有效區域Smaze=(si,j,k)m×n×l為圖像上的3D局部不規則封閉連通區域,對于若則標記si,j,k=-1,反之則標記si,j,k=0表示該節點si,j,k未訪問,若si,j,k>0表示該節點si,j,k已訪問;
第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,即將Smaze范圍內的所有節點以墻進行分隔,si,j,k.d=-1表示有墻,si,j,k.d=0表示無墻;
第3步:選擇隨機數發生器y=RG(x),設定初始值RG.init=seed;
第4步:隨機選取初始化墻列表Lwall=Φ和節點更新序列Aupdate=Φ;
第5步:將sx,y,z的有效墻,即當前節點與Smaze范圍內未訪問節點之間的分隔墻加入墻列表Lwall=Lwall.add(sx,y,z),將sx,y,z的坐標(x,y,z)加入節點更新序列Aupdate=Aupdate.add((x,y,z)),標記sx,y,z=1;
第6步:從Lwall中隨機刪除一面墻:index=RG.random(Lwall.length),sx,y,z.d=Lwall.delete(index),d∈{0,1,2,3,4,5};
第7步:若d=0且sx+1,y,z=0,則刪除sx,y,z和sx+1,y,z之間的分隔墻,且置sx+1,y,z=1,x=x+1;反之若d=1且sx,y+1,z=0,則刪除sx,y,z和sx,y+1,z之間的分隔墻,且置sx,y+1,z=1,y=y+1;反之若d=2且sx-1,y,z=0,則刪除sx,y,z和sx-1,y,z之間的分隔墻,且置sx-1,y,z=1,x=x-1;反之若d=3且sx,y-1,z=0則刪除sx,y,z和sx,y-1,z之間的分隔墻,且置sx,y-1,z=1,y=y-1;反之若d=4且sx,y,z-1=0,則刪除sx,y,z和sx,y,z-1之間的分隔墻,且置sx,y,z-1=1,z=z-1;反之若d=5且sx,y,z+1=0,則刪除sx,y,z和sx,y,z+1之間的分隔墻,且置sx,y,z+1=1,z=z+1;若存在以上6種情況之一,則將sx,y,z的有效墻加入墻列表Lwall=Lwall.add(sx,y,z),將(x,y,z)加入節點更新序列Aupdate=Aupdate.add((x,y,z));
第8步:反復執行第6~7步,直至Lwall=Φ;
第9步:利用Aupdate構造Smaze=(si,j,k)m×n×l范圍內所有節點間的節點位置映射關系,從而將圖像上3D局部不規則封閉連通區域Smaze=(si,j,k)m×n×l范圍內所有節點進行整體置亂。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于陜西師范大學,未經陜西師范大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410745861.2/1.html,轉載請聲明來源鉆瓜專利網。





