首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >方块上的Android OpenGL触摸方向

方块上的Android OpenGL触摸方向
EN

Stack Overflow用户
提问于 2012-08-09 07:51:17
回答 1查看 528关注 0票数 1

我在OpenGL视图中有一个立方体,当我在立方体之外触摸时,可以旋转它。现在我可以检测到我触摸到了立方体的哪一边,现在我正在尝试找出触摸移动到哪一边。因此,如果我触摸顶部,运动可以朝向立方体的左侧,右侧,正面或背面。执行此操作时,立方体的方向可以是任何方向。

所以在弄清楚之后,我会让它绕着正确的轴旋转。

我只需要一个如何实现这一点的想法。

编辑:这是我想要做的一个粗略的例子。抱歉,我不擅长解释。

绿色的东西是手指触摸红色的那一边。箭头显示手指移动的方向。由于它正在向蓝色侧( 2 )移动,因此它应该返回2。如果它向绿色侧(1)移动,它将返回1,依此类推。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-09 10:02:42

以下是一种方法:

当你向上滑动手指时,屏幕空间中会出现两个2D点: ptBegin和ptEnd。将它们转换为3D (您将需要做一个等效的gluUnproject来获得3D坐标),您将获得立方体坐标系中的3D坐标ptBegin3D和ptEnd3D。

计算向量D= ptEnd3D - ptBegin3D。

现在,如果你对立方面法线(0,0,1),(1,0,0)等做上面的点积,你将从值中知道你正在朝向哪个立方面法线。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11874904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档