Iphone OpenGL:获取对象的位置/当前身份

发布于 2024-10-07 00:13:43 字数 499 浏览 1 评论 0原文

由于没有一种简单的方法可以计算出您是否单击了 3D 世界中的某个对象,因此我决定构建自己的函数来执行此操作,这将非常简单

到目前为止,我正在做的是创建一个始终为即使我移动或旋转,也会在我前面一点。

然后我想知道的是物体现在在 3d 空间中的位置?

我认为这会给我新的位置

GLfloat matrix[16]; 
glGetFloatv(GL_MODELVIEW_MATRIX, matrix);

要将一个物体粘在我面前,我正在执行以下操作

glTranslatef(eye[0], 1 , eye[2]);
glRotatef(-rotation, 0, 1, 0);
glTranslatef(0, 0 , 10);

这效果很好:)

问题是

我如何获得我放置的正方形的位置在我前面(在我前面10分)。我想要世界 x,y,z 坐标

due to there not being an easy way to work out if you clicked on an object in a 3d world, I decided to build my own function to do it which will be very simple

So far, what I am doing is creating a square that's always a little bit in front of me even if I move or rotate.

What I then want to know is that objects position now in 3d space?

I thought that this would give me the new position

GLfloat matrix[16]; 
glGetFloatv(GL_MODELVIEW_MATRIX, matrix);

To stick an object in front of me I am doing the following

glTranslatef(eye[0], 1 , eye[2]);
glRotatef(-rotation, 0, 1, 0);
glTranslatef(0, 0 , 10);

This works well :)

The Question is

How do I get the position of the square that I put in front of me (10 points in front of me). I want the world x,y,z coordinates

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

指尖上得阳光 2024-10-14 00:13:43

为了获取屏幕空间中某个点的当前世界空间坐标,您可以使用 gluUnProject 函数。这会对你派上用场。

还有 gluProject 可以以相反的顺序执行此操作。

In order to get the current world-space coords of a point in screen-space, you can use gluUnProject function. This will come in handy for you.

There's also gluProject for doing this in reverse order.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文