繁体   English   中英

使用 python 中的 nurbs / geomdl 找到 3D b 样条曲线上一点的曲率中心

[英]Find the center of Curvature of a point on 3D b-spline using nurbs / geomdl in python

我再一次在我的头上,所以请多多包涵。

我有一个 B 样条曲线(从 Solidworks 导入),我可以在 python 中使用 geomdl 进行分析。
从 geomdl 中,我可以提取样条曲线上任何给定点的一阶和二阶导数以及切线、法线和副法线向量。

从那里我可以从一阶和二阶导数计算该点的曲率。

但是我无法确定曲线转向的方向。

我想在 bspline 上找到当前感兴趣点的曲率中心的点。

我“认为”切线向量和法线向量都位于感兴趣的密切平面上。 然后,叉积将为我提供密切平面的法线。 但是我无法完成这项工作。

至少我需要知道曲线弯曲的方向。 即CW或CCW。

但是如果我在曲率中心有一点,我就会知道关于那个点的几乎所有事情。

这个对吗?

重申问题:

给定一个点,曲线在该点的导数,以及切线、法线和双法线向量,我如何找到曲率中心?

给定参数曲线 C(t) 以及一阶和二阶导数 C'(t) 和 C"(t),可以找到曲率向量

K(t) = m1*C"(t) - m2*C'(t)

在哪里

m1 = 1.0/||C'(t||^2 and m2 = m1*m1 * C'(t) \dot C"(t). 

从 K(t),您可以找到曲率半径 R(t) 为

R(t) = K(t)/||K(t)||^2

然后曲率中心是C(t)+R(t)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM