【问题标题】:Efficient method for parameterizing distances between points in a 2D参数化二维中点之间距离的有效方法
【发布时间】:2018-01-27 00:58:54
【问题描述】:

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

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

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

我们讨论过的事情是:

  1. 维护所有顶点之间所有关系的方程式列表。假设我们有点ABC。让W 成为一些用户定义的参数。此形状的约束方程为Bx = Ax + WBy = AyCx = Bx 等等。

复杂性很大,但很有效。

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

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

【问题讨论】:

  • “问题”到底是什么?可能只是我,但我根本不明白你在问什么。改变顶点距离如何改变线宽???您的意思是缩放多边形还是偏移轮廓?
  • 表示顶点 (100,100) 和 (200,100) 的距离是否由参数 W 参数化。如果我们想增加 W,我们应用一些算法将 (100,100) 或 (200,100) 转换为将导致 W 增加的新位置。前任。将 (200,100) 转换为 (300,100) 将使 W 增加 50%。基本上。这就是我的意思。
  • 沿线方向移动线端点很容易,例如你有 A,B 并想要更改大小,所以 B' = A + t*(B-A) 其中 t 是你的参数,如果 t=1.0 然后没有变化。 ..如果t=2.0,则长度加倍...如果t=0.5,则长度减半...
  • 是的,我想就是这样。我正在尝试验证它是否真的可以用于生产,因为据我了解,当你有 100 个顶点时,事情可能会变得混乱。
  • 没有正确的问题描述很难说......如果你想保留形状,那么你需要改变比例而不是点移动......

标签: algorithm drawing vertices cad parameterization


【解决方案1】:

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

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

【讨论】:

  • 几何约束求解器。我想这就是我们要找的词。
猜你喜欢
  • 2021-01-19
  • 1970-01-01
  • 2018-05-20
  • 2016-02-09
  • 1970-01-01
  • 2011-07-28
  • 2017-08-05
  • 2017-09-10
  • 1970-01-01
相关资源
最近更新 更多