Preview image

Maraytr - Marek's Ray-tracer

Maraytr is a ray-tracer written with high focus on algorithms and data structures rather than on performance. I decided to make it to get deeper understanding of theory and math behind ray-tracing. Also, ray-tracing is fun! The core was written in four days in C# without any third-party libraries. The scene is represented as Constructive Solid Geometry (CSG) and supported primitives are sphere, cube, and plane. It is possible to do basic boolean operations like union, intersection, subtraction, or xor.

Preview image

L-systems in Haskell

This project is relatively advanced L-system library written in Haskell. Out of the box it supports symbols with parameters, conditional rewriting, and it can evaluate expressions with binary and unary operators. There are two available L-system interpreters: text and SVG vector graphics. The code is well commented and written with extensibility in mind. It is easy to add new operators, new interpreters, or even extend the grammar. This project was my final program of Non-procedural programming class.

Preview image

Wandering

Wandering is a generic maze generator, solver, and game playable in a console. It supports hexagonal and rectangular mazes and two types of maze generators. Cool thing is that the maze type is independent of the solver. Every solver can solve every type of maze. It is possible to define new maze types, generators, and solvers. Another cool feature is the UI system in a console including menus, text boxes, windows, and screen manager. This was my first larger program written in C++.

© Marek Fiser. License: CC BY 4.0

Inspired by the Chirpy theme despite not using Jekyll.