【问题标题】:Divide polynomial into equally lengths in OpenCV在OpenCV中将多项式分成相等的长度
【发布时间】:2016-05-11 09:21:20
【问题描述】:

我有一个三阶多项式方程和位于该多边形上的两个点。我还可以使用 opencv arcLength 函数计算这些点之间的多边形长度。

如何获得这些均匀分布的点,将多边形分成 N 个长度相同的部分?

【问题讨论】:

    标签: c++ opencv polynomial-math polynomials


    【解决方案1】:

    让我们看看这是否有帮助。如下:

     f = polynomial
     f' = derivative of f
     N = Number of subdivisions
     D = length of each subdivisions
     a = x coordinate of f for the first end of the curve.
     M = max of f' in the interval [a, b] where the curve is to be drawn.
     k = an integer such that an error of M/k would be negligible
    

    算法

    • 对于每个1 <= j <= N - 1,找到n(j) 使得以下sum(j) 接近jD 小于M/k

      sum(j) = sum from i=1 to n(j) of sqrt(1 + f'(a + (i-1)/k)^2)/k
      

    算法思路

    数量:

    1/k * sqrt(1 + f'(a + (i-1)/k)^2)
    

    a + (i-1)/ka + i/k 之间曲线的大致长度。

    该算法的思想是将这些小曲线段的长度相加,试图找出哪些与D2D3D等足够接近。

    【讨论】:

      猜你喜欢
      • 2015-10-01
      • 1970-01-01
      • 2011-02-09
      • 2011-11-25
      • 2014-05-04
      • 2015-02-05
      • 2011-01-08
      • 2014-08-31
      • 1970-01-01
      相关资源
      最近更新 更多