得到一个立方体的脸

时间:2009-08-19 17:46:46

标签: 3d lua mouse onclick mouseover

我想计算点击多维数据集上的哪个面。我已经让鼠标向下3D了,我可以用3D在鼠标位置绘制东西。

我现在需要做的就是计算一个立方体被触摸的面孔。

EG。我有一个功能,当我将尺寸,位置和鼠标位置传递给它时,它返回面部。顶部,底部,左侧,右侧,前部,后部。

听起来很简单,但我没有最模糊的。

谢谢大家, SilentC

2 个答案:

答案 0 :(得分:1)

不确定您使用的API,但OpenGL有selection API,可以为您执行此操作

答案 1 :(得分:1)

您只需要为摄像机位置和视图平面上的鼠标位置定义的线,为立方体的每个面计算line plane intersection。扔掉平面上但不在立方体表面上的所有交叉点并选择最接近的交叉点。

如果将立方体表示为十二个三角形,也可以使用线三角形交叉点。但在这两种情况下,您都必须提供更多信息以获得更具体的答案。