1个不稳定版本

0.1.0 2019年3月31日

#1568 in 数学

BSD-3-Clause

2KB

dq

可能是Rust中关于双四元数最完整、最准确的实现。

双四元数的实现使用了nalgebra,并受到了dual_num的强烈启发。

注意事项

  • 使用pow,您可以
  • 您可以使用ln().exp(),但exp().ln()由于幂零性(您会丢失信息)不工作。
  • 使用双数,您不能使用大于等于2.0的幂,因为这会丢失信息。(???)

资源

https://github.com/potan/dual.rs/blob/master/src/lib.rs

https://blog.demofox.org/2014/12/30/dual-numbers-automatic-differentiation/

https://idontgetoutmuch.wordpress.com/2013/10/13/backpropogation-is-just-steepest-descent-with-automatic-differentiation-2/

https://github.com/hoechp/ultracomplexmath/blob/954c19190e/src/util/hypercomplex/Dual.java

https://github.com/dpd3788/quatlib/blob/7b42455542edbc3b62df3ee20eb8c465d81f6ac0/cpp/include/quaternion.h

待办事项

  • 共轭

  • 齐次矩阵转换

  • 为什么a.pow(4.0).pow(1.0/4.0) != a?应该吗?

完成

  • 随机化
  • 固定的三角函数
  • pow -> slerp

无运行时依赖