http://hellojunwang.net/Resources.html
Computational Geometry
- The Geometry Center (UIUC)
- Computational Geometry Pages (UIUC)
- Geometry in Action (UIC)
- Geometric Resource (UFL)
- CAGD Applets (UKA)
- Voronoi/Delaunay Applet (CornellUniversity)
- Directory of Computational Geometry Software (Dr. Nina Amenta)
- Theoretical Computer Sci. On The Web (StanfordUniversity)
- Computational Geometry in C (SmithUniversity)
- Triangle: a 2D quality mesh generation and Delaunay triangulator. (Dr. Jonathan Richard Shewchuk)
- 2D Voronoi diagram (Dr. Pierre Alliez)
- DeformCD: collision detection for deformable models. (Dr. Min Tang and Dr. Dinesh Manocha)
- BOOLE: converts a CSG (Constructive Solid Geometry) model into B-rep (Boundary Representation) form. (gamma)
- gamma software tools for algebraic and geometric software, collision detection, graphics programming and physicially-based modeling, simulation. (Dr. Ming C. Lin and Dr. Dinesh Manocha)
- Shortest Paths Code: An Implementation of Chen & Han's Shortest Paths Algorithm. (Ms. Biliana Kaneva and Dr. Joshph O'Rourke)
- FreeSOLID / SOLOD: software library for collision detection. (Dr. Gino van den Bergen)
Geometric Modeling
- Geometric Tools: real-time 3D graphics engine. (Dr. David H. Eberly)
- Graphite: a research platform for computer graphics, 3D modeling and numerical geometry. (Dr. Bruno Levy and others)
- Mesh synthesis: taking a simple 3D model that someone can easily create themselves and producing a similar, but much more complex 3D model (Dr. Paul Merrell)
- ImplicitMesher: real-time implicit surface polygonization. (Dr. Ryan Schmidt)
- 2D Shape Manipulation: As-Rigid-As-Possible 2D Shape Manipulation Demo. (Dr. Ryan Schmidt)
- Similarity-Based Surface Modelling (Dr. Steve Zelinka)
- Mesh Modelling Using Curve Analogies (Dr. Steve Zelinka)
- Laplacian Surface Editing (Dr. Olga Sorkine)
Curves and Surfaces
- Curve Fitting Utillities: single and multiple curve fitting (MPI)
- Curve Curvature Estimator: arc-length based curvature estimator. (Dr. Thomas Lewiner)
- SurfPack: a general-purpose software library of multidimensional function approximation methods for applications such as data visualization, data mining, sensitivity analysis, uncertainty quantification, and numerical optimization. (Sandia NL)
Mesh Libraries and Packages
- CGAL: 2D/3D halfedge mesh, tet meshes. (Dr. Pierre Alliez and others)
- Mepp: 3D mesh processing platform, including basic mesh manipulation, subdivision and simplification algorithms; curvature calculation and visualization; mesh segmentation; mesh boolean operation; quality metric and visualization; compression and watermarking and etc. (Dr. Guillaume Lavoue et al.)
- MeshLab: A powerful mesh processing tool. It also features a couple of point cloud. (Visual Computing Laboratory)
- VCGLib: C++ library for the manipulation, processing of triangle and tetrahedral meshes. (Visual Computing Laboratory)
- OpenMesh/OpenFilpper: a generic and efficient data structure for representing and manipulating polygonal meshes. (Dr. Leif Kobbelt)
- GTS Library: 2D dynamic/constrained Delaunay triangulation, geometric predicates, mesh boolean set operations, refinement/coarsening, view-independent continuous LOD, view-dependent LOD, AABB-trees, Kd-trees, graph partitioning, isosurfacing, area, volume, mean/gaussian/principal curvature, stripification. (C++ port)
- Mesh Viewer: displaying 3D models (triangular meshes) from a variety of file formats, including PMesh, GTS, OFF, PLY, VRML1.0, VRML2.0, Shallo, VTK, OBJ formats. (N/A)
- Mesh Repairing Softwares on the Web by Dr. Marco Attene.
- JMeshLib: tools to automatically fix the most common problems present in surface meshes coming from laser scanning (conversion to oriented manifold, topological noise detection, hole filling, removal of degenerate faces, ... (Dr. Marco Attene)
- ReMESH: automatic mesh repairing tool - automatic conversion to manifold and oriented surfaces, stitching of coincident boundaries, removal of degenerate or isolated elements, removal of topological noise, hole filling, smoothing, simplification. (Dr. Marco Attene)
- MeshFix: takes as input a polygon mesh and produces a copy of the input where all the occurrences of a specific set of "defects" are corrected. (Dr. Marco Attene)
- GPUmesh: a simple mechanism to send geometry to the GPU. (Dr. Sylvain Lefebvre)
- A48: a dynamic adaptive mesh library based on stellar operators. (Dr. Luiz Velho)
- PolyMender: a program reads in a polygonal model (i.e., a bag of polygons, or polygon soup) and produces a closed surface mesh that approximates the original model. (Dr. Ju Tao)
- TrIMM: the TriangleMesh Manipulator, you can repair, alter or convert triangle meshes stored as .OBJ, .OFF, .PLY or .STL files. (Christian Mortiz)
- Geometric Modeling Based on Polygonal Meshes by Dr. Mario Botsch, Dr. Mark Pauly, Dr. Leif Kobbelt, Dr. Pierre Alliez, Dr. Bruno Levy.
- Clipper: an open source freeware polygon clipping library. [GPC][PolyBoolean]
Mesh Processing
- trimesh2: mesh processing toolkit (read PLY/OFF/3DS/OBJ, write PLY/OFF/OBJ, subdivision, smoothing, curvature estimation, triangle stripping, ICP, cleanup, decimation, basic shapes) (Dr. Szymon Rusinkiewicz)
- Delaunay Triangulation: 2D Delaunay triangulation source code. (Mr. Sjaak Priester)
- Marching Cube: source code. (Dr. Paul Bourke)
- IJK: Isosurface generation code. (Dr. Rephael Wenger)
- Metro: measuring hausdorff error between triangular meshes. (Dr. P. Cignoni)
- Trimeshinfo: extract the numbers of connected components, boundaries, isolated vertices, duplicated vertices, manifold, self-intersection... (Dr.Paolo Cignoni and others)
- CGAL Subdivision: Sqrt3, Quad-Triangle, Catmull-Clark, Doo-Sabin. (Dr. Pierre Alliez et al.)
- Free-Form Shape Deformator: a simple tool to interactive free-form shape deformations. (Dr. Shin Yoshizawa)
- Crest Lines Detection: fast and robust detection of crest lines on meshes. (Dr. Shin Yoshizawa)
- carve: a C++ library designed to perform boolean operations between two arbitrary polygonal meshes. (N/A)
- GeoBrush: interactive cloning of 3D surface geometry. (Dr. Takeo Igarashi et al.)
- qslim/scape/terra: automatic simplification of highly detailed polygonal surface models into faithful approximations containing fewer polygons. (Dr. Michael Garland)
- Curvature Tensor Estimator: estimation of curvature tensors on triangle meshes. (Dr. David Cohen-Steiner)
- Volfill: a hole filler based on volumetric diffusion. (Dr. Steve Marschner)
- geodesic: an implementation of exact geodesic algorithm for triangular mesh (first described by Mitchell, Mount and Papadimitriou in 1987) (N/A)
- ISoEx: feature sensitive surface extraction from volume data. (Dr. Leif Kobbelt)
- Marching Cube with Topological Guarantees (Dr. Thomas Lewiner)
- Mesh denoising: fast and effective feature-preserving mesh denoising. (Dr. Xianfang Sun)
- Dual Contouring: implementations of the Dual Contouring algorithm (SIGGRAPH 2002, Dual Contouring on Hermite Data) (Dr. Ju Tao)
- MeshEditor: mesh smoothing toolkit (Dr. Yutaka Ohtake)
- VripPack: convert aligned range images to volumetric format, extract mesh surface (Dr. Brian Curless)
- ZipPack: combining range images into a polygonal mesh (Dr. Greg Turk)
- Scanalyze: a system for aligning and merging range data. (Dr. Marc Levoy and others)
- Antiprism: a set of programs for generating, manipulating, transforming and visualizing polyhedra. (Dr. Adrian Rossiter)
- Nuages: a package for 3D reconstruction from parallel cross-sectional data. It uses the Delaunay triangulation. (Dr. Monique Teillaud)
- 3D Keypoint Detection Tool (Dr. Federico Tombari)
Point Cloud Processing
- pcl: point cloud library.
- Point-based Graphics Resource: point cloud processing related papers. (Dr. Ke-Sen Huang)
- a freeware toolbox for surface reconstruction from point set. (N/A)
- surface reconstruction from point set via marching cube, voronoi filtering, and combined method (Mr. Bo Gao)
- Normal Improvement for Point Rendering (bilateral normal filtering) (Mr. Thouis Jones)
- Point-Cloud Processing with Primitive Shapes. (Dr. Ruwen Schnabel)
- PC surface reconstruction: surface reconstruction algorithm for unorganized point clouds based on convexified image segmentation. (Dr.Hongkai Zhao)
- 4-points Congruent Sets for Robust Surface Registration. (Dr. Dror Aiger)
- Pointshop3D: point processing toolkit. (ETHZ)
- FReg: detect approximate symmetries of point sets and B-Rep Models (Dr. Frank C Langbein and others)
- QPoly: meshing 3D scattered points. (Dr. Yutaka Ohtake)
- RBF3D/SLIM: interpolation / approximation of 3D scattered points. (Dr. Yutaka Ohtake)
- QSplat: displaying large geometric models (point cloud) in real time. (Dr. Szymon Rusinkiewicz and Dr. Marc Levoy)
- NormFet: approximating normals and feature sizes from noisy point clouds. (Dr. Tamal K Dey)
- AMLS: adaptive moving least software for smoothing noisy point clouds. (Dr. Tamal K Dey)
- Cocone / Tight Cocone / Super Cocone / Robust Cocone: Delaunay meshing of noisy point set. (Dr. Tamal K Dey)
- point cloud to mesh. (Dr. Mark Dow)
- LAStools: converting, filtering, viewing, processing, and compressing LIDAR data. (Dr. Martin Isenburg)
- MRPT: the mobile robot programming toolkit.
- 3DTK: the 3D scanning point processing toolkit.
3D Reconstruction from Images
- Biotrack Pack: tracking and analyzing multiple agents. (Dr. Balch)
- VisualSFM: A visual Structure from Motion (SFM) system. (Dr. Wu)
- Bundler: Structure from Motion (SFM) for unordered image collections. (Dr. Snavely)
- CMVS: Clustering views for multi-view stereo. (Dr. Furukawa)
- CMPMVS: Multi-view reconstruction software. (Michal Jancosek & Dr. Pajdla)
Segmentation
- efpisoft: hierarchical mesh segmentation based on fitting primitives. (Dr. Marco Attene)
- mesh segmentation benchmark database. (Mr. Xiaobai Chen and Dr. Thomas Funkhouser)
- SegMatch: shape segmentation and shape matching from point cloud. (Dr. Tamal Krishna Dey)
- ShapeAnnotator segmentation tool - fitting primitives, barycentric/height/integral geodesic Morse, Plumber, Lloyd clustering. (Dr. Marco Attene and others)
- SDF: shape diameter function segmentation tool (Dr. Lior Shapira)
Mesh Generation
- Gmsh: tetrahedral mesh generation and simulation. (Dr. Christophe Geuzaine and Dr. Jean-François Remacle)
- TetGen: tetrahedral and hexagonal mesh generation (Dr. Si Hang)
- FreeFem++: library for mesh generation and simulation (Dr. Frédéric Hecht and others)
- Netgen / NGSolve: tetrahedral and hexagonal mesh generation (Dr. Joachim Schöberl)
- Mesh Generation & Grid Generation on the Web (Dr. Robert Schneiders)
- Stellar: a tetrahedral mesh improvement program. (Dr. Jonathan Richard Shewchuk)
- EZ4U: an "easy" mesh generator environment "for you", the final user. (Dr. Xevi Roca)
- Afront: an advancing front triangulation algorithm can be used to generate meshes from other meshes (remeshing), from volumes defined on regular and irregular grids (isosurface extraction), and from point sets. It can be used to mesh either the entire input surface or just a local region, and can preserve sharp features that are annotated ahead of time.
- Benchmark from point clouds: APSS(MeshLab), Fourier, IMLS, MPU, MPUSmooth, Poisson, SLIM, RBF, Scattered, SPSS, Wavelet, MRSP.
- larosterna: offers implementation services to solve computationally demanding problems: modeling and mesh generation, visualization for aeroelasticity.
Machine Learning and Artificial Intelligence
- IAPR: public code for machine learning.
- Orca: a program for mining distance-based outliers.
- mloss: machine learning open source software.
Medial Image Modeling
- The Visible Human Project (NIH)
- ETDIPS: clinical image processing (NIH)
Visualization
- VolVis & Michaels VolVis Page: medical volumetric data visualization toolkit (Vni-Tuebingen)
- VACET: visualization and analysis tool (Utah Univ. + Lawrence NLs + Oak Ridge NL + UC Davis)
- Parallel Volume Rendering (Stanford University)
- Mitsubishi Volume Pro (Terarecon Inc)
- Volume Visualization on Cray T3E: Volume Visualization (Dr. Allan Snavely)
- Massively Parallel Volume Rendering: (UCSC)
- VREND: a technique for visualizing 3D arrays of sampled data (University of Heidelberg)
- VisTrails: Scientific Data Exploration and Visualization System (Utah University)
- Virvo: VR Volume Renderer (Brown University)
- 3D-Doctor: Visualization Software (Able Inc.)
- ParaView: an open-source, multi-platform data analysis and visualization application (Kitware)
Rendering
- GigaVoxels: a voxel-based rendering pipeline for efficient exploration of large and detailed scenes (Dr. Crassin)
- Voxel Octree data structure: Sparse Voxel Octree raycaster (Jeroen Baert)
Mathematical Library
- Eigen: the vector-matrix and linear algebra library you were looking for. (Dr. Benoît Jacob, Dr. Gaël Guennebaud and others)
- The Stony Brook Algorithm Repository
- Local, Global Optimization Software Set (Dr. Arnold Neumaier)
- Mathematical software archives: direct linear solver, iterative linear solver, mesh generation and geometry, other PDE, special functions, special functions, graph partition and ordering, preconditions, eigenvalues and polynomial roots, matrix computation, multivariate nonlinear systems and optimization, numerical integration and harmonic analysis, ordinary differential equations, differential-algebraic equations, stochastic differential equations, stochastic differential equations, (Dr. Arnold Neumaier)
- Netlib: containing freely available software, documents, and databases of interest to the numerical, scientific computing, and other communities. (UT, ORNL)
- LAPACK [Windows]-linear algebra package. (UT)
- Armadillo: an open-source C++ linear algebra library. (NICTA)
- MKL: Math Kernel Library. (Intel)
- ACML: Core Math Library. (AMD)
- C/C++ Minpack: solving nonlinear equations and nonlinear least squares problems. (Dr. Frédéric Devernay)
- TAUCS: a library of sparse linear solver 1, 2. [Visual studio version] (Dr. Sivan Toledo, Dr. Doron Chen and Dr. Vladimir Rotkin)
- UMFPACK: a set of routines for solving unsymmetric sparse linear systems (Dr. Tim Davis)
- newmat: including the operations *, +, -, *=, +=, -=, Kronecker product, Schur product, concatenation, inverse, transpose, conversion between types, submatrix, determinant, Cholesky decomposition, QR triangularisation, singular value decomposition, eigenvalues of a symmetric matrix, sorting, fast Fourier and trig. transforms, printing and an interface with Numerical Recipes in C. (Dr. Robert Davies)
- OpenNL: open numerical library - direct/iterative sparse solvers, preconditioners, Least-Squares Conformal Maps (LSCM) implementation (Dr.Bruno Levy and others)
- ALGLIB: a cross-platform numerical analysis and data processing library - differential equations, equations (linear/nonlinear), matrix and vector operations, eigenvalues and eigenvectors, numerical integration, interpolation and fitting, optimization, fft, convolution, correlation, statistics: general algorithms, hypothesis testing, data analysis: classification, regression, other tasks, special functions. (Sergey Bochkanov, Vladimir Bystritsky)
- STatLib: data, software and mews from the statistics community. (CMU)
- Free C/C++ Sources for Numerical Computation (Dr. James Hetrick)
- DAKOTA: containing algorithms for optimization with gradient and nongradient-based methods; uncertainty quantification with sampling, reliability, stochastic expansion, and epistemic methods; parameter estimation with nonlinear least squares methods; and sensitivity/variance analysis with design of experiments and parameter study methods. (Sandia NL)
Data Structures and Compression
- Triangle Strip Compression (Dr. Martin Isenburg)
- Out-of-Core Compression for Gigantic Polygon Meshes (Dr. Martin Isenburg)
- Streaming Compression of Triangle Meshes (Dr. Martin Isenburg)
- Streaming Compression of Tetrahedral Volume Meshes (Dr. Martin Isenburg)
- Streaming Compression of Delaunay Triangulations (Dr. Martin Isenburg)
- LAStools: converting, viewing, and compressing LIDAR data in LAS format (Dr. Martin Isenburg)
- Streaming Meshes (Dr. Martin Isenburg)
- OpenRACM: Random-Accessible Compressed Meshes (Dr. Sungeui Yoon)
- An Improved Adjacency Data Structure for Fast Triangle Stripping (Dr. Patrick Reuter)
- Simple and Efficient Traversal Methods for Quadtrees and Octrees (Dr. Sarah F. Frisken)
- Octree implementation (Mr. Harrison Ainsworth)
- Fast Generation of Pointerless Octree Duals (Dr. Thomas Lewiner)
Sampling
- Efficient Generation of Poisson-Disk Sampling Patterns (Mr. Thouis R. Jones)
- Antimony: poisson-disk sample generation (Dr. Daniel Dunbar and Dr. Greg Humphreys)
- 2D Poisson disk sampling with dart throwing (Dr. Matt Pharr)
- Random or Uniform points on a sphere (Dr. Joshph O'Rourke)
- Sampling with Hammersley and Halton Points (Dr. Tien-Tsin Wong)
- A Low Distortion Map Between Disk and Square (Dr. Peter Shirley)
- 2D Fast Object Distribution (Dr. Andrew Willmott)
- Generalized Stratified Sampling Using the Hilbert Curve (Dr. Michael D. McCool )
- A Stratified Sampling Technique for an Ellipse (Dr. Chung-Ming Wang)
- 2D Hilbert Curve Generator [Wiki] (Dr. Jiawen Chen)
Numerics and Optimization
- Blossoming software for analyzing polynomial functions (S. Mann, W. Liu)
- Automatic Differentiation, C++ Templates, and Photogrammetry (D. Piponi)
- CMA-ES: Covariance Matrix Adaptation - Evolutionary Strategy (non-linear non-convex optimization in complex domains) (N. Hansen)
Courses and Notes
- Interactive 3D Graphics @ Delaware Univ.
- Computer Vision @ Princeton Univ.
- Computer Graphics @ Princeton Univ.
- Advanced Computer Graphics @ Princeton Univ.
- General Computer Science @ Princeton Univ.
- Structural Bioinformatics @ Princeton Univ.
- Introduction to Programming Systems @ Princeton Univ.
- Advanced Topics in CS: Shape Analysis @ Princeton Univ.
- Advanced Topics in CS: Immersive Computing Systems @ Princeton Univ.
- Advanced Topics in CS: Geometric Modeling for Computer Graphics @ Princeton Univ.
- Advanced Topics in CS: Geometric Modeling and Analysis @ Princeton Univ.
- Virtual Reality and 3D Computer Graphics @ Telecom ParisTech
- Algorithms of Graphic and Modeling @ Telecom ParisTech
- An introduction to subdivision surfaces @ SIGGRAPH
- Modeling based on Triangle Meshes @ SIGGRAPH
- Computer Graphics by Points @ SIGGRAPH
- Lecture Notes in Algebraic Geometry
- Optimization and Data Fitting
- Algorithm Library Design Lecture Notes
- Geometric Registration for Deformable Shapes @ Eurographics
- Computing Correspondences in Geometric Data Sets @ Eurographics
Research Teams
- GEOMETRICA (INRIA)
- Visual Computing Lab (CNR)
- CMIV: center for medical image science and visualization
Thesis Links
/*-------------------------------------------------------------------------------
My Tools
My Libraries
- TPAMI: IEEE Transactions on Pattern Analysis and Machine Intelligence
- IJCV: International Journal of Computer Vision
- TOG: ACM Transactions on Graphics
- TVCG: IEEE Transactions on Visualization and Computer Graphics
- CGF: Computer Graphics Forum
- CAD: Computer-Aided Design
- TVC: The Visual Computer
- GM: Graphical Models
- CG: Computers & Graphics
- CAGD: Computer Aided Geometric Design