Raycasting for 3D Rendering

Raycasting for 3D Rendering

February 13, 2020Yannick
Yannick
Pascal
Pascal

This project was created for a german student science competition where Pascal and I participated back in early 2020. The original title was “Raycasting zur Berechnung und Darstellung dreidimensionaler Umgebungen” which translates to “Raycasting for calculating and displaying three-dimensional environments”. Below you can find some background info, along with the original report we wrote.

Background

Sometime in 2019, Pascal brought up the Idea of creating a raycaster to simulate a three-dimensional environment in Scratch which is typically used to render 2D scenes. I got hooked on the idea and we soon started working on it.

The result was a simple raycasting engine that could render a maze with walls and a player that could move around in the maze. As you can imagine, the Scratch performance was not great, but we learned a lot about raycasting and how it can be implemented.

This was enough to make us curious about how raycasting could be implemented in a programming language like Python. We then decided to re-write our engine and submit it as our science project for “Jugend Forscht”, a German science competition for students.

For that we had to write a report on our project which we had to submit to their website. The report is available in english and german.