- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
基本上我在两个多面体的 minkowski 差异的外壳上有一组顶点。我想在任意预定方向上找到从原点到船体的距离。这是一个快速的二维草图:
所以问题是找到光线将与哪个三角形面/平面相交。一旦我有了那架飞机,我就简单地做一个线/平面相交测试。我的问题是找到正确的面/平面。有任何想法吗?我可以做一些点积/叉积/三重积测试来确定它吗?还是比这更复杂?
如果你想知道这对我来说是什么,我使用 GJK 算法来确定两个对象是否相交(我已经开始工作)。如果发生碰撞,我想找到特定方向的穿透深度(这将是物体的运动方向)。
最佳答案
在射线的方向上投影多面体,您的问题将简化为 2D,并找到哪个三角形包围原点。要测试单个三角形,请考虑给定的有向线段 (AB) 相对于原点是顺时针还是逆时针。这很容易通过一个简单的叉积测试来确定:它是逆时针的当且仅当 A x (B-A) > 0。
如果三角形的所有三个边都具有相同的方向(顺时针或逆时针),则三角形包围原点,这就是您想要的面。
编辑:
由于您的多面体是一个船体,它是凸的,并且由于它是凸的,您可以以有效的方式搜索表面。您可以以一种非常简单的“走上坡/下坡”的方式遍历边缘,以在任一方向上找到沿射线最远的两个顶点。然后在你投影多面体之后,你可以从这两个点开始并向原点进行类似的爬升。这将是 O(sqrt(n))。
关于algorithm - 在一个方向上与原点相交 minkowski 差异,我如何找到相交的脸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6964191/
有一个问题:我想计算两个几乎凸多边形的闵可夫斯基和,其中几乎凸多边形 - 多边形,通过用圆弧替换一些边获得 在凸多边形中具有 0 到 PI 弧度。 我希望有 O(n + m) 的解决方案,其中 n,
我一直在研究确定 2 个矩形相交位置的最佳方法,并且一直在研究使用 Minkowski 和。 如果有人可以解释如何使用闵可夫斯基和来确定 2 个矩形何时何地(即哪条边)发生碰撞,我将不胜感激。 我已经
不知是否有算法可以高效计算离散一维 Minkowski 和。闵可夫斯基和定义为: S + T = { x + y | x in S, y in T } 是否可以将集合表示为列表,对 S 和 T 进行排
我想使用 minkowski 和来预测两个凸形之间的准确碰撞点。根据我的理解,速度矢量与 minkowski 和相交的点是我必须沿着矢量移动我的对象的量,以便它们刚好接触(我已经知道它们会发生碰撞)。
假设我们有两个多面体,是否有任何有效的方法可以仅计算闵可夫斯基差分外壳上的顶点? 我知道要得到一个单一的船体顶点,你会找到一个多面体上 A 方向上最远的顶点,然后是另一个多面体上 -A 方向上最远的顶
基本上我在两个多面体的 minkowski 差异的外壳上有一组顶点。我想在任意预定方向上找到从原点到船体的距离。这是一个快速的二维草图: 所以问题是找到光线将与哪个三角形面/平面相交。一旦我有了那架飞
我正在研究 Minkowski 距离,其定义为: 我使用 for 循环来计算它,如下所示, import numpy as np import random A = np.random.randint
我正在为 3D 多边形、凸面和非凸面寻找精确的多边形偏移算法。这也可以通过带有球体的闵可夫斯基求和来实现。我知道 CGAL 提供了一个 minkowski 包。但是,有没有一种我可以实现的简单算法来完
当我尝试在 KNN 算法中为 minkowski 度量定义 p 值小于 1 时,我面临以下错误。谁能告诉我如何将 minkowski 指标的 p 值调整为小于 1 sc=StandardScaler(
我一直在从多个来源阅读有关 EPA 的信息,但在找到与原点的 minkowski 差异的最近点之后,它们似乎都突然停止有用。他们中的大多数人都说了类似 "With this information,
我是一名优秀的程序员,十分优秀!