1

WPF で 3D グローブ コントロールを作成しています。

ほとんどの場合うまく機能しますが、近すぎる (たとえば 10 メートル以下) から山を見ると、「ぐらつき」ます (つまり、カメラのすべての小さな動きが山のモデルの頂点を変更するため、そのように見えます)。ゼリーのように。)

近平面と遠平面で 0.001 から 5 の範囲を指定して、遠平面で 100 から 1000000 と正の無限大を指定してみましたが、役に立ちませんでした。

また、モデルをそのサイズの 1/10 から 10 倍にスケーリングし、ECEF に対する Lat/Long/Alt の結果をセンチメートル、メートル、および 10 メートルの単位に丸めることも試みました。

何も役に立たず、まだぐらついているように見えます (ただし、10 メートル単位に丸めると役に立ちます。この場合、ぐらつきは非常にまれですが、モデルが大きく変形して使用できなくなります)。

これは主に精度の問題だと思います。精度を上げる方法や、それを修正する方法についての他のアイデアはありますか?

イタイ。

更新:アーティファクトを示すビデオ を追加しました。

解決済み World Wing でのモデルの構築にも同じ問題があることがわかりました。ここで質問して回答しました。

私が疑ったように、一般的に問題は精度の問題でした。それを解決する方法は、実際のカメラを原点 (0,0,0) に保ちながら回転させ、すべてのタイルを反対方向に移動することでした。

各タイルを生成するとき、タイルの各頂点からタイルの XYZ 中心を引くので、最終的なタイルは (0,0,0) の周りに構築されます。

タイルGeometryModel3Dで平行移動変換を設定して、正しい位置に配置します。

4

1 に答える 1

1

World Wing でのモデルの構築にも同じ問題があることがわかりました。ここで質問して回答しました。

私が疑ったように、一般的に問題は精度の問題でした。それを解決する方法は、実際のカメラを原点 (0,0,0) に保ちながら回転させ、すべてのタイルを反対方向に移動することでした。

各タイルを生成するとき、タイルの各頂点からタイルの XYZ 中心を引くので、最終的なタイルは (0,0,0) の周りに構築されます。

タイルGeometryModel3Dで平行移動変換を設定して、正しい位置に配置します。

于 2011-09-01T09:22:05.737 に答える