2013-01-19 46 views
2

在地理信息系統中,我給了一個單一的點,並且應該創建一個正多邊形,基本上正是this function所做的。如何從一個點創建多邊形?

不幸的是,我不知道如何實現這一點。我甚至不知道在Google上尋找什麼。

任何想法?注意:系統基於SQL Server,因此我使用的是T-SQL(如果這有助於/有任何危害)。

+0

因此,您需要的是一個T-SQL函數,它可以完成createRegularPolygon函數所做的工作,我能正確理解您的問題嗎? – Josien

+0

正確:-)基本上,一個INSERT樣本會很好,但基本上正則多邊形的創建部分就足夠了。 –

回答

2

這聽起來有點像功課,所以請原諒我,如果我在佈局通俗易懂的語言,而不是T-SQL

首先的算法,我們將創建具有n個邊的多邊形半徑爲1圍繞原點(0,0),然後展示如何得到半徑爲r,旋轉theta和中心(x,y)的多邊形的一般情況。

在此n邊多邊形中將有n個頂點。每個頂點將具有座標(cos(k/n),sin(k/n)),其中k從0到n-1。從那裏得到你的多邊形,從頂點k到頂點k + 1做一條直線。

現在,我們該如何讓它變大?如果多邊形具有半徑r而不是半徑1,則座標將是(r * cos(k/n),r * sin(k/n))。旋轉角度theta? (r * cos((k/n)+θ),r * sin((k/n)+ theta)將其轉換到除原點之外的某個地方?(x + r * cos((k/n)+ theta ),y + r * sin((k/n)+ theta)

+0

這不是作業;-)。無論如何,非常感謝您的幫助,這完美地回答了我的問題:-)! –

相關問題