是用户在体积opengl es java android我有一个opengl渲染器,显示空中空间。我需要计算我在float[3]中转换的位置是否在许多卷中。我还想用最近的体积来计算距离。体积是沿z轴拉伸的随机形状。最有效的算法是什么?我不想使用外部库。
1l5u6lss1#
这里有一个最近邻搜索问题。因为你的网格是不变的,不会改变,你可能应该使用一个空间分割算法。这是一个很大的主题,但简而言之,您通常需要使用树结构,并对所有要放入不同树节点的对象进行排序。您需要预先计算树本身。网上有很多关于空间划分的书籍和教程,你也可以从诸如doom、quake等id软件产品的源代码中了解如何使用这种算法(至少是bsp)。每种算法的效率取决于你拥有什么和你需要什么。例如,使用bsp树,您可以将对象从最近到最远排序,以便快速获得所需的对象。
1条答案
按热度按时间1l5u6lss1#
这里有一个最近邻搜索问题。因为你的网格是不变的,不会改变,你可能应该使用一个空间分割算法。这是一个很大的主题,但简而言之,您通常需要使用树结构,并对所有要放入不同树节点的对象进行排序。您需要预先计算树本身。网上有很多关于空间划分的书籍和教程,你也可以从诸如doom、quake等id软件产品的源代码中了解如何使用这种算法(至少是bsp)。每种算法的效率取决于你拥有什么和你需要什么。例如,使用bsp树,您可以将对象从最近到最远排序,以便快速获得所需的对象。