Repository: zishun/awesome-geometry-processing Branch: main Commit: 1b696f7fb283 Files: 1 Total size: 23.0 KB Directory structure: gitextract_iffwgca_/ └── README.md ================================================ FILE CONTENTS ================================================ ================================================ FILE: README.md ================================================ # Libraries for Geometry Processing (GP) ## General Libraries * [Boost.Geometry](https://github.com/boostorg/geometry) ![cpp] ![star](https://img.shields.io/github/stars/boostorg/geometry?style=flat) : convex hull, intersection (clipping), within (point in polygon), distance, envelope (bounding box), simplify, transform, and much more. supports high precision arithmetic numbers, such as ttmath. [doc](boost.org/libs/geometry) * [Boost.Polygon](https://github.com/boostorg/polygon) ![cpp] ![star](https://img.shields.io/github/stars/boostorg/polygon?style=flat) : the polygon set operations (intersection, union, difference, disjoint-union) and related algorithms such as polygon connectivity graph extraction, offsetting and map-overlay. [doc](boost.org/libs/polygon) * [CGAL](https://www.cgal.org/) ![cpp] ![star](https://img.shields.io/github/stars/cgal/cgal?style=flat) : The Computational Geometry Algorithms Library. * [cg3lib](https://github.com/cg3hci/cg3lib) ![cpp] ![star](https://img.shields.io/github/stars/cg3hci/cg3lib?style=flat) : a GP library developed by the [CG3HCI Group](http://cg3hci.dmi.unica.it/lab/en) of the University of Cagliari. * [CinoLib](https://github.com/mlivesu/cinolib) ![cpp] ![star](https://img.shields.io/github/stars/mlivesu/cinolib?style=flat) : a generic programming header-only C++ library for processing polygonal and polyhedral meshes. * [DGtal](https://github.com/DGtal-team/DGtal) ![cpp] ![star](https://img.shields.io/github/stars/DGtal-team/DGtal?style=flat) : A library for digital geometry processing and analysis. * [Easy3D](https://github.com/LiangliangNan/Easy3D/) ![cpp] ![star](https://img.shields.io/github/stars/LiangliangNan/Easy3D?style=flat) : A lightweight and easy-to-use 3D mesh processing library. * [Embree](https://github.com/embree/embree) ![cpp] ![star](https://img.shields.io/github/stars/embree/embree?style=flat) : a ray tracing library with GP modules including geometry objects, ray/point queries, collision detection, BVH, etc. * python bindings in Open3D and others. * [Euclid](https://github.com/unclejimbo/Euclid) ![cpp] ![star](https://img.shields.io/github/stars/unclejimbo/Euclid?style=flat) : A C++ library for computational geometry and mesh processing. * [Geogram](https://github.com/BrunoLevy/geogram) ![cpp] ![star](https://img.shields.io/github/stars/BrunoLevy/geogram?style=flat) : contains the main results in GP from the former ALICE Inria project. * [Geometric Tools](https://github.com/davideberly/GeometricTools) ![cpp] ![star](https://img.shields.io/github/stars/davideberly/GeometricTools?style=flat) : [website](https://www.geometrictools.com/) * [Geometry Central](https://github.com/nmwsharp/geometry-central) ![cpp] ![star](https://img.shields.io/github/stars/nmwsharp/geometry-central?style=flat) : [doc](http://geometry-central.net/) * [GEOS](https://github.com/libgeos/geos) ![cpp] ![star](https://img.shields.io/github/stars/libgeos/geos?style=flat) : Geometry Engine, Open Source. Computational geometry library with a focus on algorithms used in geographic information systems (GIS). [website](https://libgeos.org/) * [gproshan](https://github.com/larc/gproshan) ![cpp] ![star](https://img.shields.io/github/stars/larc/gproshan?style=flat) : using Compact Half–Edge (CHE) data structure. * [gptoolbox](https://github.com/alecjacobson/gptoolbox) ![matlab] ![star](https://img.shields.io/github/stars/alecjacobson/gptoolbox?style=flat) : A MATLAB toolbox for geometry processing tasks. * [gpytoolbox](https://github.com/sgsellan/gpytoolbox) ![python] ![star](https://img.shields.io/github/stars/sgsellan/gpytoolbox?style=flat) : A Python toolbox for geometry processing. * [Graphite](https://github.com/BrunoLevy/GraphiteThree) ![cpp] ![star](https://img.shields.io/github/stars/BrunoLevy/GraphiteThree?style=flat) : an experimental 3D modeler, built around geogram. * [GTS](https://gts.sourceforge.net/) ![C] : GNU Triangulated Surface Library. * [GUDHI](https://github.com/GUDHI) ![cpp] ![python] : Geometry Understanding in Higher Dimensions, a generic open source library for Topological Data Analysis (TDA). * [Hugues Hoppe's library](https://github.com/hhoppe/Mesh-processing-library) ![cpp] ![star](https://img.shields.io/github/stars/hhoppe/Mesh-processing-library?style=flat) : libraries and programs demonstrating mesh processing research published in ACM SIGGRAPH (1992-1998) * [Lagrange (Adobe)](https://github.com/adobe/lagrange/) ![cpp] ![star](https://img.shields.io/github/stars/adobe/lagrange?style=flat) : A robust GP library. [Doc](opensource.adobe.com/lagrange-docs/). * [LibIGL](http://libigl.github.io/libigl/) ![cpp] ![star](https://img.shields.io/github/stars/libigl/libigl?style=flat) : A simple C++ geometry processing library. * [libigl-python-bindings](https://github.com/libigl/libigl-python-bindings) ![python] ![star](https://img.shields.io/github/stars/libigl/libigl-python-bindings?style=flat) * [Manifold](https://github.com/elalish/manifold) ![cpp] ![star](https://img.shields.io/github/stars/elalish/manifold?style=flat) : a geometry library dedicated to creating and operating on manifold triangle meshes. * [MatGeom](https://github.com/mattools/matGeom) ![matlab] ![star](https://img.shields.io/github/stars/mattools/matGeom?style=flat) : Matlab geometry toolbox for 2D/3D geometric computing. * [MeshLab](https://github.com/cnr-isti-vclab/meshlab) ![cpp] ![star](https://img.shields.io/github/stars/cnr-isti-vclab/meshlab?style=flat) : An open-source system for processing and editing 3D triangular meshes. * [PyMeshLab](https://github.com/cnr-isti-vclab/PyMeshLab) ![python] ![star](https://img.shields.io/github/stars/cnr-isti-vclab/PyMeshLab?style=flat) * [MeshLib](https://github.com/MeshInspector/MeshLib) ![cpp] ![star](https://img.shields.io/github/stars/MeshInspector/MeshLib?style=flat) : A C++ library for mesh processing and analysis by MeshInspector. * [MeshPipe](https://gitrepos.virvig.eu/jfons/meshpipe) : a python-based tool for easy automation and demonstration of GP pipelines [(Fons et al., 2020)](https://doi.org/DOI:10.5220/0008935900710082). * [MeshUtility](https://github.com/zishun/meshutility/) ![python] ![star](https://img.shields.io/github/stars/zishun/meshutility?style=flat) : A Python library for mesh utility functions. * [MPI-IS Mesh](https://github.com/MPI-IS/mesh) ![python] ![star](https://img.shields.io/github/stars/MPI-IS/mesh?style=flat) : A Python library for mesh processing. * [Numerical Tours](https://github.com/gpeyre/numerical-tours) ![python] ![matlab] ![star](https://img.shields.io/github/stars/gpeyre/numerical-tours?style=flat) : includes some topics about mesh processing, mesh parameterization and deformation, and multiscale mesh processing. [website](http://www.numerical-tours.com/) * [Open3D](http://www.open3d.org/) ![cpp] ![python] ![star](https://img.shields.io/github/stars/isl-org/Open3D?style=flat) : A modern library for 3D data processing. * [OpenGeode](https://github.com/Geode-solutions/OpenGeode) ![cpp] ![python] ![star](https://img.shields.io/github/stars/Geode-solutions/OpenGeode?style=flat) : [doc](https://docs.geode-solutions.com/) * [OpenGP](https://github.com/OpenGP/OpenGP) ![cpp] ![star](https://img.shields.io/github/stars/OpenGP/OpenGP?style=flat) : deprecated. * [OpenMesh](https://www.openmesh.org/) ![cpp] [![python]](https://www.graphics.rwth-aachen.de:9000/OpenMesh/openmesh-python) : Half-edge data structure for surface meshes. * [OpenSubdiv](https://www.opensubdiv.org/docs/intro.html) ![cpp] ![star](https://img.shields.io/github/stars/PixarAnimationStudios/OpenSubdiv?style=flat) : An Open-Source subdivision surface library. * [OpenVDB](https://www.openvdb.org/) ![cpp] ![star](https://img.shields.io/github/stars/AcademySoftwareFoundation/openvdb?style=flat) : Sparse volume data structure and tools * [OpenVolumeMesh](https://www.graphics.rwth-aachen.de/software/openvolumemesh/) ![cpp] : a data structure for arbitrary polytopal meshes. Its concepts are closely related to OpenMesh. * [PMP Library](https://github.com/pmp-library/pmp-library/) ![cpp] ![star](https://img.shields.io/github/stars/pmp-library/pmp-library?style=flat) : A C++ library for polygon mesh processing. * Its prior work: [Sieger and Botsch, 2011](https://doi.org/10.1007/978-3-642-24734-7_29). * [Point Cloud Library (PCL)](https://github.com/PointCloudLibrary/pcl) ![cpp] ![star](https://img.shields.io/github/stars/PointCloudLibrary/pcl?style=flat) : A standalone, large scale, open project for 2D/3D image and point cloud processing. * [Point Cloud Utils (pcu)](https://github.com/fwilliams/point-cloud-utils) ![python] ![star](https://img.shields.io/github/stars/fwilliams/point-cloud-utils?style=flat) : a utility library for 3D processing point clouds and triangle meshes. * [potpourri3d](https://github.com/nmwsharp/potpourri3d) ![python] ![star](https://img.shields.io/github/stars/nmwsharp/potpourri3d?style=flat) : mainly bindings to C++ tools from [geometry-central](https://github.com/nmwsharp/geometry-central). * [PyMesh(2)](https://github.com/PyMesh/PyMesh) ![python] ![star](https://img.shields.io/github/stars/PyMesh/PyMesh?style=flat) : A rapid prototyping platform for geometry processing research. * [Issue with Windows](https://github.com/PyMesh/PyMesh/issues/103) * This is not [PyMesh](https://github.com/taxpon/pymesh) * [pyntcloud](https://github.com/daavoo/pyntcloud) ![python] ![star](https://img.shields.io/github/stars/daavoo/pyntcloud?style=flat) : making point clouds fun again * [PyVista](https://github.com/orgs/pyvista/repositories) ![python] ![star](https://img.shields.io/github/stars/pyvista/pyvista?style=flat) : A Python package for 3D plotting and mesh analysis. * [Shapely](https://github.com/shapely/shapely) ![python] ![star](https://img.shields.io/github/stars/shapely/shapely?style=flat) : for manipulation and analysis of **planar** geometric objects. * [Thea](https://github.com/sidch/Thea) ![cpp] ![star](https://img.shields.io/github/stars/sidch/Thea?style=flat) : A C++ library for computer graphics and geometry processing. * [trimesh](https://github.com/mikedh/trimesh) ![python] ![star](https://img.shields.io/github/stars/mikedh/trimesh?style=flat) : [documentation](https://trimesh.org/) * [trimesh2](https://gfx.cs.princeton.edu/proj/trimesh2/) ![cpp] : different from the trimesh library above. * [github fork](https://github.com/Forceflow/trimesh2) ![star](https://img.shields.io/github/stars/Forceflow/trimesh2?style=flat) * [TTK](https://github.com/topology-tool-kit/ttk) ![cpp] ![python] ![star](https://img.shields.io/github/stars/topology-tool-kit/ttk?style=flat) : The Topology ToolKit for efficient, generic, and easy topological data analysis and visualization. * [UltiMaille](https://github.com/ssloy/ultimaille) ![cpp] ![star](https://img.shields.io/github/stars/ssloy/ultimaille?style=flat) : allow representing: point set, polyline, triangles, quads, polygons, tetrahedra, hexahedra, wedges, pyramids. * [VCGLib](https://github.com/cnr-isti-vclab/vcglib) ![cpp] ![star](https://img.shields.io/github/stars/cnr-isti-vclab/vcglib?style=flat) : used by MeshLab. * [vedo](https://vedo.embl.es/) ![python] ![star](https://img.shields.io/github/stars/marcomusy/vedo?style=flat) : A python module for scientific analysis and visualization of 3d objects. * [VTK](https://vtk.org/) ![cpp] ![python] ![star](https://img.shields.io/github/stars/Kitware/VTK?style=flat) : The Visualization Toolkit (VTK) is open source software for manipulating and displaying scientific data. It comes with state-of-the-art tools for 3D rendering, a suite of widgets for 3D interaction, and extensive 2D plotting capability. ## GUI for GP * [starlab](https://github.com/OpenGP/starlab) ![cpp] ![star](https://img.shields.io/github/stars/OpenGP/starlab?style=flat) : A framework for developing geometry processing algorithms. * [OpenFlipper](https://www.graphics.rwth-aachen.de/software/openflipper/) ![cpp] : An open source multi-purpose 3D software. * [polyscope](https://github.com/nmwsharp/polyscope) ![cpp] ![python] ![star](https://img.shields.io/github/stars/nmwsharp/polyscope?style=flat) : a 3D data viewer * Some libraries in the general list above also include GUI or viewer.
more * https://github.com/cg3hci/py3DViewer * https://github.com/enthought/mayavi * https://github.com/embree/embree * https://github.com/mmatl/pyrender * https://github.com/moderngl/moderngl * http://pyopengl.sourceforge.net/ * https://pyglet.org/ * https://www.panda3d.org/ and other game engines. * [OGRE](https://www.ogre3d.org/): https://github.com/OGRECave
## Mesh Generation * [Gmsh](http://gmsh.info/) ![cpp] ![python] : A three-dimensional finite element mesh generator with built-in pre- and post-processing facilities. * [jigsaw](https://github.com/dengwirda/jigsaw) ![cpp] ![star](https://img.shields.io/github/stars/dengwirda/jigsaw?style=flat) [![python]](https://github.com/dengwirda/jigsaw-python) ![star](https://img.shields.io/github/stars/dengwirda/jigsaw-python?style=flat) : an unstructured mesh generator and tessellation library; designed to generate high-quality triangulations and polyhedral decompositions of general planar, surface, and volumetric domains. * [MeshPy](https://github.com/inducer/meshpy) ![python] ![star](https://img.shields.io/github/stars/inducer/meshpy?style=flat) : Python interfaces to Triangle, TetGen, and gmsh. * [netgen](https://github.com/NGSolve/netgen) ![cpp] ![star](https://img.shields.io/github/stars/NGSolve/netgen?style=flat) : an automatic 3d tetrahedral mesh generator. * [Qhull](https://github.com/qhull/qhull) ![cpp] ![star](https://img.shields.io/github/stars/qhull/qhull?style=flat) : Convex hull, Delaunay triangulation, Voronoi diagrams, Halfspace intersection * [Quartet](https://github.com/crawforddoran/quartet) ![cpp] ![star](https://img.shields.io/github/stars/crawforddoran/quartet?style=flat) : A tetrahedral meshing algorithm. * [scipy.spatial](https://docs.scipy.org/doc/scipy-1.8.0/html-scipyorg/reference/spatial.html#delaunay-triangulation-convex-hulls-and-voronoi-diagrams) ![python] : Delaunay triangulation, convex hulls, and Voronoi diagrams. * [TetGen](http://wias-berlin.de/software/tetgen/) ![cpp] : A quality tetrahedral mesh generator and a 3D Delaunay triangulator. * [Triangle](http://www.cs.cmu.edu/~quake/triangle.html) ![cpp] : A two-dimensional quality mesh generator and Delaunay triangulator. * [python binding](https://github.com/drufat/triangle) ![python] * [Voro++](http://math.lbl.gov/voro++/) ![cpp] : 3D computations of the Voronoi tessellation. * [WildMeshing](https://github.com/wildmeshing) : A collection of tools for robust mesh generation. * [TriWild](https://github.com/wildmeshing/TriWild) ![cpp] ![star](https://img.shields.io/github/stars/wildmeshing/TriWild?style=flat) TriWild: Robust Triangulation with Curve Constraints * [fTetWild](https://github.com/wildmeshing/fTetWild) ![cpp] ![star](https://img.shields.io/github/stars/wildmeshing/fTetWild?style=flat) Fast Tetrahedral Meshing in the Wild * [wildmeshing-python](https://github.com/wildmeshing/wildmeshing-python) ![python] ![star](https://img.shields.io/github/stars/wildmeshing/wildmeshing-python?style=flat) ## Boolean Operations * [Carve](https://code.google.com/archive/p/carve/) * in [PyMesh](https://github.com/PyMesh/carve). * CGAL: * Co-refinement for boolean operations in [Polygon Mesh Processing library](https://doc.cgal.org/latest/Manual/packages.html#PkgPolygonMeshProcessing) * 3D Boolean Operations on [Nef Polyhedra](https://doc.cgal.org/latest/Manual/packages.html#PkgNef3). * [Clipper](http://www.angusj.com/delphi/clipper.php): clipping and offsetting 2D lines and polygons. * [Clipper2](https://github.com/AngusJohnson/Clipper2) ![star](https://img.shields.io/github/stars/AngusJohnson/Clipper2?style=flat) : a major update. * [pyclipper](https://github.com/fonttools/pyclipper) ![python] ![star](https://img.shields.io/github/stars/fonttools/pyclipper?style=flat) * [Cork](https://github.com/gilbo/cork) ![star](https://img.shields.io/github/stars/gilbo/cork?style=flat) * Geogram: tetrahedralize the meshes and compute the boolean operations between all tetrahedra. [code](https://github.com/BrunoLevy/geogram/blob/5adf8c1eb6155f254da247b079862d24d0027b0e/src/lib/geogram/mesh/mesh_intersection.cpp#L806). * [Interactive And Robust Mesh Booleans](https://github.com/gcherchi/InteractiveAndRobustMeshBooleans) ![star](https://img.shields.io/github/stars/gcherchi/InteractiveAndRobustMeshBooleans?style=flat): This code is subject to continuous updates. [Cherchi et al., 2022](https://doi.org/10.1145/3550454.3555460). * [Fast And Robust Mesh Arrangements](https://github.com/gcherchi/FastAndRobustMeshArrangements/tree/dev-booleans) ![star](https://img.shields.io/github/stars/gcherchi/FastAndRobustMeshArrangements?style=flat) * [mcut](https://github.com/cutdigital/mcut/) ![star](https://img.shields.io/github/stars/cutdigital/mcut?style=flat) * [MeshIntersection](https://github.com/sallesviana/MeshIntersection) ![star](https://img.shields.io/github/stars/sallesviana/MeshIntersection?style=flat) * MeshLab * Before v2021.05: based on resampling, [Marching intersections](https://doi.org/10.1109/SMA.2001.923401). A more efficient approach based on [LDNI](https://github.com/zishun/LDNI-based-Solid-Modeling). * After v2021.07: based on libigl's implementation of [Mesh arrangements for solid geometry](https://doi.org/10.1145/2897824.2925901). * [OpenSCAD](https://openscad.org/) ![star](https://img.shields.io/github/stars/openscad/openscad?style=flat) : creating solid 3D CAD objects. using CGAL for CSG evaluation, OpenCSG for CSG previews. * [QuickCSG](https://gitlab.inria.fr/quickcsg/quickcsg) * [project page](http://morpheo.inrialpes.fr/static/QuickCSG/), [Douze et al., 2017](https://arxiv.org/abs/1706.01558). ## Geodesic Distance Survey paper: [Crane et al., 2020](https://arxiv.org/pdf/2007.10430.pdf) * PDE-based * Heat method, [Crane et al., 2013](https://doi.org/10.1145/2516971.2516977). * Many implementations are available. * Fast Marching * In [gproshan](https://github.com/larc/gproshan) (CHE data structure). [MeshUtility](https://github.com/zishun/meshutility/) (OpenMesh data structure) ![python]. * [Kimmel and Sethian 1998](https://doi.org/10.1073/pnas.95.15.8431), implemented in [pmp-library](https://github.com/pmp-library/pmp-library/blob/850f2fcbd4ec1d7efcbe5843af1ec1207361bfa6/src/pmp/algorithms/SurfaceGeodesic.h). * Window propagation * MMP: an exact method proposed by [Mitchell-Mount-Papadimitriou 1987](https://doi.org/10.1137/0216045) * Kirsanov's [code](https://code.google.com/p/geodesic/) * In [UVAtlas](https://github.com/microsoft/UVAtlas/tree/master/UVAtlas/geodesics). * CH: [Chen and Han 1990](https://doc.cgal.org/latest/Surface_mesh_shortest_path/index.html) * ICH (Improved CH): [Xin and Wang 2009](https://sites.google.com/site/xinshiqing/knowledge-share) * VTP (Vertex-oriented Triangle Propagation) * [Du et al., 2020](https://doi.org/10.1016/j.cad.2020.102943): [code](https://github.com/djie-0329/PVTP) * [Qin et al., 2016](https://doi.org/10.1145/2897824.2925930): [code](https://github.com/YipengQin/VTP_source_code) * [GSP (Geodesic Source Propagation)](https://graphics.rwth-aachen.de/geodesic-source-propagation). code in its supplemental material. * Graph-based: SVG (Saddle Vertex Graph), DGG (Discrete Geodesic Graphs), * [DGG-SVG](https://github.com/GeodesicGraph/DGG-SVG) ## Others * [Directional](https://avaxman.github.io/Directional/tutorial/) ![cpp] ![star](https://img.shields.io/github/stars/avaxman/Directional?style=flat) : creating, manipulating, and visualizing directional fields on 3D meshes, based on both libigl and Eigen. * [Instant Meshes](https://github.com/wjakob/instant-meshes) ![cpp] ![star](https://img.shields.io/github/stars/wjakob/instant-meshes?style=flat) : Interactive field-aligned mesh generator * [mmg](https://github.com/MmgTools/mmg) ![cpp] ![star](https://img.shields.io/github/stars/MmgTools/mmg?style=flat) : 2D and 3D surface and volume remeshing. * [ShapeOp](https://github.com/EPFL-LGG/ShapeOp) ![cpp] : discrete geometry shaping with projections. * [Draco](https://google.github.io/draco/): ![cpp] ![star](https://img.shields.io/github/stars/google/draco?style=flat) : an open-source library for compressing and decompressing 3D geometric meshes and point clouds. * [Robust Geometric Predicates](https://www.cs.cmu.edu/~quake/robust.html): adaptive precision floating-point arithmetic and fast robust predicates for computational geometry # Books * [Polygon Mesh Processing](http://pmp-book.org/): slides and code ![cpp] # Courses * [SGP Summer School Presentations](http://school.geometryprocessing.org/): from 2016. * [Alec Jacobson's courses](https://github.com/alecjacobson) * [Geometric Computing with Python](https://geometryprocessing.github.io/geometric-computing-python/) * [Discrete Differential Geometry](https://www.cs.cmu.edu/~kmcrane/Projects/DDG/) by Keenan Crane * [Summer Geometry Initiative](https://sgi.mit.edu/): by MIT # Data * [alecjacobson/common-3d-test-models](https://github.com/alecjacobson/common-3d-test-models) * more links inside * [Data for machine learning](https://github.com/timzhang642/3D-Machine-Learning#datasets) # Other Lists on Geometry Processing (GP) * [SGP Software/Dataset Award List](http://awards.geometryprocessing.org/) * [Mesh Repairing Software on the Web](http://meshrepair.org/) * [Graphics Replicability Stamp Initiative](http://www.replicabilitystamp.org/) * [awesome point cloud processing](https://github.com/mmolero/awesome-point-cloud-processing) * [Directory of Computational Geometry Software](http://www.geom.uiuc.edu/software/cglist/) # Lists on Other Computer Graphics Topics * https://github.com/tensorush/Awesome-3D-Programming * https://github.com/luisnts/awesome-computer-graphics * https://github.com/waitin2010/awesome-computer-graphics * https://github.com/jslee02/awesome-graphics-libraries * https://github.com/ericjang/awesome-graphics * https://github.com/eug/awesome-opengl * https://github.com/zheng95z/fun-with-computer-graphics * https://web.engr.oregonstate.edu/~zhange/hotlist.html # Lists from Other Communities * https://github.com/nschloe/awesome-scientific-computing * https://github.com/eric-erki/awesome-gis/ * https://github.com/RoboDonut/awesome-spatial * https://github.com/fepegar/awesome-medical-imaging * https://github.com/ccamara/awesome-architecture [cpp]: https://img.shields.io/badge/c++-%2300599C.svg?logo=c%2B%2B&logoColor=white [C]: https://img.shields.io/badge/c-%2300599C.svg?&logo=c&logoColor=white [python]: https://img.shields.io/badge/python-3670A0?logo=python&logoColor=ffdd54 [matlab]: https://img.shields.io/badge/matlab-3670A0?logo=matlab