Transcription
Geometric Computing with PythonSebastian Koch, Teseo Schneider, Francis Williams,Chencheng Li, Daniele ric-computing-python/1
Who are ChengLiDanielePanozzo
Course Goals Learn how to design, program, and analyze algorithms for geometriccomputing Hands-on experience with shape modeling and geometry processingalgorithms Learn how to batch process large collections of geometric data andintegrate it in deep learning pipelines3
Geometric Computing
Geometric ComputingDiscrete Differential Geometry- Surface and volumes representation- Differential properties and operators
Geometric ComputingDiscrete Differential Geometry- Surface and volumes representation- Differential properties and operatorsNumerical Method for PDEs- Focus on real-time approximations- Irregular domains
Geometric ComputingDiscrete Differential Geometry- Surface and volumes representation- Differential properties and operatorsNumerical Method for PDEs- Focus on real-time approximations- Irregular domainsHigh Performance Computing-Vectorized computationMulti-core and distributed computationGPU accelerators
Geometric ComputingDiscrete Differential Geometry- Surface and volumes representation- Differential properties and operatorsHigh Performance ComputingNumerical Method for PDEs- Focus on real-time approximations- Irregular domainsHuman Computer Interaction- Objective evaluation of the results- Architects and artists benefits from our-Vectorized computationMulti-core and distributed computationGPU acceleratorsresearch
Geometric ComputingHigh Performance ComputingDiscrete Differential Geometry- Surface and volumes representation- Differential properties and operators-Vectorized computationMulti-core and distributed computationGPU acceleratorsGeometricComputingNumerical Method for PDEs- Focus on real-time approximations- Irregular domainsHuman Computer Interaction- Objective evaluation of the results- Architects and artists benefits from ourresearch
Geometric ComputingBig DataHigh Performance ComputingDiscrete Differential Geometry- Surface and volumes representation- Differential properties and operators-Vectorized computationMulti-core and distributed computationGPU acceleratorsGeometricComputingNumerical Method for PDEs- Focus on real-time approximations- Irregular domainsHuman Computer Interaction- Objective evaluation of the results- Architects and artists benefits from ourresearch
Geometric Computing
Geometric ComputingPhysical Object
Geometric ComputingPhysical ObjectRange Images
Geometric ComputingPhysical ObjectRange ImagesUnstructured Model
Geometric ComputingPhysical ObjectRange ImagesUnstructured Model
Geometric ComputingPhysical ObjectRange ImagesUnstructured Model
Geometric ComputingPhysical ObjectRange ImagesUnstructured ModelStructured Model
Geometric ComputingPhysical ObjectRange ImagesUnstructured ModelStructured ModelApplications
Geometric ComputingAnimationPhysical ObjectRange ImagesUnstructured ModelStructured ModelApplications
Geometric ComputingAnimationPhysicalSimulationPhysical ObjectRange ImagesUnstructured ModelStructured ModelApplications
Geometric sical ObjectRange ImagesUnstructured ModelStructured ModelApplications
Geometric ualEffectsPhysical ObjectRange ImagesUnstructured ModelStructured ModelApplications
Geometric ualEffectsPhysical ObjectRange ImagesUnstructured ModelStructured ModelStructuralAnalysisApplications
Geometric ualEffectsPhysical ObjectRange ImagesUnstructured ModelStructured ModelStructuralAnalysisApplications
Geometric ComputingAnimationPhysicalSimulation3D PrinterFabricationVisualEffectsPhysical ObjectRange ImagesUnstructured ModelStructured ModelStructuralAnalysisApplications
Geometric ComputingAnimationPhysicalSimulationPhysical Derived Object3D PrinterFabricationVisualEffectsPhysical ObjectRange ImagesUnstructured ModelStructured ModelStructuralAnalysisApplications
Course Overview Daniele: Introduction to Geometric Computing with Jupyter Sebastian: Geometric Computing and Geometric Deep Learning Teseo: Mesh Generation and Numerical Simulation Q&A6
Getting Started The libraries used in this course are implemented in C forefficiency reasons, but are exposed to python for ease of integration All libraries are available on conda, they can be installed with:conda config --add channels llinstallmeshplotiglwildmeshingpolyfempy7
Libraries OverviewCross Platform: Windows, MacOSX, Linux8
MeshPlothttps://skoch9.github.io/meshplot/9
Interactive Geometry Library (libigl)https://libigl.github.io10
Wild Meshing (TetWild)https://wildmeshing.github.io11
PolyFEMhttps://polyfem.github.io12
Data Structures (or lack thereof)Acknowledgement: Alec Jacobson13
Triangle meshes discretize surfaces 14
Triangle meshes discretize surfaces 15
Triangle meshes discretize surfaces 16
Triangle meshes discretize surfaces v1 [x1 y1 z1]17
Triangle meshes discretize surfaces v1 [x1 y1 z1]18v2 [x2 y2 z2]
Triangle meshes discretize surfaces v1 [x1 y1 z1]v2 [x2 y2 z2]v319
Triangle meshes discretize surfaces v1 [x1 y1 z1]v2 [x2 y2 z2]v320
Triangle meshes discretize surfaces v1 [x1 y1 z1]v2 [x2 y2 z2]v3Store vertex positions asn 3 matrix of real numbers20V [x1 y1 z1;x2 y2 z2; xn yn zn]
Triangle meshes discretize surfaces v1v2v321
Triangle meshes discretize surfaces f1 [1 3 2 ]v2v1v322
Triangle meshes discretize surfaces orientation matters!f1 [1 3 2 ]v2v1v323
Triangle meshes discretize surfaces f1 [1 3 2 ]v2v1v324
Triangle meshes discretize surfaces f125
Triangle meshes discretize surfaces f126f2
Triangle meshes discretize surfaces f127f2 f3
Triangle meshes discretize surfaces f128f2 f3
Triangle meshes discretize surfaces f1f2 f3Store triangle connectivity asm 3 matrix of indices into V28F [f11 f12 f13;f21 f21 f23; fn1 fn2 fn3]
Why RAW matrices? Memory efficient and cache friendly Indices are simpler to debug than pointers Trivially copied and serialized Interchangeable with other libraries: numpy, pyTorch,Tensorflow, Scipy, MATLAB, OpenCV29
Getting Started30
Binder Demo31
Geometric Computing Discrete Differential Geometry-Surface and volumes representation-Differential properties and operatorsHigh Performance Computing-Vectorized computation -Multi-core and distributed computation -GPU acceleratorsNumerical Method for PDEs-Focus on real-time approximations-Irregular domain