Project Seminar - IGR205
M1, IGR / IGD Master, 2021/22

Course organizers: Kiwon Um and Jan Gugenheimer

In this course, 2-3 students will team up, and each team will develop a program or a set of modules, which is possibly related to a (or multiple) research article(s). The project topics are carefully proposed by the entire teaching staff in the IGR/IGD Master program. Each team will exclusively work for one topic.

Important: The participants have to keep in mind that all the topics will not have the same difficulty. Thus, each team should actively communicate with the project supervisor(s). It may happen to adjust the given tasks depending on your capacity. But, don't worry, your supervisor(s) will be happy to help you. Once you have been assigned to a topic, please contact your supervisor(s) as quickly as possible and get clearly informed about your tasks and supervision. Additionally, you are working in a team, and, sometimes (or even quite often), it can happen that all team members are not equally contributing. Please be aware that your evaluation will be first based on your teamwork; but, you still have your right to report to your supervisor and the course organizer on unfairness if you experience unbearable collaboration with someone. Please actively communicate within your team and make an effort to build good teamwork.


There will be no regular teaching session for this class. Once your topic has been confirmed, you have to disscuss with your supervisor(s) to set up your progress meetings.

When: Mondays at 13:30-16:45


At the end of the course, after the final presentation, each team has to send both the supervisor and the organizers (Kiwon and Jan) a zip file or a link (such as shared folder, github, or gitlab) such that they can access to (1) a presentation PDF file, (2) a report PDF file, and (3) extra resources such as source codes if applicable.

The evaluation will take into account the followings:

We value academic integrity; thus, you must understand the meaning and consequences of plagiarism. You can refer to existing codes, texts, and any materials that would be useful for your project. However, you must be careful to reuse them properly.


The goal of this project is to create a new presentation tool based on Webstrates. This tool should explore ways to satisfy the different needs of these different user populations in the context of a single presentation document. It should go beyond presenter notes (intended to be read by the presenter) to include audience notes (intended to be read by the audience) and text-centric readings. Finally, it should take advantage of the dynamic and interactive capabilities of the web, allowing for integrating different web applications directly into the presentation support. For example, in a programming class, it slides should support interactively editing code examples, or for letting students dynamically add content to the presentation in a structured way. The minimal solution will provide an implementation that satisfies the above goals, but this is an open-ended project: there is plenty of room for creativity in orienting the design and exploring different ways to satisfy these goals. Each group will meet weekly with the project supervisor to collaboratively orient the direction of the project.
The goal of this project is to create an interactive augmented reality application that can help create real-time visualization of ionizing radiation in our surrounding environments. The instructor will first demonstrate particle detection physically using a DIY cloud chamber. Students will receive an electronic geiger counter that can detect such radiation. This device may be used to gather data in your surroundings to be sent to handheld phones (AR application) or Microsoft Hololens devices for real-time visualization. Students are encouraged to think out of the box about ways to visualize this information. How might invisible information be made visible (or audible e.g: through music)? What might such particles look like in a spatial augmented reality system? How can such an application be used in educational environments to explain radiation through natural materials? Students will implement an application that connects Geiger counter data to an augmented reality application on phones.
This project will begin with an introduction to ephemeral displays and interaction design by Professor Harpreet Sareen. The students will then be led through instruction sessions at Studio Design to create a display that can controllably display bubbles of a carbonated beverage on a petridish. The students will learn how to use a vinyl cutter and material application to create such a display. Each student team will be given the supplies to recreate this bubble display and to test variation of outputs with various liquids, temperature and bubble variation over time. Students are encouraged to think out of the box about ways to visualize this information. What aspects of ephemerality and interaction best suited for such a display? Why should not also digital information be presented transiently? Broadly, could we even design systems that naturally grow and age? Students will brainstorm and present a few example applications possible through such controlled bubble nucleation. Each team may also develop a software workflow that can “pixelate” an input image to bubble size variation that can fabricated on a vinyl cutter.
The goal of this project is to develop an application that can control multiple robot units in a physical environment. This project will begin with an introduction to robot locomotion and basic electronics by Professor Harpreet Sareen. Students will receive close guidance throughout the project and no prior electronics/robotics experience is required. Student teams will receive two robots, where each robot is mounted with a location tracker beacon. You will research prior work, learn, and develop a system the following: (1) NodeJS application: Receive current positions of robots in space, (2) Central command application (developed in Unity or NodeJS etc.): Process real-time positions of robots, Set initial position of robots, Trigger robots for circular locomotion path in space, Receive data from location trackers for feedback control, and (3) Robot programming (Arduino): Locomotion functions and communication with central command for position feedback control. Initial system will be developed by students using two Nexus omni-wheel robots, with additional extensibility for more robots built into the system. Teams will propose creative ideas/applications that may be possible through such a system. Each group is expected to meet once a week with their supervisor and discuss development of the project.
The goal of this project is to propose a solution to limit confusion between memories of real and VR experiences. In a first step, each group will design and set up a simple experiment to monitor memory confusions between reality and VR, using Unity 3D. If they have enough time, they should run the experiment with 1 or 2 participants and interpret the results. In a second step, each group will design and implement a protection mechanism to limit source confusion, based on literature and their understanding of the phenomenon. For example, this protection mechanism could be an intentionally non-realistic rendering (e.g. wireframe rendering) or could be to add a “reality-check” to the VR experience (e.g. the spinning top from the movie Inception). Students are encouraged to try creative ideas. If they have enough time, they should run the experiment again to evaluate their solution. Each group is expected to meet once a week with their supervisor and discuss their ideas and the direction of the project. Each student will get an Oculus Quest to be able to develop individually.
Large-scale equation solves are always great enemies for efficiency and stability of graphics applications. Instead of tessellating a domain with tons of elements and solving associated discretized equations, stochastic approach formulates the solution to a PDE as the expectation of stochastic process. This surprising result does not only reveal a deep connection between PDEs and stochastic process in theory, but also offers us a Swiss knife for dealing with practical problems, which fits remarkably well into the modern parallel computing environment.
As explained in the IGR202 class, we have a special interest in vector graphics (where shapes are represented by a set of parametric curves - usually Bezier curves) due to their compactness, editability and crispiness. But unfortunately, for a novice user, it is easier to create raster drawings (where the shape is represented by a set of pixels). So, the main objective of this project is to convert a given raster contour drawing into a set of easily editable vector curves while preserving two properties: 1. Fidelity: The parametric curves should approximate well the input drawing. 2. Simplicity: The result should be composed of a small number of curves with few control points to preserve the compactness and editability of vector graphics Though the project’s primary goal is to adapt the methodology from “Fidelity vs. Simplicity: a Global Approach to Line Drawing Vectorization” paper (concentrating only on the fitting part, assuming that a skeleton with open curves is given), the generic curve fitting is an open and unsolved research problem. So there are many scopes (from a research perspective) to come up with many clever, intuitive and better solutions if the students are interested in working further.
Colouring raster contour images, such as line arts, is an essential step in many image manipulation tasks. Flood-fill, applied by the bucket filling tool present in most standard software such as Microsoft Paint or GIMP, is a simple solution for colour filling. Unfortunately, it cannot handle contours with gaps, although gaps are a common error in hand-drawn line art. In this project, the primary objective is to implement the extension of the "Delaunay grouping" idea further by including: 1. Colour diffusion (to spread colours inside small uncoloured regions such as hatches) 2. Aesthetic contour completion (to finish the gaps in a visually pleasing manner) If found interesting, the students can also think of how to extend this Delaunay grouping to handle temporal consistency - how to propagate colours from one image to another so that colouring different frames in a 2D animation movie will be easier.
The main objective is to implement a stroke-based rendering system with the main characteristic to deal efficiently with three conflicting constraints: the distribution of points should retain a good repartition in 2D; their motion should tightly follow the target motion in the underlying scene; and as few points as possible should be added or deleted from frame to frame. The input is a 3D scene or video and creates non-uniform distributions with good temporal coherence and density properties. We would like to keep a constraint on the point density (the number of points should always be the same). This project will be a starting point for a new research project. So, the students who find it attractive and are motivated to work further will have an opportunity to participate in a cool small research project.
This project aims for a popular variant of particle-based liquid simulation method, Predictive-Corrective Incompressible SPH (PCISPH). This requires essential programming/software skills for generating computer animations and good understanding of numerical fluid simulations, which solve the Navier-Stokes equations that model a variety of fluid flows.
This project aims for an efficient and effective liquid simulator that implements one of the popular SPH variants, called IISPH. This requires essential programming/software skills for generating computer animations and good understanding of numerical fluid simulations, which solve the Navier-Stokes equations that model a variety of fluid flows.

Just in case, you can find the previous topics in 2020-21, 2019-20 and 2018-19.