FRENET - Frenet-Serret空间曲线不变量

函数定义:

[T, N, B, k, t] = frenet(x, y);

[T, N, B, k, t] = frenet(x, y, z);

该函数用于计算空间曲线的不变量,通过输入向量 xyz 返回一系列向量和缩放量的结果。当省略z时,曲线为二维,函数仍然有效。

公式描述

  • T(切线):

    \( T = \frac{r'}{|r'|} \)

  • N(法线):

    \( N = \frac{T'}{|T'|} \)

  • B(双法线):

    \( B = T \times N \)

  • k(曲率):

    \( k = |T'| \)

  • t(扭转):

    \( t = \text{dot}(-B', N) \)

示例代码

% 生成三维曲线样本
theta = 2 * pi * linspace(0, 2, 100);
x = cos(theta);
y = sin(theta);
z = theta / (2 * pi);

% 计算Frenet不变量
[T, N, B, k, t] = frenet(x, y, z);

% 三维图形显示
line(x, y, z);
quiver3(x, y, z, T(:,1), T(:,2), T(:,3));

以上代码生成三维曲线并绘制切线向量。函数frenet计算得出的向量 TNB 以及缩放量 kt可用于空间曲线的深入研究。