向量和矩阵的基本数学库
wp-tinymath的Python项目详细描述
小小数学
向量和矩阵的基本数学库(仅适用于2、3和4维)
又是一个数学图书馆
这个库主要用于测试目的(与PyPi、ReadTheDocs、CI、python绑定等集成)。 但是,我们目前使用它来替代其他更完整的库,比如glm 和^ a2}在一些项目中大量使用C/C++和 还需要通过绑定来支持Python。在
设置
C++ +EH3>
将此包克隆到您的third_party
依赖项中:
# Replace "third_party" with your own dependencies-folder name
git clone https://github.com/wpumacay/tiny_math.git third_party/tiny_math
这个库是一个基于模板的只包含头的库,所以只要在include
中包含头文件
文件夹,例如在您自己的CMakeLists.txt
中:
或者,您可以使用CMake目标tinymath_cpp_lib
作为自己目标中的依赖项:
add_library( my_own_awesome_library tinymath_cpp_lib )
Python
使用提供的setup.py
文件:
python setup.py install
或通过PyPi:
pip install wp-tinymath
并在python文件中导入tinymath
包:
importtinymathastm
使用
C++ +EH3>#include<vector_t.h>#include<matrix_t.h>intmain(){// Create a vec3-float32 and show it on the consoletinymath::Vector3f_vec={1.0f,2.0f,3.0f};std::cout<<"vec: "<<tinymath::toString(vec)<<std::endl;// Create a mat3 float32, show its entries and its inverseautomat=tinymath::Matrix3f({3.0f,9.0f,3.0f,9.0f,0.0f,3.0f,2.0f,3.0f,8.0f});std::cout<<"mat:"<<std::endl;std::cout<<tinymath::toString(mat)<<std::endl;std::cout<<"mat.inverse():"<<std::endl;std::cout<<tinymath::toString(mat.inverse())<<std::endl;return0;}
Python
importtinymathastm# Create a vec3-float32 and show it on the consolevec=tm.Vector3f([1.0,2.0,3.0])print('vec: {}'.format(vec))# Create a mat3 float32, show its entries and its inversemat=tm.Matrix3f([[3.0,9.0,3.0],[9.0,0.0,3.0],[2.0,3.0,8.0]]);print("mat:")print(mat)print("mat.inverse():")print(mat.inverse())
标签:
- 项目
标签: