1. 程式人生 > >圖形學領域的關鍵演算法及原始碼[轉]

圖形學領域的關鍵演算法及原始碼[轉]

Computer Graphics Research Software
Helping you avoid re-inventing the wheel since 2009!

Last updated December 5, 2012.
Try searching this page for keywords like 'segmentation' or 'PLY'.
If you would like to contribute links, please e-mail them to [email protected].

Papers & Archives

Mesh Libraries and Tools

  • Surface_Mesh (D. Sieger, M. Botsch)
  • GTS (2D dynamic/constrained Delaunay triangulation, robust 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)
  • trimesh2 mesh library (read PLY/OFF/3DS/OBJ, write PLY/OFF/OBJ, subdivision, smoothing, curvature estimation, triangle stripping, ICP, cleanup, decimation, basic shapes) (S. Rusinkiewicz)
  • OpenMesh (PLY/OBJ, halfedge mesh, decimation, Loop/Sqrt3 subdivision, view-dependent progressive meshes, stripification) (J. Möbius, M. Habbecke)
  • CGAL (2D/3D halfedge mesh, tet meshes) [full packages list] (Authors)
  • MeshLab (import PLY/STL/OFF/OBJ/3DS/COLLADA/PTX/V3D/PTS/APTS/XYZ/GTS/TRI/ASC/X3D/X3DV/VRML/ALN, export PLY/STL/OFF/OBJ/3DS/COLLADA/VRML/DXF/GTS/U3D/IDTF/X3D, selection/smoothing painting, linear measurements, export planar slices, mesh decimation/repair/optimization, mesh alignment) [All Filters] (Authors)
  • OpenFlipper (import/export OFF/OBJ/PLY/STL/STLA/STLB/OM, selection tools w/ surface/volume lasso and sphere brush, decimation, smoothing, edge/face editing) (J. Möbius)
  • mview (read/view PMesh/GTS/OFF/COFF/PLY/VRML/Shallo/VTK ASCII POLYDATA/OBJ) (H. Cantzler, T. Breckon)
  • PLY Tools (read/write PLY)
  • ply2vri (convert PLY mesh to signed-distance volumetric grid, VRI/PPM formats) (B.Allen)
  • JMeshLib (read/write OFF/PLY/STL/VRML1/VRML2/OBJ/IV 2.1) (M. Attene)
  • ReMESH (automatic manifold repair, isolated component removal, hole filling, handle removal, degenerate triangle removal, sharp feature recovery, defect detection and hilighting, manual repair tools) (M. Attenne)
  • A48: A Dynamic Adaptive Mesh Library based on Stellar Operators (L. Velho)
  • Volumetric Mesh: tetrahedral and cube volumetric 3D meshes (J. Barbic)
  • 3d-workspace (quadric mesh simplification, re-meshing, recursive/monte-carlo/sphere-packing/voxel sampling, skeleton extraction, Laplacian/scale-dependent/mean-curvature-flow smoothing, Sqrt3/Loop/modified-butterfly/longest-edge subdivision, minimum bounding box, mean value coordinates, Green coordinates, curvature (polynomial fitting, two other implementations), FFD, voxel deformation, skinning with dual quaternions, mesh voxelization, octree, kd-tree, colormap, mesh slicing) (Authors)
  • SimplexMesh: general non-manifold, non-regular simplicial mesh for mixed dimensions \leq 3 (C. Batty)

Shape Modeling

Segmentation

Parameterization

Mesh Processing

Point Set Processing

Curves and Surfaces

Computational Geometry

  • TetGen: A Quality Tetrahedral Mesh Generator and a 3D Delaunay Triangulator (constrained/conforming Delaunay, Voronoi, boundary-conforming, quality/size control, adaptive mesh refinement, intersection testing) (H. Si)
  • CGAL (n-D geometry, 2D/3D spherical geometry, n-D convex hull, 2D/3D/spherical booleans, 2D minkowski sums, 2D polygon partition/offset/skeleton, 2D curve intersection, 2D/3D envelopes, 2D/3D triangulation, 2D/3D alpha shapes, 2D delaunay/voronoi/apollonius/conforming delaunay/conforming gabriel, 3D delaunay isosurfacing, 3D skin surface, n-D spatial data structures, bounding volumes, optimal distances, least-squares geometry fitting, 2D/surface function interpolation, kinetic data structures, AABB Tree, 3D periodic triangulations, tetrahedral meshing w/ implicit/volume/polyhedral boundaries) [full packages list] (Authors)
  • BOOLE convert CSG to Brep (curved solid primitives, polygonal solids) (T. Culver)
  • MAPC: exact manipulation of algebraic points and curves in the plane (D. Manocha, J. Keyser, T. Culver, M. Foskey, S. Krishnan)
  • UNC GAMMA Collision Detection/Proximity Query Packages (penetration depth, intersection detection, tolerance verification, exact and approximate distance computation, separation distance, contact determination, Minkowski sums, Lin-Canny closest features, uniform grid spatial decomposition, OBB/Swept-Sphere/convex-hull bounding-volume hierarchies, polygon soups, rigid motion)
  • Antiprism polyhedra library (convex hull, polar reciprocals (dual meshes), geodesic spheres, uniform polyhedra, uniform tilings on surfaces, lattices and grids, ring/spiral of points on sphere, equilibrium of points repelling on sphere, near-uniform sphere tessellation, many other polyhedra types, OFF conversion utilities) [A. Rossiter]
  • Nuages 3D delaunay mesh reconstruction from parallel cross-sections (B. Geiger)

Intersections and Distances

Photorealistic Rendering

NonPhotorealistic Rendering

Visualization

Simulation / Animation

  • El Topo (robust surface tracking with triangle meshes) (T. Brochu, R. Bridson)
  • CMU .ASF/.AMC/.V tools (J. McCann, C. Twigg, J. Barbic, ...?)
  • DANCE (physics-based character animation and simulation) (A. Shapiro, V. Ng-Thow-Hing, P. Faloutsos)
  • 2D Boiling Demo (CML coupled map atlas on GPU) (M. Harris, G. Coombe, T. Sheuermann, A. Lastra)
  • Flo real-time 2D fluid simulation demo (Cg navier-stokes incompressible flow fixed no-slip boundaries) (G. James, M. Harris)
  • Asynchronous Contact Mechanics (D. Harmon, E. Vouga, B. Smith, R. Tamstorf, E. Grinspun)
  • Large Modal Deformation Factory: Model reduction of StVK FEM deformable models (linear modes, arbitrary free boundary conditions, modal derivatives, mass and stiffness matrices, triangle mesh to cube volume mesh conversion) (J. Barbic)
  • harmonic oscillator: exact timestepping of 1D ODE (J. Barbic)
  • Dynamics of a single rigid body (explicit Euler, symplectic Euler, time-varying external forces and torques, arbitrary inertia tensors) (J. Barbic)
  • A Level-set Method for Skinning Animated Particle Data (thin-plate energy, grid mean curvature/laplacian/biharmonic, kdtree, marching tetrahedra) (H. Bhattacharya, Y. Gao, A. Bargteil)
  • DelFEM (FEM, Poisson, Diffusion, Advection-Diffusion, Linear Solid, St.Venant-Kirchhoff Material, incompressive hyperelastic material, Stokes Fluid, Navier-Stokes Fluid, Helmholtz, 3D rigid body, 6 types of constraint model, coupling analysis of rigid and elastic material, ILU (0) preconditioned CG, ILU (0) preconditioned BiCGSTAB) (N. Umetani)
  • DT-Grid: data structure for high-resolution level sets (volume-conserving mean curvature flow, shape metamorphosis, advection, one-sided, second-order central, WENO finite difference) (M. Nielsen, K. Museth)
  • Exact CCD: Geometrically exact continuous collision detection for triangle meshes. (T. Brochu, E. Edwards, R. Bridson)
  • Fluid3D: barebones 3D inviscid free-surface fluid simulator in irregular domains (C. Batty)
  • VariationalViscosity2D: 2D viscous free surface simulation (C. Batty)

Texturing

2D

  • mean-value coordinate image cloning (Z. Farbman, G. Hoffer, Y. Lipman, D. Cohen-Or, D. Lischinski)
  • GraphDraw: draw 2D graphs and export as postscript (K. Crane)
  • Anti-Grain Geometry Project (high-quality and efficient 2D software rasterizer: subpixel antialiasing, arbitrary polygons, gradients and gouraud shading, image filtering, bilinear, bicubic, spline16, spline32, sinc, blackman, strokes with joins and caps, dashed lines, head/tail markers, arrows, polygon clipping, alpha-masking, arbitrary images as line patterns, perspective and bilinear transformations, boolean polygon operations) (M. Shemanarev)
  • 2.5D Cartoon Models (A. Rivers, T. Igarashi, F. Durand)

Image and Video Processing

Sampling

Data Structures and Compression

Numerics and Optimization

Data Sets

  • Digital 210 King (building scans, Revit models, photographs, Green Building XML (gbXML) models, of 210 King St East (Autodesk Toronto building))
  • DemoGraphite (bunny, horse, tiger-face, octaflower, rocker arm, engine volume, skull volume)
  • Georgia Tech Large Geometric Models Archive (Bunny,Turbine Blade,skeleton hand,dragon,buddha,horse,visible man,grand canyon,puget sound,angel)
  • Stanford 3D Scanning Repository (bunny, drill bit, buddha, dragon, armadillo, lucy, asian dragon, manuscript, thai statue)
  • UNC Dynamic Mesh Datasets (per-frame meshes, exploding dragon and bunny, cloth simulation, N-body simulation, falling letters)
  • Image-Based 3D Models (VRML/TRI formats, multiple resolutions, textured [mesh viewer]) (C. Esteban, F. Schmitt)
  • Multi-frame 3D scans from video depthmaps (triangulated point clouds, OBJ format,100-2200 frames) (T. Weise, B. Leibe, L. Van Gool)
  • ETH Face Pose Range Image Data Set (10,000 640x480 range image point sets of 20 moving faces, read/write code) (M. Breitenstein, D. Kuettel, T. Weise, L. van Gool, H. Pfister)
  • Quadrangulations (fandisk,beetle,fertility,rockerarm) (H. Zimmer, D. Bommes, L. Kobbelt)
  • Skinning Mesh Animations data (horse, camel, elephant, chicken, snake ) (D. James, C. Twigg)
  • Deformation Transfer for Triangle Meshes (horse, camel, cat, lion, faces, flamingo, elephant) (R. Sumner, J. Popovic)
  • Cornell Light Measurement Data (light source spectra, filter and lens transmission spectra, camera response spectra, reflectance data) 
  • RenderPark (HDR, galerkin radiosity, stochastic jacobi radiosity, hierarchical, clustering, view-importance, higher-order approximations, random walk radiosity, photon mapping, stochastic ray tracing, bi-directional path tracing) (P. Bekaert,F. de Laet, P. Peers, V. Masselus, J. Prikryl, P. Dutre, O. Ceulemans)
  • RaVi (real-time raytracer) (M. Granz)
  • WinOSi (iterative two pass optical simulation raytracing) (M. Granz)
  • Scopia.es 3D models (home furnishing objects, buildings, plants, characters, .3ds, .blend, .sh3d, .obj) (C. Folch, Scopia.es)
  • Crytek Sponza Model v2 (increased complexity, 3ds, OBJ formats, textures) (F. Meinl, Crytek)
  • TrueMarble earth image dataset (multiple resolutions from 32km to 250m, PNG and geo-referenced GeoTIFF formats) (Unearthed Outdoors LLC)
  • Volume-Meshed Models (Heart, Eiffel Tower, Basket, Bridge, Dragon, Horse, Dinosaur, 3D Spring, Beam) (J. Barbic)
  • Volume-Meshed Models (Cube, TFire, Tire, Dragon, Cow, Sculpt, LetterP, House, StayPuft) (B. Klinger, J. Shewchuck)
  • McGuire Graphics Data (San Miguel, Crytek Sponza, Dabrovic Sponza, Sibenik Cathedral, Conference Room, Chinese Dragon, Teapot, Cube, Happy Buddha, Hairball, Cornell Box, Rungholt, Lost Empire, Infinite Realities Head, textured OBJs)
  • Caltech Mesh Compendium (Ball Joint,Dinosaur Sculpture,Golf Club,Igea Artifact,Isis,Knee,Rocker Arm,Santa,Screwdriver,Teeth Casting,Horse,Skeleton Hand,Turbine Blade,Cactus,Cat,Cessna,Club,Cow,Distributor Cap,Engine,Fandisk,Gargoyle,Hypersheet,Knot,Mechanical Part,Oil Pump,Teapot,Tyrannosaurus Rex,Dragon,Feline Model,Femme,Happy Buddha,Headus Skull,Max Planck,Molecule,Rabbit Sculpture,Stanford Bunny,Zander,Zoë,Duck,Mummy,Bust of Nefertiti,Top,Totem,Vase #1,Vase #2,Chair,Dental Cast,Foot,Hand,female Mannequin Head,Pregnant Woman,kissing-children Sculpture,Shoe,Toilet,Cube,Hexagon,Icosahedron,Octahedron,Pentagon,Quadrilateral,Right Tetrahedron,Right Triangle,Armadillo Man,Dragon,Happy Buddha,Stanford Bunny,Cat Head,Face,Mannequin Head,Spocks Head,Stamped Part, Stegosaurus, Torus, Triceratops, Venus Torso)
  • Aachen photo dataset (photos, SIFT descriptors, 3D reconstruction) (T. Sattler)

Vision

Machine Learning

  • Infer.Net - Bayesian Inference in Graphical Models (T. Minka, J. Winn, J. Guiver, A. Kannan)
  • ANN - C++ approximate neareset-neighbours in dimensions ~(8,20) (D. Mount, S. Arya)
  • FLANN - Fast Library for Approximate Nearest Neighbours (M. Muja, D. Lowe)

Bits and Pieces

  • HXA graphics library (halton sequence, sobol sequence, color space conversions, radiance RGBE IO, random number generators, 2D radial filters) (H. Ainsworth)
Other Stuff
"..."

Matlab

Latex

相關推薦

圖形領域關鍵演算法原始碼[]

Computer Graphics Research Software Helping you avoid re-inventing the wheel since 2009! Last updated December 5, 2012. Try searching

3D三角形網格補洞演算法原始碼()

在逆向工程中,由於裝置或模型的原因,我們獲取得到的三維模型資料往往並不完整,從而使得生成的網格模型存在孔洞,這對後續的模型分析會造成影響。下面介紹一種基於徑向基函式(RBF:Radial Basis Function)的三角網格補洞方法。Step 1:檢測孔洞邊界  三角網格

DH演算法原始碼解讀

【主流的金鑰交換方式】 敏感資料資訊保安傳輸需要對敏感資訊加密,加密的金鑰涉及到傳輸兩端的金鑰協商和交換,目前主要兩種金鑰交換的機制有: 1. 基於非對稱金鑰的實現:請求方用接收方的公鑰加密自己的金鑰,接收方用自己的私鑰解密得到請求方的金鑰,反之一樣,從而實現金鑰的交換

計算機圖形實驗--DDA演算法的實現

1. DDA演算法(數值微分法)原理:     1)網上或者計算機圖形學書本上有詳細介紹。     2)最核心的是選定(x2-x1)和(y2-y1)中較大者為步進方向。 2. 實現工具:     1) VS2017(C++)     2) 下載外掛:Easyx 。使用方

計算機圖形——直線生成演算法

要求:分別利用DDA演算法、中點Bresenham演算法和改進的Bresenham演算法掃描轉換直線段P1P2,其中P1為(0, 0), P2為(8, 6)。 #include <iostream> #include "stdio.h" #include <

計算機圖形幾何工具演算法詳解 第一章 緒論

計算機圖形學幾何工具演算法詳解 這本書在網上只找到影印版,很多文字都不太清晰,看起來有點兒費勁,故轉錄成普通文字版。 1.1 如何使用本書 本書包含許多方面的內容。簡單地瀏覽一下目錄,就可以知道本書是一本關於二維和三維幾何演算法的書籍,這些演算法可應用於計算機圖形學

計算機圖形作業——DDA演算法實現

/* CopyRight :sau liuwei  Date : 20160313 */ #include<stdio.h> #include<string.h> #include<windows.h> void DDALine(HDC

計算機圖形——區域填充演算法

一、區域填充概念 區域:指已經表示成點陣形式的填充圖形,是象素的集合。 區域填充:將區域內的一點(常稱【種子點】)賦予給定顏色,然後將這種顏色擴充套件到整個區域內的過程。 區域填充演算法要求區域是連通的,因為只有在連通區域中,才可能將種子點的顏色擴充套件到區域內的其它點。 1、區域有兩種表示形式 1

計算機圖形實驗(二)—— 直線Bresenham演算法原始碼

 1. Bresenham演算法核心:(詳細原理見末尾) 理解光柵化:畫素點只能是整數點。 藉助決策變數 的正負號判斷下一個點座標,從而避免了計算直線斜率所用乘除法,只需要用加減法。 預設斜率絕對值在區間(0,1)時,即abs(dx)>abs(dy),步進方

計算機圖形實驗(三)——中點畫圓演算法實現及其原始碼

1.中點畫圓演算法簡介:(以第一象限內靠近Y軸的1/8圓為例) 由於圓的對稱性,只需要考慮的圓上的點。舉例: 引入建構函式:。 分別表示點在圓外,圓上,圓內。 如圖3-8所示:.M是P1和P2中點。 當F(M)<0時,說明M在圓內,進而得知P1離圓弧更近;否則P

計算機圖形(一)DDA畫線演算法講解與原始碼

很早之前就想寫一個計算機圖形學系列的講解,可是隻寫了2篇,然後就擱置了很長一段時間,現在也算是有時間來繼續之前的想法了。 首先介紹一下演算法: 已知直線過端點P0(x0,y0),P1(x1,y1)的直線段的斜率K=(y1-y0)/(x1-x0),畫線的過程為:從x的

計算機圖形(三)掃描線多邊形填充演算法講解與原始碼

如果喜歡轉載請標明出處: 並非菜鳥菜鳥的部落格 在這裡先說下演算法的實現過程 本人覺得這個演算法實現起來還是有點難度的!很多人都不願意去看太多描述性的文字,所以對這個演算法的過程是什麼大概也不知道,那麼我在這裡簡要的說一些! 演算法實現過程中應用兩個資料結構:

計算機圖形(二)中點畫圓演算法講解與原始碼

近些天寫了一些關於計算機圖形學的演算法和原始碼! 如果喜歡轉載請標明出處:並非菜鳥的部落格http://blog.csdn.net/syx1065001748 關於中點畫圓,大家都知道是根據圓的8分

計算機圖形(六)多邊形裁剪Sutherland-Hodgeman演算法講解與原始碼

因為最近CSDN上傳資源出現問題,無法上傳,等可以上傳之後再給出下載地址。 原始碼下載:點我下載 首先講一下演算法的原理: Sutherland-Hodgeman演算法: 基本思想是一次用視窗的一條邊裁剪多邊形。 考慮視窗的一條邊以及延長線構成的裁剪線,該線把平面分成兩

劍英陪你玩圖形(一)打通任督二脈

註定 輸出 加工 學生 odoo itblog 嘗試 固定 討論 1. 這是一個嘗試的系列,突發奇想覺得有聲音可能會更有趣,這個系列Blog都會出視頻有聲版。 這個系列主要是為了玩一玩代碼。 我覺得呢,寫程序是一件很有意思的事情,沒有必要搞得那麽苦大仇深。但是,卻總有那麽一

水平分庫分表的關鍵問題解決思路(

中小項目 數據庫 關系型數據庫 連接數 如何 數據分布 處理 拆分 業務 分片技術的由來 關系型數據庫本身比較容易成為系統性能瓶頸,單機存儲容量、連接數、處理能力等都很有限,數據庫本身的“有狀態性”導致了它並不像Web和應用服務器那麽容易擴展。

CG-光柵圖形直線掃描換算法-學習筆記

圖形 點畫 整數 mar bresenham bsp pla 位移 ali 一、直線掃描轉換算法——DDA畫線算法 備註:DDA(Digital Differential Analyzer) ---> 數值微分法 1. 引進圖形學中的一個很重要的思想——增量思想 2.

Show, attend and tell演算法詳解原始碼

mark一下,感謝作者分享! https://blog.csdn.net/shenxiaolu1984/article/details/51493673 原論文:https://arxiv.org/pdf/1502.03044v2.pdf 原始碼:https://github.c

[圖形] 經典演算法 - Kajiya三維紋理渲染毛髮

簡介         渲染複雜度高細節豐富的場景一直是影象繪製的重要目標。一個想法是引入不同尺度的層次,每一層次對應一種精度幾何模型。因此那些複雜的小物體可以被歸類為可被簡化的幾何物體。         但是,繪

Problem C: 零起點演算法93——矩陣

#include<stdio.h> int main() { int n,m,a[10][10],b[10][10]; while(scanf("%d%d",&n,&m)!=EOF) { for(int i=0;i&l