[英]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.