2012-02-04 112 views
1

我在3D世界中有x,y,z矢量,我想让该矢量与当前相机矢量位置具有相同的方向。GLScene - 将3D矢量转换为当前相机矢量

我使用Delphi/GLScene中

+0

我不明白你问这里。你问你当前的相机方向是什么? OpenGL没有相机;它只有矩阵。那么你如何建立你的转换? – 2012-02-04 01:22:46

+0

我使用Delphi的GLScene组件,它基于OpenGL。我放置了一个深度为1000,焦距为200的相机。现在我有一个带有局部轴的矢量,我想将这些轴变换为与相机轴相同的方向,以便用户可以看到相关的矢量对象。 ...谢谢 – Wel 2012-02-04 02:14:09

+0

GLscene是一个非常全面的库。你需要花一些时间来欣赏提供的演示,并阅读帮助和参考http://glscene.sourceforge.net/wikka/HomePage – Simon 2012-02-04 07:28:04

回答

2

如果你想为你的矢量具有相同方向的摄像头,你可以简单地使用GLCamera.Direction矢量特性。

因此,例如如果您的相机当前指向x轴,方向属性将为(1,0,0)。你可以使用这个矢量,并简单地复制这些x,y,z值,并将它们分配给你的矢量的x,y,z值。

另一方面,如果您希望照相机查看您的物体,GLScene Camera对象具有一个名为TargetObject的属性,该属性将始终将相机对准您的物体。

请参阅一般GLScene中help和GLCamera参考help

+0

非常感谢有没有我应该得到的关于GLScene的书,这个帮助似乎缺少许多细节和过时。 – Wel 2012-02-04 11:37:53

+0

也请一个问题。我有一个矢量它的x,y,z是4,30,-760这是鼠标点击的坐标我想让z轴= 40,但是当我做这个时,矢量在z = 40中正确显示,但x轴是错误的如何调整呢?谢谢... – Wel 2012-02-04 12:57:32

+0

我认为有一些演示源显示,鼠标移动同时限制1轴上的值认为这是它:http://prdownloads.sourceforge.net/glscene/ObjectsMoving.zip?download – Simon 2012-02-05 05:00:17