# Final exam

## Information (from website)

The final exam will be held on April 16 at 09:00 and it will be a **2-hour exam** consisting of **14 open questions**.
However, **you will answer only 12 questions**, which you can choose.
That means 10 minutes per question, so try to manage your time.
There will be one question per lesson, possibly including relevant parts of your homework assignments.

For the question for Lesson 7.1 (applications), you should have studied one application of your choice.
It will ask you for some details about it.

During the exam, you are free to check the course materials (videos/handouts/assignments) and any other materials you can find (eg books or the internet).
Just please don't communicate with others.
We are asking for your honesty to help us push back against invasive methods in remote education (eg online proctoring).

The exam will be a Markdown (plain text) file that will be published at 8:55 [here](https://3d.bk.tudelft.nl/courses/backup/geo1004/2021/data/finalexam.md).
You should download it to your computer, add your answers by directly editing the file, and upload it through a Dropbox request [here](https://www.dropbox.com/request/hIQhQoOWDLPYbx5GAMmQ).
Exams will be accepted until 11:05, so please avoid problems by uploading it at 11:00 at the latest.
If you're worried about the time, maybe set an alarm for 11:00 on your phone?
We will also post a message on Discord at 11:00.
We were a bit lenient with the midterm, but final exams submitted late will not be accepted.

If you have a special dispensation for extra time, you are allowed to upload the exam until 11:35.
If you do so, please send Ken a copy of the letter (by Discord DM or e-mail).

Markdown files look like plain text with minimal formatting, like [this](https://3d.bk.tudelft.nl/courses/backup/geo1004/2022/data/index.md).
You can edit Markdown files with any text editor, including whatever you use for Python or C++ programming.
Some possibilities: Sublime Text (my preferred option), Atom, VS Code, Notepad++.
If you really want to answer your questions in another software, you are allowed to upload a PDF file instead.

If you have any questions during the exam, you can send Ken (kenohori#5365) a DM on Discord.
[Email](mailto:k.ohori@tudelft.nl) is also fine.

If something goes seriously wrong (eg sudden illness or internet going down), do not worry.
Just contact Ken as soon as you can for alternative arrangements (most likely an oral exam through a video call).

## Questions

### 1.1. Give an example of a 3D model (eg something from the homework assignments or from the BIM lesson). Using that model as an example, write three sentences, one for each aspect of: (i) its geometry, (ii) its topology, and (iii) its semantics. The sentences can refer to specific parts of the model or to the model as a whole.

### 1.2. Figure 1.5(c) of Lesson 1.2 in the handout shows an undesirable representation of a non-manifold polygon (due to the creation of a disconnected structure). Give an example of an application where this can be a problem. Explain your reasoning.

### 2.1. Let's say we want to voxelise a mesh (like Homework 1), but it is a mesh with semantics. So, there are triangles labelled as roof, wall, floor, etc. (i) How would the process differ from that which you did in Homework 1? (ii) What would you store in the voxel grid (in memory)? (iii) What would the OBJ output be like?

### 2.2. In Assignment 2 you had to merge co-planar faces on a building model using a DCEL. (i) Explain the major benefit of using a DCEL to implement this task. (ii) Explain why Assignment 2 would have been much more difficult if the input would not have been 2-manifold and illustrate this with a concrete example.

### 3.1. Given the following 4 points:  a=(3, 4, 17) b=(5, 11, 17) c=(22, 1, 17) d=(5, 5, 5), what results Orient(a, b, c, d) return? Positive, negative, or zero? Explain your calculation/reasoning to obtain the result.

### 3.2. Download the file CityJSON `cube.json` ([download link](https://surfdrive.surf.nl/files/index.php/s/YHk7jZpJCiQhh4V/download)), which is meant to represent a simple cube. You will notice that it is not a valid CityJSON file and its geometric representation contains errors. Fix the file, and describe in details all the operations you did to obtain a valid CityJSON representation of the cube.

### 4.1. The specifications of the Assignment 3 state that “the geometry of the building must be a solid valid according to ISO 19107”. Why was that asked? Describe 3 reasons why you think this was asked (instead of the simpler MultiSurface) and/or why in practice practitioners would want this.

### 4.2. Imagine the voxel CSG engine briefly mentioned in Section 1.4 of the handout (and in the midterm exam). We have decided to use half-spaces as leaf nodes. (i) How would you evaluate whether a voxel is part of a half-space? (ii) How would you perform Boolean set operations at the voxel level?

### 5.1. What is the difference between a geometric simplex (point, line segment, triangle, tetrahedron, etc) and a dart?

### 5.2. (i) For what shapes does the MAT consist only of a single interior part? (ii) Give an example of a solid for which the exterior MAT consist of a single part with a maximum medial radius that is smaller than the maximum medial radius of the solid's interior MAT.

### 6.1. Say we have a quadratic Bézier curve with point coordinates (0, 0), (0, 1), (2, 0). What coordinates do we obtain when we evaluate it at t = 0.5?

### 6.2. It is stated in the lesson 6.2 that “Triangulating a Voronoi cell is easily performed since it is a convex polyhedron”. Explain in details one method.

### 7.1. For a 3D modelling application of your choice, explain: (i) briefly what the application is, (ii) what input it needs (eg particular geometric representations), (iii) what are the steps to carry it out, and (iv) what is the output.

### 7.2. How are IFC elements grouped in spatial structures within a BIM? (i) Explain what is prescribed by the IFC data model, and (ii) comment on how these are found in practice.