问题标签 [polyhedra]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linear-programming - 单纯形法的多顶点测试问题
我正在寻找为
具有许多顶点的单纯形法线性规划求解器(A x <= b,x >= 0)生成测试问题的方法,因此(我相信)会产生困难的测试问题。
有很多看起来相关的理论,例如 凸多面体可以有多少个顶点? 但是我不知道如何将其转换为 A b 的代码——我不需要所有顶点,而且顶点枚举 无论如何都会爆炸内存。
例如,一个 1000 x 1000 的分配问题给出了一个稀疏的 2k x 1m A 矩阵,其中有 2m 个非零。GLPK simplex 在 34 秒内解决了这个问题——这不是一个测试用例。
math - 如何在不丢弃的情况下在八面体中生成随机点?
我需要八面体内的随机点,均匀分布。我将八面体定义为所有点满足abs(x) + abs(y) + abs(z) <= 1
绝对值的体积。IE:六个顶点中的每一个都在一个轴上,距离 0,0,0 1。也许你可以称它为单位八面体。
考虑到定义,我可以天真地生成一个点,如下所示:
问题在于这倾向于较小的 y 值和较小的 z 值。显然不是均匀分布。同样清楚的是,所有这些点都在八个象限之一中。
我避免使用discard 方法,因为这个函数会被调用很多次,而且看起来我应该比丢掉大部分分数做得更好。
请注意,八面体的对偶是立方体。正因为如此,我有一个暗示,可能存在一个简单的函数来将立方体内的任何点转换为八面体内,但这只是我仍在探索的直觉。
c++ - 有没有办法从 Codeclocks 绘制到 Matlab
所以我写了一个 C++ 代码,给定一个凹多面体,将它分解成凸多面体,我保存在一个列表中。现在我想在 Matlab 上绘制从分解中获得的多面体,看看我的算法是否有效。如果我能做到这一点,现在有人吗?怎么做?
python - 假设我们知道一个多面体的顶点,并且想要得到它的半空间表示 A * x <= b
A*x <= b
给定多面体的顶点,无论是 python 还是 Matlab,我都想得到半空间表示。
假设vertices = [2 -2; 2 2; -10 2; -10 -2];
是顶点,我使用了两个不同的库并给出了两个不同的答案,不确定,为什么那些给出不同的答案。
使用https://github.com/stephane-caron/pypoman,
输出 :
使用多参数工具箱 3 ( http://people.ee.ethz.ch/~mpt/3/ ) (Matlab)
输出:
任何有助于理解为什么会发生这种情况的事情真的很感激
geometry - 给定其他三个,如何计算四面体的第四个顶点?
我想计算正四面体的第四个顶点。我有坐标
{0, 0, Sqrt[2/3] - 1/(2 Sqrt[6])}, {-(1/(2 Sqrt[3])), -(1/2), -(1/(2 Sqrt[6]))} 和 {-(1/(2 Sqrt[3])), 1/2, -(1/(2 Sqrt[6]))}
有人可以帮忙吗?
ocaml - 原始表达式与围裙中的结果不一致
我正在使用Apron库的 OCaml 接口。
当我想减少表达式[| x + y -2 >= 0; x + y > - 3=0|]
时,结果tab
是[|-3 + 1 * x + 1 * y >= 0|]
,我怎样才能得到原点表达式x + y - 3 >= 0
?
python - 给定总节点数和每个节点的度数,是否可以构建图?
以立方体为例,有8个节点,12条边,每个节点连接3个节点。
使用networkx,我必须手动输入所有边缘。例如,下面的代码是构建一个包含二十面体所有边的图(12 个节点,30 个边,每个节点 5 个相邻节点)。
我的问题是如何在不手动编写的情况下获得所有可能的边缘。每个节点的名称可以随机初始化。
据我所知, igraph中的 Erdős-Rényi 模型无法约束相邻节点。
intersection - 使用 CGAL 的两个多面体相交的体积
我正在寻找一种快速的方法来计算两个多面体相交的近似体积。我的程序运行 20k 次迭代,其中每次迭代我需要计算两个多面体的差异体积,每个多面体有大约 100 个顶点(这些多面体中的一个是静止的,另一个在每次迭代中改变其姿势)。我要求该程序在一秒钟内终止。
我曾尝试使用 Nef_polyhedron_3,但它需要一个精确的内核,因此需要大量时间。接下来,我尝试使用 Polygon_mesh_processing::corefine_and_compute_difference,但找不到将 Polyhedron_3 转换为 Surface_mesh 的方法(不使用 Nef_polyhedron)。
如果有人可以帮助我解决这个问题,我将不胜感激。先感谢您!
c++ - CGAL::Polyhedron_3 使用 make_tetrahedron() 生成不需要的重复顶点,如何解决?
我试图使用CGAL::Polyhedron_3
数据结构创建体积网格,但在进行一些测试时,我注意到该make_tetrahedron
函数复制了多面体中已经存在的顶点。
示例:共享一个共同面的两个四面体
这是我试过的代码:
这是我希望看到的输出:
但这就是我得到的:
现在,问题是:是否可以在使用该函数
时仅将一个点存储为顶点一次?CGAL::Polyhedron_3
make_tetrahedron
combinatorics - 为给定的矩阵 A 和向量 b 创建多面体
我必须用这个输入创建一个多面体
但是在这样的圣人不平等中A.x + b >= 0
,如何转换