天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

四色定理怎么理解_四色定理的實現(xiàn)(AO+C++)

發(fā)布時間:2016-10-24 09:59

  本文關鍵詞:四色定理,由筆耕文化傳播整理發(fā)布。


    上個星期實現(xiàn)了唯一值渲染后,一直打算實現(xiàn)四色渲染的效果。關于四色定理我也是最近才聽說,感覺真的挺奇妙的,所以也吸引我去實現(xiàn)它。

    正好在網(wǎng)上找到了一篇有關四色渲染的學習資料,大致思路和算法也參考了這篇文章。

    首先,四色定理就是無論多么錯雜的地圖,只須要用四種色彩就能將它區(qū)分隔來,這四種顏色可以使相鄰的面顏色都不相同。這是1852年英國人弗朗西斯提出來的。直到1976年,美國數(shù)學家阿佩爾和哈肯哄騙高速策畫機,歷時1200小時,,成功的證了然四色題目的正確性。

    實現(xiàn)的思路是通過一個二維矩陣來標識面與面之間的相互關系(相鄰為1或不相鄰為0),如下A、B、C、D四個面的相互關系:

A B C D A 0 B 1 0 C 1 0 0 D 0 1 1 0

    通過以上矩陣,我們就可以對一維數(shù)組color[4]賦值,分別代表A、B、C、D的顏色(用1-4表達)。

    思路大致是這樣的:

    第一個賦值1,

    第m個面賦值n(n從1開始),循環(huán)判斷m與1至m-1個面是否相鄰,如果相鄰且顏色也相同,那么跳出循環(huán),我們就需要對其賦的顏色n++,并且重新開始循環(huán)判斷。

    如果m與m-1個面循環(huán)判斷后沒有既相鄰又同顏色的,那么m個面可以確定賦值為n。

    但是如果n到4都沒有符合條件,那么我們就需要重新對m-1賦值,它的顏色應該+1,并且繼續(xù)循環(huán)判斷m-1。

 

    下面是具體代碼:

   

color[0] = 1; int m=1, n=1; //m計數(shù),n為顏色 while(m < count) { while(n <= 4 && m < count) { int k = 0; for(k = 0; k < m; k++) { if(rel[m][k] == 1 && color[k] == n) break; } if(k < m) n++; else { color[m] = n; m++; n = 1; } } if(n>4) { m--; n = color[m] + 1; } }

 

AO部分我們需要實現(xiàn)判斷兩個面是否相鄰,這里用的是IRelationalOperator接口,它的Touch方法可以判斷兩個面是否相鄰。這里面index是標識面的一個字段號。

while(ipfeature2) { VARIANT getvar; ipfeature2->get_Value(index, &getvar); i = getvar.intVal; IGeometryPtr ipgeorel; ipfeature2->get_Shape(&ipgeorel); IRelationalOperatorPtr iprelation(ipgeorel); IFeaturePtr ipfeature3; IQueryFilterPtr ipQueryFilter3(__uuidof(QueryFilter)); IFeatureCursorPtr ipcursor3; ipfeacls->Search(ipQueryFilter3, false, &ipcursor3); ipcursor3->NextFeature(&ipfeature3); while(ipfeature3) { ipfeature3->get_Value(index, &getvar); j = getvar.intVal; if(i>= j || rel[i][j] == 1) { ipcursor3->NextFeature(&ipfeature3); continue; } IGeometryPtr ipgeo3; ipfeature3->get_Shape(&ipgeo3); VARIANT_BOOL iftouch, ifequal; iprelation->Touches(ipgeo3, &iftouch); //iprelation->Equals(ipgeo3, &ifequal); if(iftouch == VARIANT_TRUE && i != j) { rel[i][j] = 1; rel[j][i] = 1; } ipcursor3->NextFeature(&ipfeature3); } ipcursor2->NextFeature(&ipfeature2); }


最后附一張效果圖

   

 

參考文章:  


  本文關鍵詞:四色定理,由筆耕文化傳播整理發(fā)布。



本文編號:151352

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/wenshubaike/shangbiaozhuanli/151352.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權申明:資料由用戶d92ce***提供,本站僅收錄摘要或目錄,作者需要刪除請E-mail郵箱bigeng88@qq.com
最近中文字幕高清中文字幕无| 国产精品欧美一区二区三区不卡| 东京热加勒比一区二区三区| 亚洲一区二区三区中文久久| 亚洲超碰成人天堂涩涩| 99久只有精品免费视频播放| 成年午夜在线免费视频| 国产日韩欧美专区一区| 国产精品亚洲欧美一区麻豆| 亚洲一区二区三区国产| 国产又色又粗又黄又爽| 久久偷拍视频免费观看| 大尺度剧情国产在线视频| 国产亚洲二区精品美女久久| 中文字幕久热精品视频在线| 国产精欧美一区二区三区久久| 在线观看视频国产你懂的| 人妻偷人精品一区二区三区不卡 | 加勒比系列一区二区在线观看| 日韩一区二区三区高清在| 国内外免费在线激情视频| 欧美日韩一区二区综合| 亚洲天堂精品一区二区| 五月婷婷缴情七月丁香| 丰满少妇被粗大猛烈进出视频| 欧美胖熟妇一区二区三区| 区一区二区三中文字幕| 国产伦精品一一区二区三区高清版| 亚洲一区二区三区av高清| 黄色av尤物白丝在线播放网址| 日本午夜免费福利视频| 色婷婷视频国产一区视频| 日本婷婷色大香蕉视频在线观看| 日韩精品福利在线观看| 日韩中文字幕欧美亚洲| 真实偷拍一区二区免费视频| 亚洲欧美日韩在线中文字幕| 爽到高潮嗷嗷叫之在现观看| 国产欧美一区二区色综合| 午夜日韩在线观看视频| 女厕偷窥一区二区三区在线|