0

fromObj3D ポイントの場所 (たとえば ) で NodePath に格納されたオブジェクト (たとえば) がありますfromPoint。そのヘディング ピッチ ロール (HPR) は(0,0,0)です。toPointX軸が空間の別の点を指すように回転させたいです。この回転を実現する HPR を計算し、それを他の目的に使用したいだけです。

を試してみfromObj.lookAt(toPoint)ましたが、これは Y 軸を に向けていtoPointます。その X 軸が を指すようにしtoPointます。

X 軸が空間内 の特定の位置を指すようにオブジェクトを回転させるHPRを計算するにはどうすればよいですか?

注: 私は StackOverflow に関するこの質問を認識しています: 回転を計算して 3D ポイントを見てください? ただし、既存の Panda3D API を使用するソリューションを探しており、その結果を Panda3D HPR 形式で取得したいと考えています。

4

2 に答える 2

2

Panda3Dフォーラムの親切な人々のおかげで、より簡単な解決策が得られました。

def getHprFromTo( fromNP, toNP ):
    # Rotate Y-axis of *from* to point to *to*
    fromNP.lookAt( toNP ) 

    # Rotate *from* so X-axis points at *to*
    fromNP.setHpr( fromNP, Vec3( 90, 0, 0 ) )

    # Extract HPR of *from* 
    return fromNP.getHpr()

ポイントの位置しかない場合は、この計算を行うために 2 つのポイントのダミー nodePath を作成します。

于 2013-03-04T03:34:00.873 に答える