# 开源项目推荐：我个人中意的Python/C++数学库(★精品收藏★)

Numpy和SciPy

NumPy python版本

https://github.com/numpy/numpy

NumCpp: Main Page C++文档

SciPy.org — SciPy.org

https://github.com/scipy/scipy

muparser

muparser - fast math parser library

SageMath

SageMath - Open-Source Mathematical Software System

GSL

(GNU Scientific Library)是一个开源的科学计算的函数库，功能非常强大。有超过1000个函数，该库提供了关于数学计算的很多方面，Matlab的大部分函数几乎都能借助它实现，可以在数值计算中省却很多事情。

GSL - GNU Scientific Library - GNU Project - Free Software Foundation

ftp://ftp.gnu.org/gnu/gsl/

Octave

GNU Octave

Index of /gnu/octave/

Ceres Solver

is an open source C++ library for modeling and solving large, complicated optimization problems. 来自谷歌.

Ceres Solver是一个开源C ++库，用于建模和解决大型复杂的优化问题。具有边界约束的非线性最小二乘问题；一般无约束优化问题。Ceres solver 是谷歌开发的一款用于非线性优化的库，在谷歌的开源激光雷达slam项目cartographer中被大量使用。Ceres官网上的文档非常详细地介绍了其具体使用方法，相比于另外一个在slam中被广泛使用的图优化库G2O，ceres的文档可谓相当丰富详细（没有对比就没有伤害，主要是G2O资料太少了，对比起来就显得ceres的很多）

Ceres Solver — A Large Scale Non-linear Optimization Library

g2o

A General Framework for Graph Optimization

OpenSLAM.org

https://github.com/RainerKuemmerle/g2o

PCL

The Point Cloud Library (PCL) is a standalone, large scale, open project for 2D/3D image and point cloud processing.

Point Cloud Library | The Point Cloud Library (PCL) is a standalone, large scale, open project for 2D/3D image and point cloud processing.

https://github.com/PointCloudLibrary/pcl

Eigen

is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.

http://eigen.tuxfamily.org

libeigen / eigen · GitLab 【推荐】

https://github.com/eigenteam/eigen-git-mirror

https://bitbucket.org/eigen/eigen/src/default/

CGAL

The Computational Geometry Algorithms Library

Geos

GEOS

Clipper

Armadillo：C++ library for linear algebra & scientific computing

Armadillo: C++ library for linear algebra & scientific computing

wykobi:几何计算数学库A C++ library of efficient, robust and simple to use C++ 2D/3D oriented computational geometry routines.

http://www.wykobi.com/tutorial.html

Dlib

A toolkit for making real world machine learning and data analysis applications in C++

https://github.com/davisking/dlib

OGRE:scene-oriented, flexible 3D engine written in C++

OGRE - Open Source 3D Graphics Engine | Home of a marvelous rendering engine

OGRE: API Reference Start Page Modules-Core-Math

https://github.com/OGRECave/ogre

Cinder is a free and open source library for professional-quality creative coding in C++

NURBS

NURBS, B-Splines, and Bézier curves/Bessel Curve Fitting贝塞尔曲线拟合

0、NURBS开源项目

https://github.com/msteinbeck/tinyspline

https://github.com/mcneel/opennurbs

NURBS-Python

NURBS-Python :: Onur Rauf Bingol

GitHub - orbingol/NURBS-Python: Object-oriented pure Python B-Spline and NURBS library

geomdl · PyPI

1、贝塞尔开源项目

https://github.com/oysteinmyrmo/bezier

https://github.com/stribor14/Bezier-cpp Fast and lightweight class for using the Bezier curves

https://github.com/Pomax/BezierInfo-2

Android 绘制N阶Bezier曲线      https://github.com/venshine/BezierMaker

2、B样条开源项目

Opencv 三次样条曲线(Cubic Spline)插值

https://github.com/msteinbeck/tinyspline

https://github.com/ttk592/spline

https://github.com/andrewwillmott/splines-lib

https://github.com/ejmahler/SplineLibrary

https://github.com/ebertolazzi/Splines

https://github.com/pyzhangxiang/qt-curve-editor

https://github.com/OpenTspline/OpenTspline  Open source T-spline library

★书籍推荐★

《计算几何算法与实现（Visual C++版）》 孔令德，三次参数样条曲线

《计算机图形学——基于MFC三维图形开发》 孔令德

《数值计算方法与算法（第三版）》 张韵华

OPENGL几何数学库GLM

Khronos OpenGL® Registry - The Khronos Group Inc

https://github.com/KhronosGroup/OpenGL-Registry

https://glm.g-truc.net/

https://github.com/g-truc/glm OpenGL Mathematics (GLM) is a header only C++ mathematics library

https://github.com/recp/cglm OpenGL Mathematics (glm) for C

glm常用的数据类型

vec2 二维向量

vec3 三维向量

vec4 四维向量

mat2 二阶矩阵

mat3 三阶矩阵

mat4 四阶矩阵

glm::translate() 创建一个平移矩阵，第一个参数是目标矩阵，第二个参数是平移的方向向量

glm::rotate() 创建一个将点绕某个轴旋转x弧度的旋转矩阵，第一个参数是弧度，第二个参数是旋转轴

glm::scale() 创建一个缩放矩阵，第一个参数是目标矩阵，第二个参数是缩放系数

TSP(Travelling Salesman Problem)经典问题

TSPSG | TSP Solver and Generator

TSP旅行商问题各种算法实现

|
4天前
|

C++的I/O流标准库
C++的I/O流标准库
13 2
|
1天前
|

|
3天前
|

Python标准库与第三方库：强大的编程资源
Python标准库与第三方库：强大的编程资源
45 1
|
3天前
|

12 0
|
3天前
|

C++标准库深度探索
C++标准库深度探索
12 2
|
3天前
|

Python库与框架的深入解析
12 0
|
4天前
|
Python
python相关库的安装：pandas,numpy,matplotlib，statsmodels
python相关库的安装：pandas,numpy,matplotlib，statsmodels
11 0
|

Python标准库12 数学与随机数 (math包，random包)

1075 0
|

Python标准库12 数学与随机数 (math包，random包)

1024 0
|
6天前
|

Python编程实验六：面向对象应用
Python编程实验六：面向对象应用
24 1