netatmo-algo/README.md
Fabien Freling 81463d9eb0 use raygui
2022-02-15 13:19:44 +01:00

1.8 KiB

Netatmo technical test

The subject is available here: Test Algo

TODO

  • document
  • dumb packing
  • add raygui
  • add box in gui by pressing down
  • delete box in gui by clicking
  • wrap stb_rect_pack?
  • change bbox api to origin + size

Installation

Notes

Question 1

This is a packing problem, as described on Wikipedia. Since this is NP-hard, we know the "exact" solution might be unreachable but we could find a solution that is good enough for our needs.

Question 2

Question 3

PNG support

I chose to support PNG files through the stb files: github.com/nothings/stb. I could have implemented basic image support with the PNM format but I think it is nicer to support common image formats with a simple library.

stb also implements a 2D rectangle packer: stb_rect_pack.h I added this file in the project in order to compare my implementation to another one.

3rd party libraries

I use 2 external libraries for better visualization:

  • stb files (for PNG)
  • raylib (for GUI)

I don't rely on them for the algorithm implementation and the core of the exercise doesn't rely on external libraries.

To avoid name collision, I created my own namespace freling.

References