diff options
author | Alex AUVOLAT <alex.auvolat@ens.fr> | 2013-12-05 22:21:11 +0100 |
---|---|---|
committer | Alex AUVOLAT <alex.auvolat@ens.fr> | 2013-12-05 22:21:11 +0100 |
commit | a60e8a8eabde116cc3da920b637bc4f6f5b8b17c (patch) | |
tree | bd62368e27aa21884de036df150c139469f0fde6 /tests/exec/bresenham.cpp | |
parent | a01d09ca4730de4987d67e73a8ee895f77f57f9c (diff) | |
download | LPC-Projet-a60e8a8eabde116cc3da920b637bc4f6f5b8b17c.tar.gz LPC-Projet-a60e8a8eabde116cc3da920b637bc4f6f5b8b17c.zip |
Added tests.
Diffstat (limited to 'tests/exec/bresenham.cpp')
-rw-r--r-- | tests/exec/bresenham.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/exec/bresenham.cpp b/tests/exec/bresenham.cpp new file mode 100644 index 0000000..c92c13f --- /dev/null +++ b/tests/exec/bresenham.cpp @@ -0,0 +1,26 @@ +#include <iostream> + +void plot(int y) { + while (y-- > 0) std::cout << " "; + std::cout << "X\n"; +} + +// suppose 0 <= y2 <= x2 (premier octant) +void bresenham(int x2, int y2) { + int x = 0; + int y = 0; + int e = 2 * y2 - x2; + for (x = 0; x <= x2; x++) { + plot (y); + if (e < 0) + e = e + 2* y2; + else { + y++; + e = e + 2 * (y2 - x2); + } + } +} + +int main() { + bresenham(10, 6); +} |