如何在python中插值加权hermite样条

2024-04-24 00:47:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我被要求插值加权Hermite样条,我有困难提出一个公式,正确地计算这与变化的切角。在

有没有人有一个公式来计算python中的加权切线,而不使用scipy或numpy? 或者是一个链接到一个解释其背后的数学原理的pdf文件? 提前感谢您的任何建议。在

数据来自需要在Maya外部使用的Autodesk Maya动画曲线。 是的,我曾经使用过animinengine.c,但它不能正确计算切线设置为“auto”的关键点

以下是一些示例数据:

point:  0
time(x): 14
value(y): 8.535
inAngle:  -48.7059321223
inX:  0.583333313465
inY:  -15.9391937256
inWeight:  7.07152271271
outAngle:  -48.7059355374
outX:  0.33333337307
outY:  -9.10811233521
outWeight:  4.0408706665
point:  1
time(x): 22
value(y): -12.131
inAngle:  -26.318250542
inX:  0.33333337307
inY:  -3.95701789856
inWeight:  2.97504448891
outAngle:  -26.318250542
outX:  0.416666686535
outY:  -4.94627189636
outWeight:  3.71880531311
point:  2
time(x): 32
value(y): -0.369
inAngle:  -1.40329438149
inX:  0.416666686535
inY:  -0.244970053434
inWeight:  3.3343334198
outAngle:  -2.02149523016
outX:  0.763025164604
outY:  -0.646368861198
outWeight:  6.10800218582

与非加权曲线相同:

point:  0
time(x): 14
value(y): 8.535
inAngle:  -48.7059321223
inX:  0.583333313465
inY:  -15.9391937256
inWeight:  7.07152271271
outAngle:  -48.7059355374
outX:  0.33333337307
outY:  -9.10811233521
outWeight:  4.0408706665
point:  1
time(x): 22
value(y): -12.131
inAngle:  -26.318250542
inX:  0.33333337307
inY:  -3.95701789856
inWeight:  2.97504448891
outAngle:  -26.318250542
outX:  0.416666686535
outY:  -4.94627189636
outWeight:  3.71880531311
point:  2
time(x): 32
value(y): -0.369
inAngle:  -1.40329438149
inX:  0.416666686535
inY:  -0.244970053434
inWeight:  3.3343334198
outAngle:  -2.02149523016
outX:  0.763025164604
outY:  -0.646368861198
outWeight:  6.10800218582

Tags: 数据timevalue公式pointmaya切线inx