Credits
6
Types
Elective
Requirements
This subject has not requirements
, but it has got previous capacities
Department
CS
Web
www.lsi.upc.edu/~virtual/SGI
Weekly hours
Theory
2
Problems
0
Laboratory
1
Guided learning
0
Autonomous learning
5
Contents
-
Foundations of 3D modeling
Elements of a geometric modeling system. Solid models. Closed, bounded and regular sets of points. Two-manifold surfaces. Abstraction levels in geometric modeling. -
Boundary representation (BRep)
Polyhedra. Cells, shells, faces, loops, edges and vertices. Genus of a surface. Euler equation for polyhedra. Incidence relationships. Creation of BRep models. Sweep. Boolean operations. -
Subdivision surfaces
Subdivision surfaces. Interpolation and approximation. Update rule. Classification. Catmull-Clark subdivision. -
CSG models
Constructive Solid Geometry. CSG trees. Basic operations. Point-inside-CSG test. -
Space decomposition models
Voxelizations. Octrees. Classic, Face and Extended octrees. Octree representation. Basic operations on octrees. -
Implicit modeling
Scalar fields. Surface reconstruction from scalar fields. Blobby molecules, metaballs and soft objects. -
Data structures for triangle meshes
Euler equation for triangle meshes. Face-based, Vertex-based and edge-based representations. The half-edge data structure. APIs for geometry processing. -
Geometric tests and queries
Estimating normal and tangent planes at vertices of polygonal meshes. Discrete curvature at mesh vertices. Mesh quality. Non-selfintersection test. -
Procedural modeling
Fractals. Lindenmayer systems (L-systems). Stochastic and parametric grammars. Shape grammars. Generative modeling. -
Geometry acquisition
Pipeline for the acquisition of 3D models. Technologies. Registration and merge.
Activities
Activity Evaluation act
Lectures
Material will be presented in lectures along the term. You are expected to conduct complementary readings and exercises will also be assigned on occasion, to be presented at a later date or turned in.
Theory
39h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
36h
Implementation of selected algorithms
A selection of relevant algorithms will be assigned to implement in Lab sessions and on your own. You may be required to present your solution to the class. You must turn in fully functional source code that runs in the indicated platform. Usual languages are C++ and Python.
Theory
0h
Problems
0h
Laboratory
13h
Guided learning
0h
Autonomous learning
13h
Final exam
At the end of the term you will have a final exam, which may be a take-home.Week: 17
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h
Partial exam
At the middle of the term you will have a partial exam, which may be a take-home.Week: 7
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h
Teaching methodology
The teaching methodology will be based based on weekly theory classes and lab classes. Course concepts will be introduced in the theory classes. Exercises will be used to consolidate these concepts, which will be further developed in the lab sessions.The lab sessions basically involve the teacher presenting the guidelines for the practical work (split by sessions) and the concepts bearing on the software to be used. Students will complete the design and programming of the various applications bearing on the course contents. The exercises will be carried out individually.
Evaluation methodology
Partial: mark based on the student's performance in the partial examExam: mark based on the student's performance in the final exam
Lab: grade stem from the student's implementations of selected algorithms (including occasionally their presentation of their
solution in a laboratory class)
The final grade for the course will be computed as:
Final Grade = 0.4 Exam + 0.3 Partial + 0.3 Lab
Bibliography
Basic
-
Computer graphics and geometric modeling
- Agoston, Max K ,
Springer,
2004.
ISBN: 1852338172
http://cataleg.upc.edu/record=b1288071~S1*cat
Complementary
-
Polygon mesh processing
- Botsch, Mari,
A K Peters,
2010.
ISBN: 978-1-56881-426-1
http://cataleg.upc.edu/record=b1410468~S1*cat