0

有谁知道如何在opengl es 2.0中获取线和对象的交点(x,y,z)。我需要基本的算法或链接。我一直在寻找这个答案 2 天,但我不知道该怎么做。

4

1 回答 1

1

为了在嵌入式设备上更快地渲染,请避免使用对象的所有顶点。

最终你必须使用技巧:

1)检测碰撞时,根据您的方便方法开发来近似对象

2)用单点表示物体,检查是否

foreach(LINEPOINTS)
  if (MVP * LINEPOINTS).x or .y or .z equals (MVP * objectCentre).x or .y or .z

3)使用单独的方式(你知道的任何其他语言,比如我使用 Perl)来寻找中心,就像

count = numofvertices
foreach vertices
    sumx += x;
    sumy += y;
    sumz += z;
centreofmass = {sumx/count, sumy/count, sumz/count}

直接使用这个值作为 private float[] final objectCentre = centerofmass

4)当这可行时,使用更多的顶点(如边缘中心或形状的角),在其他语言中预先计算过,然后如前所述在java应用程序中使用,因为对象将具有大量顶点并且近似并不意味着它看起来不不错,看起来不错,但要花更多时间寻找适合您应用的方式

于 2012-08-05T16:50:16.023 回答