#include #include #include "kblib/simple.h" void render(const int scale, const int width, const int height, std::ostream& os) { constexpr double pi = 3.14159265358979323846264338327950288419716939937510; constexpr double tau = 2 * pi; for (const double y : kblib::range(height * scale)) { const double lbias = std::cos(y * tau / scale); for (const double x : kblib::range(width * scale)) { if (std::cos(x * tau / scale) + lbias < 0) { os << "**"; } else { os << " "; } } os << '\n'; } } int sines_main(int, char**) { int scale = 0; std::cout << "Scale: "; std::cin >> scale; int width = 1; std::cout << "Horizontal count: "; std::cin >> width; int height = 1; std::cout << "Vertical count: "; std::cin >> height; std::cout << '\n'; render(scale, width, height, std::cout); return 0; }