天天看點

ArcGIS多面體(multipatch)解析(一)

從幾何學的角度來說,再複雜的三維形狀都可以通過足夠多,足夠小的三角形組合起來表達。比如矩形可以表達成兩個三角形,如下圖:

ArcGIS多面體(multipatch)解析(一)

圓柱形可以由多個三角形排列而成:

ArcGIS多面體(multipatch)解析(一)

但ArcGIS中的多面體構成并沒有采用這種“簡單三角形法”來組織,而是由如下三種基礎結構構成:

1)Triangle Strip ,筆者翻譯為:三角片

2)Triangle Fan,翻譯為:三角扇

3)Rings,翻譯為:環

下面我們将對這三種結構進行一一講解,首先是Triangle Strip。三角片可以有序的排列在一起形成一個多面體,ArcGIS記錄該多面體并不記錄所有三角形以及三角形的每個節點,而是隻記錄類型為Triangle Strip,并按順序0,1,2,3,4,5...n記錄節點順序即可。如下圖,這樣記錄是不是就簡潔多了?

ArcGIS多面體(multipatch)解析(一)

Triangle Fan(三角扇),與三角片類似,三角扇也可以有序的排列在一起構成一個多面體,隻不過ArcGIS記錄的節點順序有所不同。ArcGIS首先記錄下面這個多面體是由三角扇構成,再按照0,1,0,2,0,3,.....,0,n的順序記錄節點即可描述如下“金字塔”形狀。(注意:下面這個配圖不是平面圖形,而是一個金字塔的立體形狀,0點是金字塔尖,1,2,3,4節點是塔底)

ArcGIS多面體(multipatch)解析(一)

下面難度偏高的部分來了,就是Ring(環)結構。環是個相對寬泛的定義,筆者簡單描述為三個節點以上(不包括3個)構成的多邊形,節點可以不是共平面的。比如四邊形,比如下面三個不規則形狀,其中第二個所有節點是共平面的,一、三不是,但一個環都是“一筆可以畫成的”,中途不能“擡筆”。

ArcGIS多面體(multipatch)解析(一)

圖一

ArcGIS多面體(multipatch)解析(一)

圖二

ArcGIS多面體(multipatch)解析(一)

圖三

有了三角片、三角扇和環這三種基礎構成單元後,就可以按照平面構成多面體了。多面體由多個平面構成,但出于一些限制條件,邏輯上一個平面中能包括哪些東西,ArcGIS中是有明确規定的,關于這部分,我們下一篇再介紹。