Last active
June 16, 2017 13:29
-
-
Save missinglink/80303067c9eb1c12e2a9e91e65a033d2 to your computer and use it in GitHub Desktop.
ASCII-art Mandelbrot Set in pure SQL -- via https://sqlite.org/lang_with.html
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| WITH RECURSIVE | |
| xaxis(x) AS (VALUES(-2.0) UNION ALL SELECT x+0.05 FROM xaxis WHERE x<1.2), | |
| yaxis(y) AS (VALUES(-1.0) UNION ALL SELECT y+0.1 FROM yaxis WHERE y<1.0), | |
| m(iter, cx, cy, x, y) AS ( | |
| SELECT 0, x, y, 0.0, 0.0 FROM xaxis, yaxis | |
| UNION ALL | |
| SELECT iter+1, cx, cy, x*x-y*y + cx, 2.0*x*y + cy FROM m | |
| WHERE (x*x + y*y) < 4.0 AND iter<28 | |
| ), | |
| m2(iter, cx, cy) AS ( | |
| SELECT max(iter), cx, cy FROM m GROUP BY cx, cy | |
| ), | |
| a(t) AS ( | |
| SELECT group_concat( substr(' .+*#', 1+min(iter/7,4), 1), '') | |
| FROM m2 GROUP BY cy | |
| ) | |
| SELECT group_concat(rtrim(t),x'0a') FROM a; |
Author
missinglink
commented
Jun 16, 2017
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment