2012-02-04 7 views
1

私は3D世界にx、y、zベクトルを持っており、そのベクトルを現在のカメラベクトル位置と同じ方向にしたいと考えています。GLScene - 3Dベクトルを現在のカメラベクトルに変換する

私はあなたがカメラと同じ方向を持っているあなたのベクトルをご希望の場合は、あなたは、単にGLCamera.Directionベクトルプロパティを使用することができます

+0

を参照してください。あなたは現在のカメラ方向が何であるか尋ねていますか? OpenGLにはカメラがありません。それは行列しか持たない。それでは、どのように変換を構築していますか? –

+0

私はOpenGLに基づいているDelphiのGLSceneコンポーネントを使用します。私は、1000の焦点距離と焦点距離= 200のカメラを配置しました。私はローカル軸を持つベクトルを持っています。そして、私はカメラ軸の同じ方向を持つようにこれらの軸を変換したいので、ユーザーは関連するベクトルオブジェクトを見ることができます。 ...ありがとう – Wel

+0

GLsceneは非常に包括的なライブラリです。あなたは、提供されているデモを除外し、ヘルプとリファレンスを読んで、時間を費やす必要があります。http://glscene.sourceforge.net/wikka/HomePage – Simon

答えて

2

デルファイ/ GLSceneを使用しています。

です。カメラが現在x軸に沿っている場合、Directionプロパティは(1,0,0)になります。このベクトルを使用して、これらのx、y、zの値をコピーし、ベクトルのx、y、z値に代入するだけです。

カメラがオブジェクトを表示したい場合は、GLScene Cameraオブジェクトにはという名前のプロパティがあり、常にオブジェクトにカメラを向けます。

私はあなたがここに求めているのか理解していない一般的なGLScene helpとGLCameraリファレンスhelp

+0

ありがとうございました。細かいことがたくさんあり、時代遅れです。 – Wel

+0

でも1点お願いします。私はベクトルを持っていますx、y、zは4,30、-760です。これはマウスクリックの座標です。私はz軸= 40にしたいですが、これを作るとベクトルはz = 40でもx軸に正しく表示されますそれを調整する方法が間違っている?ありがとう... – Wel

+0

デモのソースがあると思うが、1軸の値を制限しながらマウスを動かすと、これはそれだと思います。http://prdownloads.sourceforge.net/glscene/ObjectsMoving.zip?download – Simon

関連する問題