Home

Visualization 2 - Stippling of 2D Scalar Fields

This repository contains the project for the Visualization 2 (186.833) course at TU Wien during the Winter 2024 semester. The project implements Linde-Buzo-Gray algorithm for stippling of 2D Scalar fields, based on the research paper Stippling of 2D Scalar Fields by Görtler et al.

Team Members

  • David Bauer
  • Dominik Kanjuh

Project Structure

The project is structured as follows:

  • database/: Contains the sql files to fil the database as well as the initialization script
  • backend/: Contains the backend code, implemented in Node.js, Express.js and Typescript
  • frontend/: Contains the frontend code, implemented using TypeScript and WebGPU
  • docs/: Contains the documentation of the project generated by jsdoc which can also be found here
  • html/: Contains the web page for the hall of fame of computer graphics lab which leads the visualization 2 course at TU Wien. The page can be seen here

How to run the project

Each of the backend and frontend code has its own README file with instructions on how to run the code separately on your local machine.

Since the sql files to populate the database were too large for github we've stored them on onedrive. To download them you can just run the script /database/download-sql.sh

chmod +x database/download-sql.sh
./database/download-sql.sh

If you encounter errors while running the script, you can manually download the files from the onedrive links and put them in the /database/sql/ folder. Links:

After successfully downloading the sql files you can run the docker compose to start the project:

docker-compose up --build

How to generate the documentation

npm run docs:all

This will generate the documentation in the docs/ folder.

You can also generate the documentation for the backend and frontend separately by running:

npm run docs:backend
npm run docs:frontend

License

This project is licensed under the MIT License - see the LICENSE file for details.