三角形 - 三角形相交测试

2024-01-08

我想知道是否有一些教程或指南来理解和在 3D 环境中实现三角形-三角形相交测试。 (我不需要知道交叉点发生在哪里,只需要知道发生了交叉点)

我本来打算按照理论 pdf 来实现它,但我很困惑

  1. 计算三角形 2 的平面方程。
  2. 如果三角形 1 的所有点都在同一边,则拒绝为平凡。
  3. 计算三角形 1 的平面方程。
  4. 如果三角形 2 的所有点都在同一边,则拒绝为平凡。
  5. 计算交线并投影到最大轴上。
  6. 计算每个三角形的间隔。
  7. 使间隔相交。

本指南的第 5 点。我真的不知道在问什么(都是5,6和7)。 XD

由于我在数学方面没有很高的知识(嗯,我知道大学的几次考试给我带来的结果(我是一个初级程序员XD)),请尝试对我尽可能简单。 :D (我尝试在谷歌上搜索,但大多数链接都指向一些充满公式的 4-5 页,我真的不想知道,也不明白。)

谢谢您的帮助


你说:

我想知道那里是否有 一些教程或指南来理解 并实现一个三角三角 3D 环境中的相交测试。

然后你说:

大多数链接指向一些 4-5 充满公式的页面我真的不知道 关心知道

我注意到这两种说法完全矛盾。那么是哪一个呢?您是否想了解三角形与三角形相交的工作原理,或者您只是想要一个可以工作但您不理解它的实现?

并不是所有这些网页都充满了不必要数学。所有的数学都是必要的了解交集算法的工作原理。从头开始,了解其全部工作原理。

一旦您知道这些词的含义,步骤 5、6 和 7 就很容易理解。相交线是两个平面相交所形成的线。每个三角形都位于一个平面上。有以下三种情况:

  • 平面平行且不相交。三角形显然不相交。
  • 这些平面是同一平面。三角形可能相交,也可能不相交。
  • 这些平面是在一条线上相交的两个不同平面。如果三角形相交,它们显然必须在那条线上相交。

假设我们处于第三种情况。计算第一个三角形中包含的相交线段。计算第二个三角形中的相交线段。现在的问题是“这些部分是否重叠?”

您可以通过将线段投影到方便的轴上并查看该轴上的线段是否重叠来解决此问题。基本上,它的工作原理是这样的:想象一下你正在将光线照射到线段上,使得它们的阴影落在轴上。如果轴上的阴影相交,则线段必须相交。如果轴上的阴影之间存在间隙,那么显然线段之间必然存在间隙,因此三角形不相交。

如果您想了解这是如何工作的,那么您将需要了解这一事实all这些东西——所有计算平面如何相交以及如何投影到轴上的代数。这都是必要的。所有这些东西都是基本构建块,将构建更复杂的转换、投影等,因此如果您想走得更远,请彻底了解基础知识。

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

三角形 - 三角形相交测试 的相关文章

随机推荐

  • 尝试添加强类型视图在 MVC 项目中找不到任何类

    我有一个非常奇怪的问题 每当我尝试在 ASP NET MVC2 中使用 添加视图 对话框 然后尝试通过从可用类的下拉列表中选择 视图数据类 来 创建强类型视图 时 没有任何类 模型 在我的 MVC 项目中出现了 非常奇怪的部分是我的 MVC
  • 如何在 KeyDown 中确定 Shift + Tab 被按下

    How can I determine in KeyDown that Tab was pressed private void DateTimePicker BirthDate KeyDown object sender KeyEvent
  • 当我们存储长度小于10的字符串时,varchar(10)和varchar(1000)有什么区别吗?

    我理解之间的区别char and varchar但我不确定的确切含义varchar最大长度 当我们存储string长度小于10的有什么区别varchar 10 and varchar 100 我认为这两种情况都使用相同的空间并具有相同的性能
  • 如何在 F# 中连接字符串列表?

    我现在正在尝试这个 但我还没有完全解决方法签名 有人吗 messages 是 seq string 的一个字段 let messageString List reduce messages fun m1 m2 gt m1 m2 Enviro
  • 创建通用循环缓冲区

    鉴于希望从其内容中抽象出循环缓冲区的结构 并从以下代码段开始 由this http en wikipedia org wiki Circular buffer维基百科条目 typedef struct int value ElemType
  • 使用WebFlux的Reactive编程如何处理依赖的外部api调用

    我是响应式编程的新手 我想知道的一件事是 假设我们有一个 api 它在内部调用 3 个其他 api 其中第一个 api 的结果被输入到第二个 api 而第二个 api 的输出被输入到第三个 它不会减少到基于正常单线程的执行吗 如果是的话 那
  • PowerShell InvokeGet 找不到目录属性

    我们需要检索活动目录中有关 终端服务 的信息 为此 我创建了一个在大多数情况下都能正常工作的函数 但是 对于某些用户 我们遇到了问题 代码 Function Get ADTSProfile CmdletBinding Param Param
  • 我们实际上可以将两组多个变量传递到 dplyr 中的 mutate 中吗

    This question https stackoverflow com questions 66174874 using dplyracross with two sets of variables尽管三个答案让我在思考这个问题时产生了
  • 如何在 Rail 2.3.5 中生成 mongoid.yml 配置?

    正如标题所示 如何在 Rail 2 3 5 上生成默认的 mongoid yml 配置文件 我尝试使用 rails generated mongoid config 命令 但它只是生成一个新应用程序 而且 我想在 mongoid 中使用 h
  • 仅使用gunicorn、django 和whitenoise 如何为媒体提供服务?

    我的网站终于可以正常工作了 但在以下情况下无法提供媒体文件debug False我应该怎么办 我经历了地狱般的尝试让它与 nginx 一起工作本教程 https www digitalocean com community tutorial
  • 如何在 Bash 脚本中运行 sudo 命令?

    我想运行以下示例 bash 脚本 该脚本需要 sudo 密码才能执行命令 bin bash kinit needs sudo password vi hello txt 运行上述脚本时 它要求输入密码 我如何在命令本身中传递用户名和密码 或
  • 检查一个数是否能被3整除[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 编写代码来确定一个数字是否能被 3 整除 该函数的输入是single位 0 或 1 如果到目前为止收到的数字是可被 3 整除的数字的二进制表示形式 则
  • 如何动态找出具有自定义属性的所有方法

    我有一个简单的挑战 我动态地需要找出 C 中具有特定属性的所有方法 我将从另一个应用程序动态加载程序集 并且需要找出确切的方法 程序集如下所示 基础 dll Class Base testmethod public void method1
  • Twitter 以编程方式添加照片

    我为 Firefox 制作了裁剪屏幕截图和上传插件 我想带来一个允许用户发布图像的功能 手动 像人类一样 的过程是这样的 打开 twitter com 如果未登录 请告诉用户登录 点击 新推文 就完成了 Attach images by d
  • 比较两个 git 存储库(包括所有分支)

    我有同一个 git 存储库的两个分支 我想检查它们是否完全相同 因此可以安全地删除其中一个而不丢失任何信息 虽然我知道如何比较单个分支 但我想问是否有一种简单的方法来比较所有分支 标签等 最快的方法是添加第二个遥控器并比较输出git ls
  • 如何用 C++ 编写“meta if else if..”?

    我刚刚学习 C 元编程的基础知识 我认为很高兴看到其他人如何解决以下问题 另外 很高兴看到使用 Boost 元编程库的解决方案 因为我认为它们对我来说是黑暗的角落 那么问题来了 是否可以重写得更优雅呢 假设我们有以下结构 template
  • 如何使用 mocha 和 supertest 测试带有标头参数的 Express Rest api?

    我必须测试我的其余 api 某些路由需要用户身份验证令牌的 http 请求标头中的值 我已将有趣的业务逻辑分离为纯 JavaScript 代码 但我找不到方法来测试在 http 请求标头中需要令牌的路由 欢迎摩卡和 或超级测试的任何其他替代
  • Bootstrap 响应式输入表单字段

    我正在使用 input lg 使表单字段变大 我的期望是 当视口缩小时 引导程序默认小于 768px 表单字段会变小并采用正常设置 但事实并非如此 有任何想法吗 bootstrap 可以处理这种情况吗 UPDATE HTML
  • 为什么抽象类有虚函数表?

    关于this https stackoverflow com questions 2592438 does an abstact classes have a vtable post 对于使用 vtable 的实现 答案是 是的 通常 你
  • 三角形 - 三角形相交测试

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