GISでは、単一のポイントが与えられ、そこから正多角形を作成します。これは、基本的にこの関数が行うこととまったく同じです。
残念ながら、これを実現する方法がわかりません。グーグルで何を探すべきかさえわからない。
何か案は?
PS:システムはSQL Serverに基づいているため、T-SQLを使用しています(これが何らかの形で役立つ/有害な場合)。
GISでは、単一のポイントが与えられ、そこから正多角形を作成します。これは、基本的にこの関数が行うこととまったく同じです。
残念ながら、これを実現する方法がわかりません。グーグルで何を探すべきかさえわからない。
何か案は?
PS:システムはSQL Serverに基づいているため、T-SQLを使用しています(これが何らかの形で役立つ/有害な場合)。
これは宿題のように聞こえるので、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)。