diff options
| author | Kirill Petrashin <kirill8201@yandex.ru> | 2026-06-22 16:49:25 +0300 |
|---|---|---|
| committer | Kirill Petrashin <kirill8201@yandex.ru> | 2026-06-22 16:49:25 +0300 |
| commit | b086f0123236a37d8199d72354bc401c9a3e5ca9 (patch) | |
| tree | a32ba9c36911a785b7399ea94ec415d2affc0a79 | |
| parent | 1f25222c5ca18e1b86462d06b6c2049a46ec86fa (diff) | |
| download | wafflestone-b086f0123236a37d8199d72354bc401c9a3e5ca9.tar.xz | |
Sine wave demo
| -rw-r--r-- | main.c | 23 |
1 files changed, 18 insertions, 5 deletions
@@ -10,14 +10,27 @@ int main(void) { Framebuffer fb = fb_new(term_width, term_height); fb_fill(fb, P_RED); - for (int i = 0; i < 10; i ++) { - fb.fb[i][i] = P_CYAN; + + char c; + const float k_x = 0.1; + const float k_t = 0.1; + size_t t = 0; + while(1) { + fb_fill(fb, P_RED); + + /* Sine wave */ + for (size_t x = 0; x < term_width; x++) { + size_t y = ((sin(k_x * x + k_t * t) + 1.0) / 2 * term_height / 2) + (size_t)(term_height / 4); + fb.fb[y][x] = P_CYAN; + } + fb_print(fb); - usleep(1000000); + + if (get_input(c) != 0 && c == 'q') { break; }; + + t++; } - char c; - get_input(c); term_cleanup(); } |
