diff options
Diffstat (limited to 'bin')
-rw-r--r-- | bin/chilbert_obj.cpp | 54 | ||||
-rw-r--r-- | bin/chilbert_svg.cpp | 63 |
2 files changed, 0 insertions, 117 deletions
diff --git a/bin/chilbert_obj.cpp b/bin/chilbert_obj.cpp deleted file mode 100644 index 0f31fbd..0000000 --- a/bin/chilbert_obj.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/* - Copyright (C) 2018 David Robillard <d@drobilla.net> - - This program is free software: you can redistribute it and/or modify it under - the terms of the GNU General Public License as published by the Free Software - Foundation, either version 2 of the License, or (at your option) any later - version. - - This program is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - FOR A PARTICULAR PURPOSE. See the GNU General Public License for more - details. - - You should have received a copy of the GNU General Public License along with - this program. If not, see <https://www.gnu.org/licenses/>. -*/ - -#include "chilbert/chilbert.hpp" - -#include <array> -#include <cstdint> -#include <cstdio> -#include <cstdlib> - -int -main(int argc, char** argv) -{ - if (argc != 2) { - fprintf(stderr, "Usage: %s NUM_POINTS\n", argv[0]); - return 1; - } - - const unsigned long num_points = std::strtoul(argv[1], nullptr, 10); - if (num_points == 0 || num_points == ULONG_MAX) { - fprintf(stderr, "Usage: %s NUM_POINTS\n", argv[0]); - return 1; - } - - // Vertices - for (uint64_t i = 0; i < num_points; ++i) { - std::array<uint32_t, 3> point; - chilbert::index_to_coords(point, 16, 3, i); - printf("v %u %u %u\n", point[0], point[1], point[2]); - } - - // One polyline through all vertices - printf("\nl"); - for (unsigned i = 0; i < num_points - 1; ++i) { - printf(" %u", i + 1); - } - printf("\n"); - - return 0; -} diff --git a/bin/chilbert_svg.cpp b/bin/chilbert_svg.cpp deleted file mode 100644 index dd4a3d4..0000000 --- a/bin/chilbert_svg.cpp +++ /dev/null @@ -1,63 +0,0 @@ -/* - Copyright (C) 2018 David Robillard <d@drobilla.net> - - This program is free software: you can redistribute it and/or modify it under - the terms of the GNU General Public License as published by the Free Software - Foundation, either version 2 of the License, or (at your option) any later - version. - - This program is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - FOR A PARTICULAR PURPOSE. See the GNU General Public License for more - details. - - You should have received a copy of the GNU General Public License along with - this program. If not, see <https://www.gnu.org/licenses/>. -*/ - -#include "chilbert/chilbert.hpp" - -#include <array> -#include <cmath> -#include <cstdint> -#include <cstdio> -#include <cstdlib> - -int -main(int argc, char** argv) -{ - if (argc != 2) { - fprintf(stderr, "Usage: %s NUM_POINTS\n", argv[0]); - return 1; - } - - const unsigned long num_points = std::strtoul(argv[1], nullptr, 10); - if (num_points == 0 || num_points == ULONG_MAX) { - fprintf(stderr, "Usage: %s NUM_POINTS\n", argv[0]); - return 1; - } - - const uint32_t w = - uint32_t(sqrt(1 << uint32_t(ceil(log2(double(num_points)))))) - 1; - - // Header - printf("<svg xmlns='http://www.w3.org/2000/svg'" - " version='1.2' baseProfile='tiny' viewBox='0 0 %u %u'>\n", - w, - w); - printf("<desc>Hilbert Curve</desc>\n"); - printf("<polyline vector-effect='non-scaling-stroke' fill='none' " - "stroke='black' stroke-width='1' points='"); - - // One polyline through all vertices - for (uint64_t i = 0; i <= num_points; ++i) { - std::array<uint32_t, 2> point; - chilbert::index_to_coords(point, 32, 2, i); - printf("%u,%u ", point[0], point[1]); - } - - // Close off document - printf("' />\n</svg>\n"); - - return 0; -} |