问题标签 [computational-geometry]

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.

0 投票
3 回答
1166 浏览

geometry - 来自 qhull 的三角不规则网络

我想使用 qhull 从 3D 点(每个文件中大约 700 万个)创建 TIN。

任何人都可以建议一个我可能会看到如何做到这一点的地方吗?谢谢!

0 投票
2 回答
432 浏览

optimization - 求解 3d 多边形网格的最佳对齐

我正在尝试实现几何模板引擎。其中一个部分是采用原型多边形网格并将实例与较大对象中的一些点对齐。

所以,问题是这样的:给定多边形网格中某些(可能是全部)顶点的 3d 点位置,找到一个缩放旋转,以最小化变换后的顶点和给定点位置之间的差异。如果有帮助,我还有一个可以保持固定的中心点。顶点和 3d 位置之间的对应关系是固定的。

我认为这可以通过求解变换矩阵的系数来完成,但我有点不确定如何构建系统来解决。

这方面的一个例子是立方体。原型将是单位立方体,以原点为中心,具有顶点索引:

适合的顶点位置示例:

  • v0: 1.243,2.163,-3.426
  • v1: 4.190,-0.408,-0.485
  • v2:-1.974,-1.525,-3.426
  • v3:0.974,-4.096,-0.485
  • v5:1.974、1.525、3.426
  • v7:-1.243,-2.163,3.426

那么,给定原型和那些点,我如何找到单个比例因子,以及关于 x、y 和 z 的旋转,这将最小化顶点和这些位置之间的距离?最好将该方法推广到任意网格,而不仅仅是立方体。

0 投票
4 回答
5440 浏览

algorithm - 从切割多边形(2D)生成新多边形

我被这个小问题困住了,我解决这个问题的算法并不适用于所有情况。有人知道如何解决这个问题吗?

这是一个示例多边形:

例如 http://img148.imageshack.us/img148/8804/poly.png

正式说明

我们有一个以 CW 顺序定义多边形的点列表。我们也可以用 查询一个点是否是一个切割点is_cut(p),给定点在哪里p。现在我们要计算由这个“切割”引起的新多边形。

该算法应该这样做:

输入:{a, c1, b, c4, c, c5, d, c6, e, c3, f, c2}

输出:{a, c1, c2}, {b, c4, c3, f, c2, c1}, {d, c6, c5},{e, c3, c4, c, c5, c6}

这是我当前的算法:

c如果您从或开始,则此算法不成立f

0 投票
14 回答
55029 浏览

math - 从给定点垂直于直线

如何从给定点在线段上绘制垂线?我的线段定义为 (x1, y1), (x2, y2),如果我从点 (x3,y3) 画一条垂线,它与点 (x4,y4) 上的线相交。我想找出这个(x4,y4)。

0 投票
9 回答
43223 浏览

r - R中两个向量之间的角度

编程语言R中计算两个向量之间角度的最有效方法是什么?

0 投票
2 回答
305 浏览

math - Where can I find line buffering code?

I can't find any code for doing this. The only places I can find it is in GIS APIs. Preferably in java, but I can port other languages too. I'd even settle for a overview of all the formulas required.

0 投票
5 回答
7938 浏览

c++ - 如何在 CGAL 中迭代人脸

我正在尝试使用 CGAL 进行一些 Delaunay 三角测量。我使用其中一个 CGAL 样本来计算包含高度场属性的三角剖分。

我遇到的问题是我不知道如何获得由此产生的三角测量。我想出了如何获得 face_iterator,但我不知道从那里做什么。我希望得到的是每个三角形上 3 个点的点数组的索引。

我在浏览所有嵌套模板时遇到了麻烦:

0 投票
2 回答
616 浏览

c++ - 简单的二维碰撞问题

我想找出静态球和移动球之间发生碰撞的时间,但是我提出的算法有时不会检测到碰撞并且移动球会穿过静态球。运动的球会受到重力的影响,而静止的球则不会。

这是我的碰撞检测代码:

这是调用碰撞检测的更新函数:

为什么没有在 100% 的情况下检测到碰撞?它仅在 70% 的病例中被发现。谢谢。

更新:当我将 FPS 从 30 更改为 10 时,问题似乎得到了解决。FPS 如何影响我的碰撞检测?

0 投票
4 回答
3562 浏览

c# - 计算几何开源库

有谁知道用于计算几何的开源 c# dll。

0 投票
3 回答
1070 浏览

sequences - 如何求解等差数列?

如何:

(1 + 2 + ... + N) / N = (N + 1) / 2

或者

(1 + 2 + ... + N + N) / N = (N + 3) / 2

我的教科书说这是初等数学,但我忘记了找到答案的方法。