我們知道多重區域內的Field計算公式如下:
假設n為外圍頂點數,m為內部點數,則有:
F = 3m + n - 2
那么如何計算多重區域的link數量呢?是否也有公式可循?
下面嘗試推導一下。
我們先考慮n=3時的情況,
m=0,l = 3
m=1,l = 6
m=2,l = 9
...
即每增加一個內部點就增加3條link,這個也很容易理解,因為每增加一個內點,其實是在原區域外增加一個頂點,就需要增加3條link。
這時,可以用如下公式計算:
l = 3m + n
因為n=3,則
l = 3m + 3 = 3(m + 1)
我們再考慮外頂點增加的情況:
當n=4時,我們可以把它分解為2個n=3時的情況,然后減1.
當n=5時,我們可以分解為3個n=3時的情況,然后減2.
...
發現n每加1,需要減去的數也加1;同時n與需要減去的數之差為3,也就是說總數需要減去(n-3)個,而這個數正是增加的link數,也就是說要多出n-3個link。
實際上,由任意多個頂點圍成的n邊形,總能分割成n-2個三角形,而它們共享的邊數為(n-2) - 1 = (n - 3)個!
我們將上面兩個公式相加,得出:
l = 3m + n + (n - 3) = 3m + 2n - 3
下面我們來驗證一下:
n=4,m=0,l = 3
n=4,m=1,l = 8
n=4,m=2,l = 11
n=5,m=0,l = 7
n=5,m=1,l = 10
n=5,m=2,l = 13
...
實際上,n導致的l數變化與m數導致的l數變化是無關的。
看來這個公式是正確的。
這樣我們就可以很方便地根據頂點數和內點數計算出多重區域的link數了。