2

GISでは、単一のポイントが与えられ、そこから正多角形を作成します。これは、基本的にこの関数が行うこととまったく同じです。

残念ながら、これを実現する方法がわかりません。グーグルで何を探すべきかさえわからない。

何か案は?

PS:システムはSQL Serverに基づいているため、T-SQLを使用しています(これが何らかの形で役立つ/有害な場合)。

4

1 に答える 1

2

これは宿題のように聞こえるので、T-SQLではなくプレーン言語でアルゴリズムをレイアウトする場合はご容赦ください

まず、原点(0,0)を中心に半径1のn辺のポリゴンを作成し、次に半径r、回転シータ、中心(x、y)のポリゴンの一般的なケースに到達する方法を示します。 。

このn辺のポリゴンにはn個の頂点があります。各頂点には座標(cos(k / n)、sin(k / n))があり、kの範囲は0からn-1です。そこからポリゴンを取得するには、頂点kから頂点k+1まで線を引きます。

では、どうすればそれを大きくすることができますか?ポリゴンの半径が1ではなくrの場合、座標は(r * cos(k / n)、r * sin(k / n))になります。角度シータで回転しますか?(r * cos((k / n)+ theta)、r * sin((k / n)+ theta)。原点以外の場所に変換しますか?(x + r * cos((k / n)+ theta) )、y + r * sin((k / n)+ theta)。

于 2013-01-19T14:43:50.083 に答える