About

GEO1004: 3D modelling of the built environment is part of the MSc Geomatics programme at the Delft University of Technology. The course provides a detailed description of the main ways in which the built environment is modelled in three dimensions, covering material from low-level data structures for generic 3D data to high-level semantic data models for cities.

The current version of the course (with entirely new content) was run for the first time on Q3 of the 2019-2020 academic year and is based on blended learning. In this model, in-person lessons and activities are combined with online materials and self-study.

During the contact hours (3 x 2h weekly), we will generally have short lectures and demos at the beginning of the hours on Monday and Wednesday. We will also often use this time to introduce the course and the assignments, or to provide general feedback for the assignments or the exams. During the rest of the hours on Monday and Wednesday and all of the hours on Fridays, we will answer questions, check on progress for the assignments and provide help. Students can also use this time to study lessons and to work on assignments.

Apart from the formal contact hours, students are expected to study the lessons on their own by studying the materials that are provided in this website. However, the idea is to learn mostly by doing—spending more time actively working on assignments rather than passively listening to lectures or videos.

You can ask us questions online (through Discord) at any time, but during the contact hours we will be fully available to help you in person.

The activities planned for the day will be announced in advance through the course website. Note that while you can do most of the course online and asynchronously, the midterm and the final exam will take place in person at the scheduled times.

All the assignments are programming tasks (to be done with the C++ programming language), based solely on open-source libraries and software. Homework 0 is an unmarked assignment to help you get your C++ environment set up and working correctly and Homework 1 is meant as a relatively easy introduction to the fundamental topics of the course. Homeworks 2 and 3 are harder assignments that involve combining multiple topics of the course into a creative solution.

How to best follow this course

Every week:

  1. Go the course homepage and check the week’s schedule.
  2. In your own time, study the lessons of the week by watching the videos and reading the materials. The course works best if you at least skim it in advance, but we know that this is not always possible.
  3. If you have any doubts about the contents of the lessons, ask questions on Discord. Asking on the geo1004 text channel is best, but a DM is okay if you are uncomfortable with that. If you ask during the contact hours, we will answer quickly. If not, we will still answer, but it might take longer.
  4. Try to answer the questions included at the end of the book chapter for a lesson. If you are not sure if your answers are correct, ask on Discord.
  5. Optionally, have a look at some of the other materials (eg papers and videos) listed at the end of the chapter.
  6. After studying the lessons of the week, work on the assignment(s) listed for that week.
  7. As you work on an assignment, discuss it with your classmates and with us. High-level collaboration (eg general strategies to tackle a problem) is encouraged. Using others’ code is not and will be considered plagiarism.
  8. If you get stuck in part of an assignment or want to run your strategy by us, tell us on Discord. We will not give you the solution to an assignment, but we will help you get on a good track to complete it.

All deadlines and rules are posted in this website, but we can be flexible if needed (such as if you get sick). This should be done before the deadline. We will also be widely available to help you on Discord and in person too, so don’t hesitate to ask questions. General software or programming questions are also okay, so please ask ahead. No one is born an expert, so there are no dumb questions.

External help, plagiarism and AI

In short, you are welcome to use external help or AI assistants (eg ChatGPT, DeepSeek or Gemini) as long as:

  1. all significant parts of the work that you submit are done by you, and
  2. how you use form of external help is documented and acknowledged in the submission.

With code, this policy means that all major parts submitted must be written mostly by you, and you must be able to explain how they work. However, you are welcome to use a chatbot to answer general questions, including for math (how do I compute a normal vector?) or programming (how do I write to a file in C++?). Getting short excerpts of code is also okay (how do I use this function?), as is getting debugging help (how do I fix this error?).

As for reports, all significant ideas in the final report should come from you. However, you are welcome to use AI for brainstorming (what are some interesting plots I can include?) or helping with structure (what should the sections of my report be?), grammar, or clarity (rephrase this paragraph).

If in doubt, please ask us if something is allowed. Violations of this policy will be considered plagiarism and will result in disciplinary action.

Discord?

Discord is a service for text and voice chats plus video calls that is mostly used by gamers. You can install the app (better) or use it directly from the browser (still okay).

First, join the Geomatics server’s geo1004-2025 text channel. This is a public text chat, which you can use to post questions, to discuss, or for general chatting. It is usually best to ask questions here, since everyone can benefit from the answers.

There is also a voice channel for the course, which is called geo1004 voice channel. This is a public voice chat, which you join manually by clicking on it. If you join it, you will listen to what the others in the voice channel are saying (unless you deafen it -> headphones icon) and everything you say will be also heard by the others (unless you mute it -> mic icon). You are free to use it anytime to discuss anything with the rest of your classmates (who are in the channel at that point).

Once you have joined the voice channel, you can also use it to share your screen (or a single window) with your classmates (Go Live -> icon with display and arrow). When you do so, a red LIVE icon will appear next to your username, and people will be able to click on your user and see your stream.

If you want to ask very detailed questions that are only relevant to your work, it is probably better to do a separate one-to-one or small group call (with possible video and/or screen sharing). For that, let us know on the text channel (better) or send us a DM (still okay). When one of us is free, we will add you as a friend (or you can do that anytime!), and we can then start the call.

Now, if you are not together with your assignment groupmate or want to talk to other classmates, how about doing a one-to-one or group call with them?

Expected prior knowledge

Anyone is free to follow the course, but it is mainly designed for students from the MSc Geomatics. Formally, the following courses/knowledge are required prerequisites:

  1. GEO1000 (or knowledge of scripting/programming);
  2. GEO1002 (or basic knowledge of GIS).

The course GEO1015 covers complementary topics to this course (2.5D vs 3D), so following it too is highly recommended.

Course content

The main topics described in the course are:

Responsible staff

Ken Arroyo Ohori photo

Ken Arroyo Ohori

kenohori#5365 | |

Hugo Ledoux photo

Hugo Ledoux

hledoux#8017 | |

Hidemichi Baba photo

Hidemichi Baba

Ravi Peters photo

Ravi Peters

Marking

3 assignments 50% (10%+20%+20%)
midterm exam 5%
final exam 45%