3D 中三角形到三角形碰撞检测

2024-04-06

我了解两个三角形之间的三角形到三角形的碰撞检测。 有人可以解释一下我如何将它与由 1000 个顶点组成的 3D 对象一起使用吗? 如何为每个网格创建三角形列表? 我必须接受顶点的每个排列吗? 这将导致 O(n^3),我觉得这非常糟糕。

我该如何概括这一点?

我需要从某种格式读取数据。如果一切都失败了,有人可以建议一种用三角形制作网格的格式吗?我还需要该格式的网格目录,至少对于初学者来说是这样。

非常感谢。


您可以应用许多优化来检测网格之间的碰撞:

  • 正如詹姆斯所描述的,空间划分。

  • 早期拒绝使用包围体 http://en.wikipedia.org/wiki/Bounding_volume。例如,球体与球体的碰撞成本很低,因此在测试网格体 A 和 B 是否发生碰撞之前,您可能会看看 A 周围的球体是否与 B 周围的球体发生碰撞。如果球体未命中,则显然网格体无法碰撞,因此不会发生碰撞需要测试它们。不同类型的对象可能需要不同类型的包围体:轴对齐的长方体和圆柱体很常见。

  • 缓存见证人。在某些碰撞测试中,您最终会计算碰撞的“见证”,例如当您应用分离轴测试 http://www.geometrictools.com/Documentation/MethodOfSeparatingAxes.pdf您计算一个分离轴。如果轴同时将两个物体分开t,很可能它会继续将它们分开t+ δ,因此可以付费缓存您找到的轴,并在下次首先尝试(请参阅 Rabbitz,“移动凸多面体的快速碰撞检测”)图形宝石 IV).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

3D 中三角形到三角形碰撞检测 的相关文章

  • 碰撞检测实施

    我有一个碰撞检测类 它通过查找中心之间的距离以及该距离是否足够小而足以发生碰撞来工作 请参阅碰撞检测错误 我的问题是试图让它真正发挥作用 椭圆形会发生碰撞 如果有必要 我会解释更多 谢谢 最好的方法是在图像重叠时实现每像素碰撞检测 您可以在
  • Swift Spritekit 我检测到碰撞,但它多次读取碰撞

    AppImage我有一堵由 4 个不同颜色的矩形组成的墙 要穿过这堵墙 球的颜色必须与墙上的矩形的颜色相匹配 球将穿过墙壁 新的墙壁将会出现 然而 当我检测到这种碰撞时 我得到了多个碰撞读数 我已经通过打印死或活来测试这一点 并且它会多次打
  • 简单的拖动物理原理,向左或向右移动时表现不同[重复]

    这个问题在这里已经有答案了 我的代码对于负速度的表现与对于正速度的表现不同 我正在尝试实现平台物理 玩家在 X 方向上有速度 当用户分别按下 A 或 D 时速度会增加或减少 或者当玩家与墙壁碰撞时设置为 0 为了模拟与地面的摩擦力 玩家的
  • Pygame 使用对象和矩形进行碰撞检测

    是的 我正在问有关该程序的另一个问题 D 不管怎样 我目前有一个程序 可以在屏幕上创建两条线 它们之间有一个可以滚动的间隙 从这里 我显然需要查看两个物体是否发生碰撞 由于我只有一个精灵和一个矩形 我认为为它们创建两个类有点毫无意义和过分
  • Slick2D 矩形碰撞检测

    我遇到一个问题 显示一个矩形与另一个矩形发生碰撞 所以我的问题是 如何获得相交方法来检查碰撞 或者说有其他方法来处理这种情况下的碰撞吗 我正在创建一款回合制战斗游戏 类似于 最终幻想 或 龙骑兵传奇 其中玩家的角色位于屏幕的右侧 敌人位于屏
  • Java/libGDX - 如何检查多边形与矩形或圆形的碰撞

    我是 libGDX 的新手 据我所知 Intersector 类具有矩形 矩形 圆 圆 圆 矩形和多边形 多边形的重叠方法 但由于某种原因 它似乎没有任何方法检查多边形 矩形或多边形 圆形 是否有推荐的方法来检查多边形和矩形 圆形之间的碰撞
  • HTML5 画布中的碰撞检测。也优化了

    我正在制作一个平台游戏 但我的碰撞检测有问题 我创建了一个在屏幕 地图上绘制图块的函数 在该函数中是我的碰撞检测 当仅绘制一个图块时它工作正常 但是当我用三个图块创建 楼梯 时 第一个图块无法正常工作 玩家只是被 推 到图块上 侧面检测不起
  • 为 pygame 中的平台添加碰撞检测

    我正在开发一款小型平台游戏 您可以在其中放置块来制作一个关卡 然后玩它 我有重力 跳跃和左右移动 但我不确定如何让玩家在向左或向右移动时与墙壁碰撞 我希望它的工作方式是这样的 if key K LEFT if not block to th
  • 三角形 - 三角形相交测试

    我想知道是否有一些教程或指南来理解和在 3D 环境中实现三角形 三角形相交测试 我不需要知道交叉点发生在哪里 只需要知道发生了交叉点 我本来打算按照理论 pdf 来实现它 但我很困惑 计算三角形 2 的平面方程 如果三角形 1 的所有点都在
  • XNA C# 2D 平台游戏

    我正在尝试在 XNA 中制作 弄清楚如何 一个 2d 平台游戏 我知道如何创建平铺网格以及如何执行碰撞检测 我对玩家的 9 个边界图块执行碰撞检测 但我想知道是否有更好的方法来执行碰撞检测 我读过 时空幻境 不使用图块 而是使用拼凑的图像或
  • JavaScript 碰撞检测

    我正在尝试用 javascript 制作一个贪吃蛇游戏 但我在碰撞检测方面遇到了困难 到目前为止 我已经尝试了各种方法 但在绝望中 我决定存储每帧片段的所有位置 然后在制作下一帧动画之前检查是否有重复项 不幸的是 这种方法也没有被证明是成功
  • 简单的 Javascript 碰撞检测?

    我正在尝试使用 jquery javascript html 和 css 制作一个简单的游戏 我一直陷入碰撞检测 code var map 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
  • 花栗鼠碰撞检测

    我对花栗鼠完全陌生 而且我刚刚使用它几天 所以我猜这是非常明显的事情 但是我找不到任何相关文档 Chipmunk 中是否有任何回调或方法可以告诉您 2 个给定的形状发生了碰撞 如果不是 最好的方法是简单地在精灵上使用 cgrect cont
  • 快速的射弹并不总是能击中

    因此 对于我的游戏 有一个快速移动的子弹对象 其精灵大小为 5x5 大约 以大约 30 的速度移动 需要撞击厚度仅为 5 像素左右的相对较薄的 Enemy 物体 子弹以一定的固定距离间隔穿过敌人而不会发生碰撞 I think这是因为子弹移动
  • 继承SFML中的Transformable和Drawable

    我试图继承 SFML 中的 Transformable 和 Drawable 以使我的对象 嗯 可变形和可绘制 我正在制作一个简单的突破游戏 但也许我的做法是错误的 这是我的代码 include
  • 旋转图像和像素碰撞检测

    我这里有这个游戏plunker http plnkr co edit VCdFyn3SE4wSZa0OLRRT p preview 当剑不旋转时 一切正常 您可以通过取消注释第 221 行并注释掉第 222 223 行进行检查 当它们像上面
  • Java 2D 碰撞?

    大家好 我正在制作一个 2D java 游戏 我正在尝试找出如何制作一个好的碰撞代码 我目前正在使用以下代码 public void checkCollision Rectangle player rectangle new Rectang
  • 如何为弹跳球创建碰撞检测?

    我已经为三个沙滩球在屏幕上弹跳编写了一个动画 用Python 我现在希望它们全部碰撞并能够相互弹开 我非常感谢您能提供的任何帮助 import pygame import random import sys class Ball def i
  • 什么是好的、简单的、仅限 2D 矩形的碰撞检测算法?

    我正在为年轻人设计一个碰撞检测游戏教程 所以我希望它尽可能简单 以便更容易解释 要求非常简单 世界是二维的 仅包含矩形 任意大小 BSP 甚至四叉树似乎有点矫枉过正 再次强调简单性 但我想要比暴力破解所有 n n 1 2 可能的碰撞更有效的
  • 什么是 AABB - 碰撞检测?

    嗨 我正在制作一个体素游戏Java在研究我需要学习的所有不同东西时 我注意到很多游戏都使用AABB用于碰撞检测 然后我记得看到AABB在 我的世界 中也有 但是当我用谷歌搜索什么时AABB也就是说 它只是提出了其他人的代码 或者历史书上的某

随机推荐