1

私は現在、地理的なポイントをVIDEO要素(サイズ512x288)の上にオーバーレイとして表示すると便利なプロジェクトに携わっています。

このVIDEO要素にはライブブロードキャストが含まれており、JavaScript変数としてサイトに入力される方位、緯度、経度、高度のリアルタイムフィードもあります。

また、サイトに含まれているPOI(Points of Interest)の配列もあります。POIの形式は次のとおりです。

var points = [['Landmark name', 'latitude', 'longitude'], […]];

5秒ごとに、POIの配列をループして、それらのいずれかがビデオの現在のビューポート内にあるかどうかを確認します。真の場合は、VIDEO要素の上にオーバーレイします。

誰かが私が何を見るべきかについて正しい方向に私を向けることができますか?メルカトル図法などを使用して、ポイントを2D平面にマッピングする必要があると思います。

しかし、POIの相対的なピクセル位置をビデオにマッピングすることになると、私は少し迷っています。

いくつかのヒントを得るのを楽しみにしています!

4

1 に答える 1

1

以前にこれを行った場合、最も重要な要素は、垂直方向または水平方向のカメラの視野を正確に (少なくとも 100 分の 1 度まで) 決定することです。次に、ビデオのアスペクト比 (512/288 = 1.78) を使用して、atan 式を使用して (必要に応じて) 他の角度を決定します (垂直視野をアスペクト比で乗算して水平視野を取得するというよくある間違いを犯さないでください)。視野. 視野は角度、アスペクト比は線形です)。たとえば、カメラが現実の世界にあることを除いて、OpenGL でカメラをセットアップするという観点から考えてみてください。視野とカメラの向きを選択する代わりに、それを測定する必要があります。

グラフィックを適切にオーバーレイするには、カメラの姿勢 (パン/チルトまたはピッチ/ロール/ヨー) を知る必要があります。

メルカトル図法は必要ありません。カメラの視野は比較的小さい (つまり 40 度 H 程度) と想定しているため、通常、投影されたサーフェスは長方形 (技術的には、球からの小さなパッチ) であると想定できます。

于 2012-01-17T02:11:13.557 に答える