之前作過的多邊形的變形以及一筆畫,這些都是2D圖形的變化,這一篇就來介紹3D圖形的變化,先由比較簡單的球開始了。
在Google Earth上的 3D物件有兩種,一種是模型(model),另一種是”具有高度的多邊形量體”。前者需要透過如SketchUp等3D製圖軟體來產生,例如在Google Earth上打開3D建物圖層,即可看到台北市有很多精緻的建築物模型,這些都是由各建模者上傳,經Google審查通過的模型。除了有固定位置的建物模型外,我也製作了一些其它交通運具模型,我也拿這些模型來作些動態的應用,比如我在2016年曾製作過的”4D貓纜“。
至於另一種3D物件,其實在Google Earth上即可製作,您只要將多邊形給予高度,再將邊界向地面延伸,即為我稱其為”具有高度的多邊形量體”,例如我曾將台北市的建築物依建築物高度拉出的”素模”。
那麼要製作一個不要連着地面的多面體可行嗎?其實也是可以,只是這時得直接編輯kml檔了,您需要將各個面的邊界端點的3D座標計算出來,以我這次要作的主題 – “球”為例,我依User選定的區域範圍,求算出位在中心點上方的球心座標點丶半徑、以及給定經緯度的間隔角度為30°,我再依3D極座標的計算式,計算得出球面上各個三角形的端點3D座標值,然後將這些三角形以多邊形語法寫入kml,以間隔角度若為30°來算,就有120 面,也就是這個球是一個120面體。
光作出這顆球似嫌單調,依我的慣例得想辦法讓它能動,我想到不如來作個掉落的彈力球好了,每次的反彈我設定為75%,所以經過約七次的反彈之後,大約快靜上了,總時間約30秒,畫面的移動上我也結合之前作的”環繞飛覽“,最後的成果在這個 彈力球KML。