Numpy和SciPy

大名鼎鼎的

NumPy python版本

https://github.com/numpy/numpy

https://github.com/dpilger26/NumCpp C++版本

NumCpp: Main Page C++文档

SciPy.org — SciPy.org

https://github.com/scipy/scipy

muparser

许多应用程序需要解析数学表达式。该库的主要目的是提供一种快速简便的方法。 muParser是一个用C ++编写的可扩展的高性能数学表达式解析器库。 它的工作原理是将数学表达式转换为字节码并预先计算表达式的常量部分。

muparser - fast math parser library

SageMath

是一个免费的、开源的数学软件系统,采用GPL协议。它整合了许多开源Python包,采用Python语言编写,但也支持其他语言。它的目标是创造一个可变的开源软件以替代Magma、Maple、Mathematica和Matlab。Sage不仅是一个软件,也是一个编程环境,提供命令行模式、笔记本模式,可以编写编译型程序和解释型程序。目前Sage支持Linux、Mac OS X、BSD、Solaris平台。

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/

详情见我的博客:开源项目推荐:GSL科学计算函数库(GNU Scientific Library),实现VS2019源码编译_$firecat全宏的代码足迹$-CSDN博客

Octave

是一种编程语言,旨在解决线性和非线性的数值计算问题。4.0.0版本发布基于QT编写的GUI交互界面。Octave语法与Matlab语法非常接近,可以很容易的将matlab程序移植到Octave。同时与C++,QT等接口较Matlab更加方便。

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

Modeling Non-linear Least Squares — Ceres Solver

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.

Eigen是一个C++开源线性代数库:提供矩阵的线性代数运算。Eigen是可以用来进行线性代数、矩阵、向量操作等运算的C++库,它里面包含了很多算法。它的License是MPL2。它支持多平台。Eigen采用源码的方式提供给用户使用,在使用时只需要包含Eigen的头文件即可进行使用。之所以采用这种方式,是因为Eigen采用模板方式实现,由于模板函数不支持分离编译,所以只能提供源码而不是动态库的方式供用户使用。Eigen是一个只有头文件的库。

http://eigen.tuxfamily.org

libeigen / eigen · GitLab 【推荐】

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

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

CGAL

全称就是Computational Geometry Algorithms Library,从名称就可以看出,CGAL就是计算几何的开源库。CGAL是用C++语言写的计算几何最经典的开源库。

The Computational Geometry Algorithms Library

详情见我的博客:GIS系列专题(1):GDAL/Shapely/GEOS/2geom/Grass/Clipper/CGAL计算几何算法库_$firecat全宏的代码足迹$-CSDN博客

Geos

全称就是Geometry Engine Open Source,从名称就可以看出,Geos就是判断几何体的过程。Geos是用C++语言写的处理计算几何的开源库。

GEOS

详情见我的博客:GIS系列专题(1):GDAL/Shapely/GEOS/2geom/Grass/Clipper/CGAL计算几何算法库_$firecat全宏的代码足迹$-CSDN博客

Clipper

Clipper库是目前计算机图形领域广为使用的图形处理库,可以用于解决平面二维图形的多边形简化、布尔运算和偏移处理,在CAD、加工路径与3D打印方面都有着比较重要的应用。

详情见我的博客:GIS系列专题(2):Clipper计算机图形库使用说明(Vatti‘s clipping algorithm)_$firecat全宏的代码足迹$-CSDN博客

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

数据类型都定好了,基本运算的算符也重载了,用起来跟Matlab差不多

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++

https://libcinder.org/docs/ Math

NURBS

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

0、NURBS开源项目

http://libnurbs.sourceforge.net/old/ ++ https://sourceforge.net/projects/libnurbs/files/ nurbs++-3.0.11

https://download.csdn.net/download/zhai_ht/4983882 Nurbs3.0.11开源库vs2010源代码

https://www.sintef.no/projectweb/geometry-toolkits/sisl/ ++ https://github.com/SINTEF-Geometry/SISL SISL

https://www.gnu.org/software/gsl/doc/html/interp.html GSL

https://github.com/pradeep-pyro/tinynurbs

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

贝塞尔曲线底漆 A Primer on Bézier Curves

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

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

三次Beizer曲线拟合算法

2、B样条开源项目

三次B样条曲线拟合算法  三次参数样条,优势是光滑连接。拟合轮廓效果还是可以,较之Beizer,B样条将一些细节描述的很好,很多细节之处都贴近原轮廓,但是有一些不足之处,可以看到对直线拟合效果不是很好。三次样条插值(Cubic Spline Interpolation)简称Spline插值,是通过一系列形值点的一条光滑曲线,数学上通过求解三弯矩方程组得出曲线函数组的过程。

三次样条曲线拟合VC++

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

https://github.com/msteinbeck/tinyspline

https://github.com/bgrimstad/splinter

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::radians() 角度制转弧度制
glm::translate() 创建一个平移矩阵,第一个参数是目标矩阵,第二个参数是平移的方向向量
glm::rotate() 创建一个将点绕某个轴旋转x弧度的旋转矩阵,第一个参数是弧度,第二个参数是旋转轴
glm::scale() 创建一个缩放矩阵,第一个参数是目标矩阵,第二个参数是缩放系数

TSP(Travelling Salesman Problem)经典问题

旅行商问题,即TSP问题(Travelling Salesman Problem)又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。 
旅行商问题是图论中最著名的问题之一,即“已给一个n个点的完全图,每条边都有一个长度,求总长度最短的经过每个顶点正好一次的封闭回路”。该问题通常被认为是一个NP完全问题。时间复杂度为O(n!)。因此,通常n的值不是很大。
TSPSG | TSP Solver and Generator

动态规划经典问题--TSP问题

动态规划法求解TSP问题 C++

求解TSP问题的几种经典智能算法比较(附完整代码)

基于遗传算法的TSP算法

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

旅行商(TSP)问题专题——多种方法对比

Math.NET Numerics

https://github.com/mathnet/mathnet-numerics

Curve Fitting: Linear Regression

scidavis

SciDAVis 是一个用户友好的数据分析和可视化程序,主要针对科学数据的高质量绘图。 它努力将直观、易于使用的图形用户界面与强大的功能(如 Python 脚本能力)相结合。

GitHub - highperformancecoder/scidavis-old: SciDAVis is a user-friendly data analysis and visualization program primarily aimed at high-quality plotting of scientific data. It strives to combine an intuitive, easy-to-use graphical user interface with powerful features such as Python scriptability.

GitHub - SciDAVis/scidavis

基于开源组件的曲线拟合在可视化系统的研究

ZedGraph组件

ZedGraph是一个用.NET编写的开源类库, 用于绘制任意数据集的二维线型、条型、饼型图表,可作为WinForm窗体控件,也可用作ASP.NET Web控件, 支持.NET1.1和.NET2.0。

GitHub - ZedGraph/ZedGraph: Graphing Library for .NET

ALGLIB是一个跨平台的数值分析和数据处理函数库

ALGLIB - C++/C# numerical analysis library

开源项目推荐:我个人中意的Python/C++/.Net数学库(★精品收藏★)相关推荐

  1. 开源项目推荐:本人收集的有关Qt的GitHub/Gitee开源项目(★精品收藏★)

    尊重作者,支持原创,如需转载,请附上原地址:开源项目推荐:Qt有关的GitHub/Gitee开源项目(★精品收藏★)_$firecat全宏的代码足迹$-CSDN博客_qt开源项目https://lib ...

  2. 开源项目推荐:OpenGL/Vulkan/Cairo/Skia/angle/VTK/OpenVG/MyPaint/GIMP/Krita/Pencil2D/inkspace/enve等绘图库或画图软件

    绘图引擎简介 Windows环境下二维绘图引擎有多种选择:GDI.GDI+.DirectDraw.Qt/QPainter.Agg.Cairo.skia.Direct2D.Direct3D.OpenGL ...

  3. 阿里淘系优质开源项目推荐(下)

    开源推动着互联网技术的发展.多年来,阿里巴巴淘系技术一直积极拥抱开源事业,无论是开源软件的应用.回馈以至自研技术的开源都非常活跃,近两年我们更是开源了MNN.飞冰ICE.3D-FUTURE & ...

  4. 开源项目推荐:3D点云处理开源库PCL/Cilantro/Open3d/Easy3D/PDAL/LAStools

    PCL Point Cloud Library是在吸收了前人点云相关研究基础上建立起来的大型跨平台开源C++编程库,它实现了大量点云相关的通用算法和高效数据结构,涉及到点云获取.滤波.分割.配准.检索 ...

  5. 开源项目推荐:CNC+CRC/SoftPLC/OpenCASCADE/CAD/CAM(一)

    尊重作者,支持原创,如需转载,请附上原地址: 开源项目推荐:CNC+CRC/SoftPLC/OpenCASCADE/CAD/CAM_$firecat全宏的代码足迹$-CSDN博客_开源cnc软件 先来 ...

  6. 开源项目推荐:CNC+CRC/SoftPLC/OpenCASCADE/CAD/CAM

    <开源项目推荐:CNC+CRC/SoftPLC/OpenCASCADE/CAD/CAM>

  7. 开源作者在行动:疫情防控相关开源项目推荐

    开源作者在行动:疫情防控相关开源项目推荐: https://blog.gitee.com/2020/02/03/ncov-open-source-project/

  8. springboot 数据权限_13 个最火的 SpringBoot 实战开源项目推荐!总有一个适合你!...

    商城系统 Guide 哥注:下面的商城系统大多比较复杂比如 mall ,如果没有 Java 基础和 Spring Boot 都还没有摸熟的话不推荐过度研究下面几个项目或者使用这些项目当作毕业设计. m ...

  9. 10大Go语言开源项目推荐

    关注公众号 风色年代(itfantasycc) 300G微服务资料等你拿! Go语言诞生5周年!10大Go语言开源项目推荐 - Go语言中文网 - Golang中文社区 引用 2014年11月,Gol ...

最新文章

  1. luogu P1345 [USACO5.4]奶牛的电信Telecowmunication(建图技巧 - “割点”模板 、最小割)
  2. php 带下划线的函数,[宜配屋]听图阁
  3. python百度云资源-Python开发视频百度云分享
  4. 【java】java内存模型 (1)--基础
  5. 一步一步SharePoint 2007之十四:实现Form认证(4)——创建管理帐户
  6. centos 7 升级/安装 git 2.7.3
  7. 一文带你领略虚拟化领域顶级技术会议KVM Forum 2018
  8. concurrenthashmap实现原理_Mybatis:PageHelper分页插件源码及原理剖析
  9. 【linux】ssh 远程执行命令
  10. [轉]最流行的PHP MVC框架
  11. 关于主机后面板耳机插孔有声音前面板没有声音的处理办法
  12. AutoCad二次开发-插入DWG参照 Teigha库
  13. python怎么填充背景颜色,python通过pil为png图片填充上背景颜色的方法
  14. tp1900芯片对比7621a_TP无线路由器WDR7660千兆版,厉害了单芯片TP1900
  15. QT读写文本文件编码设置
  16. js日期格式转换Wed Mar 22 13:38:37 CST 2017 转换 为yyyy-mm-dd
  17. DHT11温湿度传感器(基于树莓派)
  18. 浪潮信息推出服务器操作系统Inspur KOS的底气与豪气
  19. Codeforces Round #802 (Div. 2)
  20. 超定方程组最小二乘法(内含代码)

热门文章

  1. 娱乐小工具微信小程序源码下载支持多种流量主
  2. Simulink入门——RLC串联动态电路
  3. ffmpeg文档中文翻译
  4. 【数据分析/商业分析】面试题整理——统计学/机器学习/业务专题
  5. 太和二中计算机考试,太和二中网上阅卷系统|翰林金榜太和二中查分系统 网页版_最火软件站...
  6. 颜色的前世今生21·Lab编码系统
  7. 什么是Redis哨兵机制?
  8. IntelliJ IDEA 注册码(phpstorm等IDE)
  9. 遇到oracle错误12514,【ORACLE】提示ORA-12514错误处理
  10. 计算机模拟飞行,模拟飞行 DCS F-14B Tomcat雄猫 中文指南 3.22计算机地址面板