Geometric Computing With Python - GitHub Pages

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