Tag: 四叉树

“纯”C四叉树用于碰撞检测目的

我一直在研究四面体及其在video游戏代码中的碰撞检测中的用法。 但是,到目前为止,所有实现依赖于C ++,C#,javascript和Lua的面向对象特性来完成每个节点,而我完全不知道如何将其转换为原始C。 目标是针对演员(不断移动)和地形(静态)测试多个对象(镜头)。 然后演员与地形。 由于我找不到一个例子,我可以用“纯”C语言(即不使用方法或自引用对象)阅读,我甚至无法掌握如何编码它的基本思想,而我确实理解了背后的想法。算法。 我不知道如何设置它,如何引用它,我应该使用什么数据类型,或者任何东西。 我完全不知道C ++,这使得将它转换为C是不可能的。 同样,我将使用瓷砖地图作为地形,我想做的事情,如高或宽的地图,而不是完美的正方形。 四叉树仍然适用于这样的地图? 此外,还会有许多移动元素,即地形是游戏中唯一的静态部分(移动块或门等元素是独立的实体)。 如果经常需要更新,是否值得使用四叉树? 我甚至需要制作全球数据吗? (也可以在某个函数中伪造,然后在启用碰撞时传递)。 在这种情况下,我是否需要为它分配内存?

四叉树解释和C实现

请解释四叉树并提供简单的代码(最好用C语言)进行插入和搜索。