圖形學領域的關鍵演算法及原始碼[轉]
Computer Graphics Research Software |
Helping you avoid re-inventing the wheel since 2009! |
Last updated December 5, 2012. |
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
- Iain Murray's Latex Notes (squeezing)
相關推薦
圖形學領域的關鍵演算法及原始碼[轉]
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