Welcome to the course Geometric Modeling

Dr. Evgenii Maltsev, Dmitriy Popov and Prof. Alexander Pasko


Introduction to the course (video)


Theme 1 Introduction to Discrete Mathematics and propositional logic

Introduction to Discrete Mathematics (pdf)

Propositional Logic (pdf)

Theme 2 Predicate logic

Predicate Logic (pdf)

Theme 3 Sets

Sets (pdf) | Video lecture

Theme 4 Functions

Functions (pdf) | Video lecture

Theme 5 Point sets

Point Sets (pdf) | Video lecture

Theme 6 Functions as geometric mappings

Mappings | Video lecture

Animations

Theme 7 Applications of geometric modeling

Applications | Video lecture

Theme 8 Parametric curves and surfaces

Parametric curves and surfaces | Video lecture

Theme 9 Implicit curves and surfaces

Implicit curves and surfaces | Video lecture

Implicit objects | Video lecture

Animation

Theme 10 Polygonization of isocontours and isosurfaces

Polygonization | Video lecture


Midterm


Theme 11 Transformations

Transformations | Video lecture

Theme 12 Relations

Relations | Video lecture

Theme 13 Graphs

Graphs | Video lecture

Theme 14 Trees

Trees | Video lecture

Theme 15 Solid modeling

Solid modeling | Video lecture

Theme 16 Boundary Representation BRep

Boundary Representation BRep | Video lecture

Theme 17 Constructive Solid Geometry CSG

Constructive Solid Geometry CSG | Video lecture

Theme 18 Function Representation FRep

Function Representation FRep | Video lecture

Theme 19 Spatial Partitioning

Spatial Partitioning | Video lecture


Final Lab Presentations

Final exam


Laboratory works


Instructions for the laboratory works

Laboratory works contain following themes:

  • The basic algorithms of drawing line segments
  • Boundary representation of geometric models
  • Function representation of geometric models

For a quick start, the virtual machine (8Gb) with necessary development environment and the examples of the performed laboratory works is provided. You can find instructions how to add the virtual machine by following link.

The examples of the laboratory works are given as the binary executed files and as a source code.

Integrated Development Environment is Qt Framework with Qt Creator. Programming language is C++.

Software for the function representation modeling and heterogeneous modeling is the open source project – HyperFun.

Local software installation

You may install all necessary development tools locally on your machine:

  1. Qt Creator installation guide
  2. Qt installer
  3. Source code for laboratory work №1
  4. Source code for laboratory work №2
  5. Source code for laboratory works №3-4
  6. Binaries for laboratory works №1 №3 №4
  7. HyperFun Polygonizer
  8. C++ examples: OOP; references and pointers;
  9. FRep example for prizm primitive;

Using preferable programming tool

You may use any other preferable programming language and tools.

Assignments Deadline
Algorithms of the generation of segments on the plane 30.04.2022
Geometric transformations on the plane 07.05.2022
Construction of perspective projection of 3D scene 14.05.2022
The polygonal surface model of a 3D object and removing invisible surfaces 21.05.2022
Function Representation of the 3D objects (OLD variant with hyperfun) 28.05.2022

Additional files:

HyperFun project