1

環境

床から 12 メートルの高さにある円形のプラットフォームに DMX スポット ライトを固定しています。カメラは、このプラットフォームの (ほぼ) 中央に固定されています。カメラは、いくつかのターゲットを見つけて追跡するために地面を撮影することになっています。このカメラは静的で、X/Y デカルト座標系を使用して 2D プランを提供してくれます。ターゲットを見つけたら、スポットライトを当てる必要があります。

シーンの上面図 上面図の 画像 http://img15.hostingpics.net/pics/635699691.png シーンの側面図 側面図の 画像 http://img15.hostingpics.net/pics/275272232.png

問題

スポットライトでターゲットを照らすには、このターゲットの X/Y 位置に対応するパン角度とチルト角度を見つける必要があります。これらのスポット ライトには特定の向きはありませんが、カメラを使用して地面にその X/Y 投影ポイントを見つけることができます。

一部のデータ

私はウェブ上でいくつかの式を見つけました:

float radius = sqrt( x*x + y*y + z*z );
float inclination = atan2( y, x ) * 180.0 / PI;
float azimuth = acos( z/radius ) * 180.0 / PI;

また

rotx = Math.atan2( y, z )
roty = Math.atan2( x * Math.cos(rotx), z )
rotz = Math.atan2( Math.cos(rotx), Math.sin(rotx) * Math.sin(roty) 

しかし、決定的でないテストの後、それが正しいかどうかはわかりません..

対応する x、y、z の値があるかどうかわかりません。

ポイント、ベクトル、スポットライトの天頂点など、2D プランで必要なものをすべて見つけることができ、スポットライトを好きな場所に配置することもできます。特定の X/Y ポイント (カメラ ビューのターゲット) の対応するパンとチルトを見つけることができず、それを見つける方法もわかりません。

私はC#で開発しています。

4

0 に答える 0