3

作業中のGLプログラムでレンダリングされる緯度と経度の座標のセットがあります。緯度と経度あたりのユニット数などの情報があります(たとえば、経度あたり15ユニット、緯度あたり10ユニットなどの10進数の座標があります。たとえば、27.1234)。ただし、レンダリングに問題があります。

この計算により、レンダリングに使用できる場所がわかりますが、完全ではありません。最初はS026.33.01.806E148.46.27.009などの座標でのみテストしましたが、N039.52.19.030 W075.14.28.107などの座標に切り替えると、レンダリングが上下逆になり、水平になりました。ひっくり返った。

OpenGLとそれが座標をどのように解釈するかについての根本的な理解の欠如である可能性があります。あるいは、私が問題に間違った方法でアプローチしている可能性があります。私はPythonとPyOpenGLを使用していますが、このアルゴリズムは特定の言語を必要とせずに実行できるものだと思います。

編集: http://slexy.org/view/s21LKiD9tjに最も関連していると思われるコードをアップロードしました。

4

1 に答える 1

10

ええと、経度の単位数は一定ではありませんか? どのような奇妙な変換関数を使用していますか?

地球が半径 r の球体で、中心が座標系のルートにあり、z 軸が北を指し、x 軸が経度 0 を指し、y 軸が経度 90 を指すと仮定すると、デカルト座標は次のように取得できます。 :

x = r * cos(latitude) * cos(longitude);
y = r * cos(latitude) * sin(longitude);
z = r * sin(latitude);

注: 言語の三角関数で、引数が度数ではなくラジアンで指定されることを想定している場合は、必ず最初に変換してください。

于 2009-12-30T00:07:45.300 に答える