# Final exam

## Information (from website)

The final exam will be held on June 18 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/retake.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/NV4YhsifeT96vbMscKQ8).
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.
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.

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. Look at the image of the 3D model of the campus shown in the description of the [homework 1 resit](https://3d.bk.tudelft.nl/courses/backup/geo1004/2022/hw/1-resit/). 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. Look at Figure 1.3 of the handout of [this lesson](https://3d.bk.tudelft.nl/courses/backup/geo1004/2021/data/handout1.2.pdf). Using the torus-shaped polyhedron with a hole as reference, answer whether there's a difference between the polyhedron being modelled as a split volume (subfigure b), and it being modelled with *two* bridge edges. Explain your reasoning.

### 2.1. When modelling 3D space as an octree, the best (most compact) possible scenario is completely filled or completely empty space, in which case there is only a single node in the tree. Describe the worst possible scenario.

### 2.2. One application of buildings reconstruction is urban wind flow simulation. For such simulations it is important that the building models (consisting of shells) are watertight. Related to this, 2-manifoldness is a requirement for valid building models. Explain (i) if a 2-manifold shell is guaranteed to be watertight and (ii) if a watertight shell is guaranteed to be 2-manifold? Give a counterexample if applicable.

### 3.1. Assume you have the following 3 points in space:  a=(3, 4, 17) b=(5, 4, 1) c=(22, 4, 11). Give one possible location for another point d so that Orient(a, b, c, d) returns a positive value. There are several good answers, just one is sufficient. Explain your reasoning.

### 3.2. Download the file CityJSON `cube.json` ([download link](https://surfdrive.surf.nl/files/index.php/s/YGVe9G0VtrxFooM)), 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. (You do not need to submit the fixed files, the explanation of what you did is sufficient.)

### 4.1. Describe the main steps (and pitfalls) you would encounter if you were asked to write code to translate this [CityJSON file](https://surfdrive.surf.nl/files/index.php/s/ph7cwed9hpSMDDa) to an OBJ file.

### 4.2. Look at Figure 1.4 of the handout of [this lesson](https://3d.bk.tudelft.nl/courses/backup/geo1004/2021/data/handout4.2.pdf). Using one of the vertices as example, describe in your own words how its angular intervals are calculated.

### 5.1. Describe an algorithm that takes as input one dart from a generalised map and returns a list of faces, where each face is also a list of vertices. So, for a tetrahedron, the output would be something like [[v1, v2, v3], [v3, v2, v4], [v2, v1, v4], [v4, v1, v3]].

### 5.2. Look at Figure 1.1 of the handout of [this lesson](https://3d.bk.tudelft.nl/courses/backup/geo1004/2021/data/handout5.2.pdf). Explain how you could automatically determine the thickness of the arms, legs and torso of gingerbread man using the properties of the MAT.

### 6.1. Say we have a cubic Bézier curve with a U shape. It has point coordinates (0, 1), (0, 0), (1, 0) and (1, 1). What y coordinate do we obtain when we evaluate it at t = 0.5? Explain how you calculated it. Note: the x coordinate is 0.5.

### 6.2. You obtained some measurement for the temperature of the air above the Netherlands, and those are in the form of scattered points(x,y,z,T). Describe in details how you would visualisation the distribution of the temperature.

### 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. Explain in your own words how georeferencing works in BIM models.