【问题标题】:Detecting a small curve检测小曲线
【发布时间】:2011-11-25 00:18:16
【问题描述】:

假设你有一个由直线、圆弧等组成的轮廓。它可以是从 1e-6 到 1e+6 的任何大小。如何检测其中的微小无用曲线?目前,我们正在采用轮廓边界 rect * 1e-9 的对角线,而对于非常扭曲的轮廓(例如宽度是高度的许多倍),它会失败。

是否存在任何有效的方法来消除这种微小的无用曲线?

谢谢。

【问题讨论】:

  • 请澄清您的问题。例如。发布示例图像,当前代码的某些部分。此外,您是否想检测或消除这些曲线 - 这两件事是相关的,但不一样。最后,由于您的问题带有“3D-graphics”标签,请说明曲线是 2D 还是 3D,这也有很大的不同。
  • 您是指封闭区域中的曲线,还是属于轮廓一部分的曲线?当您看到一条“无用”曲线时,您是否知道它,或者您是否正在寻找一个好的标准?尺寸重要吗?
  • 我的意思是长度为 1e-6 的线条或角度为 1e-6 的弧线,它们看起来毫无用处(你可以去掉),直到你面对一个宽度为 100 且高度为 1e 的轮廓-6...轮廓可以是2D或3D。
  • 所以移除这些曲线,并延伸相邻的曲线以缩小间隙。有什么问题?

标签: math graphics 3d


【解决方案1】:

根据您的问题的措辞,我假设您的问题是使用浮点数进行几何。这是一个常见的错误。改用整数,曲线在哪一点真正是一条线会变得非常清楚。或者当两点相等时。您需要标准化所有数据并从那里以固定的精度工作。

【讨论】:

    猜你喜欢
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 2013-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-23
    • 2019-12-02
    相关资源
    最近更新 更多