gpt4 book ai didi

c++ - Nurbs 曲线 (2D) 长度和线性采样

转载 作者:行者123 更新时间:2023-11-30 01:03:48 26 4
gpt4 key购买 nike

我有一条 Nurbs 曲线(控制点、结 vector 、权重和 3 或 4 度)。我可以使用参数 t [0, 1] 沿曲线采样来计算长度。计算沿曲线的距离之和可得出曲线的近似长度。

  1. 有没有更好的方法来计算曲线的长度?
  2. 线性采样:我想对曲线进行线性采样,使得第一个样本 t = t0 = 0 到 t = t1 之间的距离是 S1,而 t n-1 到 tn = 1 之间的最后一个样本是 S2 和所有中间的样本具有从 S1 到 S2 线性插值的长度。

S1 和 S2 是固定的。

最佳答案

曲线长度遵循等式

ds / dt = √(x'²(t) + y'²(t))

其中s为曲线横坐标,t为曲线参数,在t上取导数。

您愿意做的就是构造函数 t(s) 并强加您的 s 值。这可以通过编写微分方程方便地完成

dt / ds = 1 / √(x'²(t) + y'²(t))

并对其进行数值积分,例如使用 Runge-Kutta。

关于c++ - Nurbs 曲线 (2D) 长度和线性采样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51974668/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com