-
-
Save tzudot/56ababacd488315c9d42 to your computer and use it in GitHub Desktop.
Mandelbrot plot in postgres
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 | |
| x(i) AS ( VALUES (0) | |
| UNION ALL SELECT i + 1 | |
| FROM x | |
| WHERE i < 101), | |
| Z(Ix, Iy, Cx, Cy, X, Y, I) AS ( | |
| SELECT | |
| Ix, | |
| Iy, | |
| X :: FLOAT, | |
| Y :: FLOAT, | |
| X :: FLOAT, | |
| Y :: FLOAT, | |
| 0 | |
| FROM | |
| (SELECT | |
| -2.2 + 0.031 * i, | |
| i | |
| FROM x) AS xgen(x, ix) CROSS JOIN | |
| (SELECT | |
| -1.5 + 0.031 * i, | |
| i | |
| FROM x) AS ygen(y, iy) | |
| UNION ALL | |
| SELECT | |
| Ix, | |
| Iy, | |
| Cx, | |
| Cy, | |
| X * X - Y * Y + Cx AS X, | |
| Y * X * 2 + Cy, | |
| I + 1 | |
| FROM Z | |
| WHERE X * X + Y * Y < 16.0 | |
| AND I < 27), | |
| Zt (Ix, Iy, I) AS ( | |
| SELECT | |
| Ix, | |
| Iy, | |
| MAX(I) AS I | |
| FROM Z | |
| GROUP BY Iy, Ix | |
| ORDER BY Iy, Ix | |
| ) | |
| SELECT array_to_string( | |
| array_agg(SUBSTRING( | |
| ' .,,,-----++++%%%%@@@@#### ', GREATEST(I, 1), | |
| 1 | |
| )), '' | |
| ) | |
| FROM Zt | |
| GROUP BY Iy | |
| ORDER BY Iy; |
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
| array_to_string | |
| -------------------------------------------------------------------------------------------------------- | |
| .................................................................................... | |
| ....................................................................................... | |
| ......................................................................................... | |
| ........................................................................................... | |
| ....................................................,,,,,,,,,................................. | |
| ................................................,,,,,,,,,,,,,,,,,,............................. | |
| ..............................................,,,,,,,,,,,,,,,,,,,,,,,,.......................... | |
| ............................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................ | |
| ..........................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................... | |
| .........................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................... | |
| ........................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................... | |
| .......................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................. | |
| .......................................,,,,,,,,,,,,,,,,,,,,,,,,--,,,,,,,,,,,,,,,,,,,,................ | |
| ......................................,,,,,,,,,,,,,,,,,,,,,,,,,,-+--,,,,,,,,,,,,,,,,,,,............... | |
| ....................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,,,,,,,,,,,,,.............. | |
| ...................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,--- -----,,,,,,,,,,,,,,,,,............. | |
| .................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---++--++,,,,,,,,,,,,,,,,,,............ | |
| ................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----%++---,,,,,,,,,,,,,,,,,............ | |
| ..............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----+%----,,,,,,,,,,,,,,,,,,........... | |
| .............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----- %%+----,,,,,,,,,,,,,,,,,,.......... | |
| ...........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---%-+% ----,,,,,,,,,,,,,,,,,,,......... | |
| ..........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---+ +## %+%---,,,,,,,,,,,,,,,,,,......... | |
| ........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----# # +---,,,,,,,,,,,,,,,,,,........ | |
| .......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------% %-----,,,,,,,,,,,,,,,,,........ | |
| .....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------+ ------,,,,,,,,,,,,,,,,,....... | |
| ....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------+@ +-----------,,,,,,,,,,,,....... | |
| ..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----@-------++ ++-----------,,,,,,,,,,,,...... | |
| .................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--+@% ---+ +@%%@ %%+@+@%------+-,,,,,,,,,,,...... | |
| ................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---- # ++% % @-----++--,,,,,,,,,,,..... | |
| ..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----+ % %%++ %+%@-,,,,,,,,,,,..... | |
| .............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----+# #% ++-,,,,,,,,,,,,.... | |
| ............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------+ @---,,,,,,,,,,,,.... | |
| ..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------++% ---,,,,,,,,,,,,.... | |
| .........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------+ + %+---,,,,,,,,,,,,,... | |
| ........,,,,,,,,,,,,,,,,,,,,,--------------------@ +----,,,,,,,,,,,,... | |
| .......,,,,,,,,,,,,,,,,,,,,,,- +-----------------+ ----,,,,,,,,,,,,... | |
| .......,,,,,,,,,,,,,,,,,,,,,--++------+---------+% +++--,,,,,,,,,,,,.. | |
| ......,,,,,,,,,,,,,,,,,,,,,,--%+-----++--------- #+-,,,,,,,,,,,,.. | |
| .....,,,,,,,,,,,,,,,,,,,,,,----#%++--+@ -+-----+% --,,,,,,,,,,,,.. | |
| .....,,,,,,,,,,,,,,,,,,,,,,-----+## ++@ + +----% +--,,,,,,,,,,,,,.. | |
| ....,,,,,,,,,,,,,,,,,,,,,,------+@ @ @@++++# +--,,,,,,,,,,,,,.. | |
| ....,,,,,,,,,,,,,,,,,,,,,-------% #++% -,,,,,,,,,,,,,.. | |
| ...,,,,,,,,,,,,,,,,,,,,,------++%# %%@ %-,,,,,,,,,,,,,,. | |
| ...,,,,,,,,,,,,,,,,,,,--------+ % +--,,,,,,,,,,,,,,. | |
| ...,,,,,,,,,,,,,,,,,,-----+--++@ # --,,,,,,,,,,,,,,. | |
| ..,,,,,,,,,,,,,,,,,-------%+++% @--,,,,,,,,,,,,,,,. | |
| ..,,,,,,,,,,,-------------+ @#@ ---,,,,,,,,,,,,,,,. | |
| ..,,,,,,,,,---@--------@-+% +---,,,,,,,,,,,,,,,. | |
| ..,,,,,------- +-++++-+%%% +----,,,,,,,,,,,,,,,. | |
| ..,,,,,,------%--------++% +----,,,,,,,,,,,,,,,. | |
| ..,,,,,,,,,,--+----------++# ---,,,,,,,,,,,,,,,. | |
| ..,,,,,,,,,,,,------------+@@@% +--,,,,,,,,,,,,,,,. | |
| ..,,,,,,,,,,,,,,,,,------- +++% %--,,,,,,,,,,,,,,,. | |
| ...,,,,,,,,,,,,,,,,,,---------+@ @ --,,,,,,,,,,,,,,. | |
| ...,,,,,,,,,,,,,,,,,,,,------- # %@ +--,,,,,,,,,,,,,,. | |
| ...,,,,,,,,,,,,,,,,,,,,,-------++@ %+ %-,,,,,,,,,,,,,,. | |
| ....,,,,,,,,,,,,,,,,,,,,,------- %++% %-,,,,,,,,,,,,,.. | |
| ....,,,,,,,,,,,,,,,,,,,,,,------+# %# #@ ++++ +--,,,,,,,,,,,,,.. | |
| .....,,,,,,,,,,,,,,,,,,,,,,-----+ %%++% +@+----+ +--,,,,,,,,,,,,,.. | |
| .....,,,,,,,,,,,,,,,,,,,,,,,---%+++--+#+--------% #--,,,,,,,,,,,,.. | |
| ......,,,,,,,,,,,,,,,,,,,,,,--++-----%%--------- @#--,,,,,,,,,,,,.. | |
| .......,,,,,,,,,,,,,,,,,,,,,---------------------+@ +-++,,,,,,,,,,,,... | |
| ........,,,,,,,,,,,,,,,,,,,,,--------------------+ ----,,,,,,,,,,,,... | |
| .........,,,,,,,,,,,,,,,,,,,,----,,,------------- #+----,,,,,,,,,,,,... | |
| ..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------+ + +---,,,,,,,,,,,,,... | |
| ...........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------+%# #---,,,,,,,,,,,,.... | |
| ............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------+# @ @---,,,,,,,,,,,,.... | |
| .............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----+# + @--,,,,,,,,,,,,.... | |
| ..............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---+% %+@ %+-+ +++%-,,,,,,,,,,,..... | |
| ................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----% %@++ # % -----++-,,,,,,,,,,,,..... | |
| .................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-- ++ ---+ + +%@ %++++++------%-,,,,,,,,,,,...... | |
| ...................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---- -------++ +------------,,,,,,,,,,,,...... | |
| ....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----------+% +--------,,,,,,,,,,,,,,,....... | |
| ......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------+# -----,,,,,,,,,,,,,,,,,,....... | |
| .......................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-------+ #----,,,,,,,,,,,,,,,,,,........ | |
| .........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----+% %#---,,,,,,,,,,,,,,,,,,,........ | |
| ..........................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---+%+%@ %+%%--,,,,,,,,,,,,,,,,,,......... | |
| ............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---+-+% %----,,,,,,,,,,,,,,,,,,.......... | |
| .............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----+%@+---,,,,,,,,,,,,,,,,,,,.......... | |
| ...............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----+%----,,,,,,,,,,,,,,,,,,........... | |
| ................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-----%+ +--,,,,,,,,,,,,,,,,,............ | |
| ..................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---++----,,,,,,,,,,,,,,,,,............. | |
| ...................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,---@-----,,,,,,,,,,,,,,,,,............. | |
| .....................................,,,,,,,,,,,,,,,,,,,,,,,,,,,-----,,,,,,,,,,,,,,,,,,,.............. | |
| .....................................,,,,,,,,,,,,,,,,,,,,,,,,,,--%,,,,,,,,,,,,,,,,,,,,............... | |
| .......................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................. | |
| ........................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................. | |
| ........................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................... | |
| .........................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.................... | |
| ..........................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...................... | |
| ............................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,........................ | |
| .............................................,,,,,,,,,,,,,,,,,,,,,,,,.......................... | |
| ................................................,,,,,,,,,,,,,,,,,............................. | |
| .....................................................,,,,.................................... | |
| ........................................................................................... | |
| ......................................................................................... | |
| ...................................................................................... | |
| .................................................................................... | |
| ................................................................................. | |
| .............................................................................. | |
| ........................................................................... | |
| ........................................................................ | |
| (102 rows) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment