0

我们一直在开发一个小型简单的“CAD”解决方案,它允许我们参数化一些特定的简单形状的宽度和长度。

例如,考虑以下一组顶点形成一个三角形。任何2点形成一条线。所以改变点之间的距离就是改变线的宽度。

三角形

我们已经就如何解决这个问题进行了严格的讨论。

我们讨论过的事情是:

  1. 维护所有顶点之间所有关系的方程列表。假设我们有点A, B, C。让我们W成为一些用户定义的参数。这个形状的约束方程是Bx = Ax + W, By = Ay,Cx = Bx等等。

复杂性是巨大的,但它确实有效。

  1. 也许将每个顶点建模为图中的一个节点......?

在该领域广泛使用的正确方法是什么?

4

1 回答 1

1

我认为您正在尝试实现简化的几何约束求解器。基本上,点的位置是通过求解具有一些边界条件(即一些点的位置已知)的一组非线性方程(即约束)来确定的。如果是这种情况,即使所涉及的唯一几何图形是 2d 点并且所涉及的唯一约束是点之间的距离,也不容易做到。无论如何,在这个领域,通过最小化实现数值求解器是一种典型的方法。更通用的解决方案将涉及数字求解器和代数求解器的混合。

这是一个链接,其中包含有关约束求解器的大量信息,包括几何约束求解器。希望你能在这里找到有用的东西。

于 2017-08-19T07:15:38.853 回答