- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在寻找 R 中的一种算法,用于将凸多胞形与线段相交。我在这里找到了几篇关于平面堆栈交换的帖子,但我想知道这种算法是否存在于更高的维度中。我的谷歌搜索并没有真正产生很多答案。
线段由凸多胞形内部的一个点和外部的一个点组成。 R 中是否有可用的算法可以在维度 N<=10 中执行此操作?或者有人知道引用资料以便我可以自己实现算法吗?是否有关于寻找多胞形和交集的复杂性的信息?
最佳答案
对于计算几何中的问题,维度 d > 3
通常也可以是任意的 d
。如果您将多面体作为相交半空间的集合,那么可能唯一明智的做法是将线段与每个分离超平面相交(通过求解 d
线性方程组)和采取离内部点最近的交叉路口。
如果您只有多面体的顶点,或者甚至只有一组顶点,其凸闭包是多面体,那么给定 R 库的最简单方法可能是线性规划。 (可以想象,您可以使用一种算法来计算小平面以找到高维凸包,但它们可能有 Theta(n^floor(d/2))
,其中 n
是顶点数。)我不熟悉 R 中的 LP 求解器,所以我会用数学方式写下程序。翻译起来应该不会太难。设 p_0
为外部点,p_1
为内部点,v_i
为定义多胞形的第 i
个点.
maximize alpha_0
subject to
for 1 <= j <= d,
p_0[j] alpha_0 + p_1[j] alpha_1 - sum_{1 <= i <= n} v_i[j] beta_i = 0
alpha_0 + alpha_1 = 1
sum_{1 <= i <= n} beta_i = 1
alpha_0 >= 0
alpha_1 >= 0
for 1 <= i <= n,
beta_i >= 0
交点由点 p_0 alpha_0 + p_1 alpha_1
定义(除非程序不可行,在这种情况下没有交点)。
关于r - 算法相交多面体和半线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25399417/
稍后编辑:我上传了here我的原始数据的样本。它实际上是DICOM格式的分割图像。该结构的体积约为16 mL,因此我假设内部椭球体的体积应小于该体积。从DICOM图像中提取点,我使用了以下代码: im
我一直在寻找任何 C++ 库,它允许我获得线和多面体/球体之间的 3D 碰撞点(其中线由两个 3D 点和有限数量的 3D 点组成的多面体) 令我惊讶的是,我似乎找不到这样的库(或者我不知道要搜索哪些短
当我们尝试保存值时,为什么 PostGIS 不验证 GEOMETRY 字段的 longitude 和 latitude latitude 大于 90(latitude > 90)? 最佳答案 看看这张
我正在尝试使用 Wicket 插件制作一个多面体对象。我开始使用该插件,但现在我有点飘飘然了。如果我能弄清楚如何使用它,那将对我有很大帮助。 我也是 leaflet 的新手,并不真正理解文档中关于多面
除了这个之外,还有其他方法可以在 Three.js 中创建多边形/多面体吗? var polyhedronPts = []; polyhedronPts.push( new THREE.Vector2
我有这个几何形状文件,所以没有城市 map 。 我将其作为 GeoJson 存储在 GIS 数据库中。现在,我想可视化 geojson 数据。我首先使用 QGIS 创建了 GeoJson 数据并将其导
有没有模拟 3D polyhedra 的 JavaScript 库?使用 Canvas 标签或 SVG?假设我想制作 Platonic solids 的效果图,我将如何最好地实现这一目标? FWIW,
我一直在利用空闲时间编写一个游戏引擎,但为了让碰撞发挥作用,我被困了几个星期。 目前我用 AABB 表示实体的碰撞体,关卡的碰撞体由一个相当简单(但不一定是凸面)的多面体表示。所有的绘图都是基于 sp
我需要找到一种方法来解决在不使用设计工具的情况下为非凸多面体生成纹理贴图的问题。具体来说,我将模拟结果数据映射到 3D 表面上。也就是说,在代码中(最好是 C# 或 VB,因为我的目标是 WPF 3D
我是一名优秀的程序员,十分优秀!