2

私は多くの3D平面を持っています。私が知る必要があるのは、アスペクト角の計算方法です。各平面の射影された法線ベクトルを使用してアスペクト角を計算できることを願っています (私の平面方程式は ax+by-z+c=0 です。したがって、この平面の法線ベクトルは a,b,-1 です)。飛行機。次に、Y 軸からアスペクト角を計算できます。しかし、XY 平面に投影した後、投影された法線ベクトルを取得する方法がわかりません。次に、2 つのベクトル間の角度を与える式を適用して、目的のベクトルの y 軸からの角度を計算できますか。

一方、アスペクト角は、平面の最も急な斜面を通る任意の線と北方向 (ここでは Y 軸) との間の角度として定義されることがわかりました。この定義は、法線ベクトルを使用する私の提案した方法に従いますか? つまり、射影された法線ベクトルは常に平面の最も急な傾斜に沿って与えられるのでしょうか? また、ある人は、この問題は 2D 問題と考えるべきだと私に言いました。アスペクト角を計算するために、私にコメントして、関連する式を送ってください。ありがとうございました。

4

2 に答える 2

2

ちょっとグーグルで調べると、アスペクト角の定義が明らかになります。

http://www.answers.com/topic/aspect-angle

これは、北半球の地理的な北と南半球の地理的な南の間の角度です。つまり、基本的には、斜面が最も近い極にどれだけ面しているかを測定します。

あなたの世界が球形ではなく平面である場合、それは物事を単純化するので、そうです-2Dの問題です。この仮定には、次の意味があります。

  • 球形の世界では、北極は球上の点です。平面世界では、「極」は無限遠の平面です。あなたの世界のどこか遠くにある飛行機が「北」を表していると考えてください。このタスクでは、この平面の法線のみが重要です。この平面の単位法線は N (nz,ny,nz) です。
  • Up はU (ux,uy,yz) を指すベクトルです。これは、地面の単位法線ベクトルです。

平面V (a,b,c) の単位法線ベクトルは、通常どおり地面 上のベクトルPに投影できます。 P = V - ( V dot U ) U

これで、平面のアスペクト角を簡単に測定できます。これは、「極」平面Nとacos ( P dot N )によって与えられる投影平面法線Pの間の角度です。

北は正の Y 軸なので、N = (0, 1, 0) となります。そして、 U = (0, 0, 1)、正の Zが得られたと思います。これにより、物事がさらに単純化されます。地面に投影するには、Z 部分を取り除くだけです。アスペクト角は、(a,b) と (0,1) の間の角度です。

aspectAngle = acos(b / sqrt(a*a + b*b))

地面に平行な面は、傾斜角を測定するための勾配がないため、明確な傾斜角を持たないことに注意してください。

于 2011-02-06T00:45:47.057 に答える
0

どのような種類の表面を扱っていますか? TINS (Triangular Irregular Networks) または DEM (Digital Elevation Models)?

ラスター画像を使用してサーフェスを作成している場合、アスペクトを計算するアルゴリズムは基本的に移動ウィンドウであり、中央のピクセルと 8 つの隣接ピクセルをチェックします。

中央のものと隣接するものを比較し、距離による標高の違い (ライズ オーバー ラン) を確認します。距離チェックをパラメータ化して (北、南、東、西の隣人は距離 = 1、北西、南西、南東、北東は距離 = sqrt(2))、高速化できます。

gis.stackexchange でもこの質問をすることができます。多くの人がそこであなたを助けることができます。

編集: http://blog.geoprocessamento.net/2010/03/modelos-digitais-de-elevacao-e-hidrologia/

ポルトガル語で書かれたこのウェブサイトは、アルゴリズムを視覚化するのに役立ちます。中央セルとその 8 つの隣接セルの間の最大勾配を計算した後、中央セルと隣接セルの間の最大勾配を示したセルの位置に応じて、0、2、4、8、16、32、64、または 128 を割り当てます。

于 2011-02-06T11:52:13.423 に答える