使用numpy数组执行四元数操作

rowan的Python项目详细描述


罗文

ReadTheDocs StatusCircleCICodecovPyPICodacy BadgeZenodoJOSS

欢迎使用Rowan,一个四元数的Python包。 该包完全建立在numpy之上,并使用numpy数组表示四元数,这意味着所有函数都支持任意高维四元数数组。 四元数被编码为形状为(...,4)的数组,其约定是数组的最终维数(a, b, c, d)表示四元数a + bi + cj + dk。 该软件包涵盖了所有基本的四元数代数和演算操作,还提供了测量距离、执行点云映射和插值的功能。 如果您对如何与罗文合作有任何疑问,请访问 ReadTheDocs page

作者

设置

安装rowan的推荐方法是使用pipconda

通过PIP安装

要从pypi安装包,请执行:

pip install rowan --user

通过conda安装

要从conda安装包,首先添加conda forge频道:

conda config --add channels conda-forge

添加conda forge通道后,可以通过 执行

conda install rowan

从源安装

要从源安装,请执行:

git clone https://github.com/glotzerlab/rowan.git
cd rowan
python setup.py install --user

要求

  • python=2.7,>;=3.3
  • numpy>;=1.10

测试

该包目前在类unix系统上测试python版本2.7和python>;=3.3。 使用circleci对这些具有numpy 1.10及以上版本的python版本执行连续集成测试。

要运行打包的单元测试,请从存储库的根目录执行以下行:

python -m unittest discover tests

要检查测试覆盖率,请确保已安装覆盖率模块:

pip install coverage

然后使用coverage模块运行打包的单元测试:

coverage run -m unittest discover tests

快速启动

这个库可以通过简单地实例化适当的numpy数组并将它们传递给所需的函数来处理四元数。 例如:

importrowanimportnumpyasnpone=np.array([10,0,0,0])one_unit=rowan.normalize(one)assert(np.all(one_unit==np.array([1,0,0,0])))ifnotnp.all(one_unit==rowan.multiply(one_unit,one_unit)):raiseRuntimeError("Multiplication failed!")one_vec=np.array([1,0,0])rotated_vector=rowan.rotate(one_unit,one_vec)mat=np.eye(3)quat_rotate=rowan.from_matrix(mat)alpha,beta,gamma=rowan.to_euler(quat_rotate)quat_rotate_returned=rowan.from_euler(alpha,beta,gamma)identity=rowan.to_matrix(quat_rotate_returned)

文档

rowan的文档用reStructuredText编写,并使用Sphinx编译。 要生成文档,请首先安装sphinx:

pip install sphinx sphinx_rtd_theme

然后,您可以使用sphinx在rowan根目录中运行以下命令,以pdf或html格式创建实际文档:

cd doc
make html # For html output
make latexpdf # For a LaTeX compiled PDF file
open build/html/index.html

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何获取元素的文本值   javascript多websockets java   java无法在solaris中为非root用户打开选择器   SwingJava。如何使Jtable特定单元格不可选择?   java Android Studio从drawable中的文件夹获取图像   数组for循环中需要的Java变量   在Java中打印数组的索引   java HystrixCommand在Glassfish中运行时未通过JMX暴露   java Spring boot如何配置多个数据源   多线程Java threadsafe集合,在移除/获取时进行排序   java从ItemStack获取项目槽   eclipse中的java Access弹出菜单是用菜单(控件父级)构造函数创建的   java从POJO调用基于Spring的web应用程序类   使用文件集时,java Ant javadoc不会产生任何结果   java Jetty多个接受程序被阻止,等待锁定,对象被其他接受程序锁定   我不断得到的java在使用Comparable时找不到符号错误   java如何从<a href标记中提取特定url?   java如何在运行时向ScrollView添加文本?   java如何以波浪模式移动对象?   JavaSpring:如何使用注释注入字段