沿样条生成“自然路径”

时间:2012-01-18 09:04:06

标签: math 3d matrix spline

我需要一种方法来获得沿样条曲线的任何点的方向(局部x / y / z轴)...其中z轴始终是样条切线,x / y彼此垂直并且z

一种常见技术是将一个轴向量计算为切线的变化率,即x(t) = z(t) X z(t+dt) 那么y就是x X z

然而,我不确定这会给我所谓的“自然”方向路径。我的意思是,想象一下,我有一根刚性的钢棒弯曲成一组卷发,然后我沿着这根杆推进一根柔软的软管。如果摩擦力可以忽略不计,那么“自然”路径意味着软管在任何一点都会以最小的扭矩结束,因为它会“解开”自身以获得更低的能量状态。

有没有办法做到这一点,这并不意味着从0-t遍历样条的长度来找到给定点t的变换?

1 个答案:

答案 0 :(得分:2)

看来你正在寻找Frenet frame - 用单位切线,法线和副法向量移动三面体

的增添。 简单的例子:

X = 2 * t ^ 2-t + 5

Y = t ^ 3 + t ^ 2 + 2 * t - 1

Z = -t ^ 3 - 2 * Sin(t)


X'(t)= 4 * t-1; X'' = 4

Y' = 3 * t ^ 2 + 2 * t + 2; Ÿ'' = 6 * t + 2

Z' = -3 * t ^ 2-2 * Cos(t); ž'' = -6 * t + 2 * Sin(t)


参数t = 0:

X' = -1; Ÿ' = 2; ž' = -2; | R' | = Sqrt(1 + 4 + 4)= 3

T =( - 1 / 3,2 / 3, - 2/3)

依旧......