@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@%%%%%%####%%%%%@@@@
@@@@@@@@@@%%%###*********###%%%%%
@@@@@@@%%%%#***++=======+***###%%
@@@@@%%%%##**+++=-::.:::--=++**##%
%@%%%%%###**+=-::. ..:-==++**##
%%%%%%###**+==: *--==++***##
#%%%####**++=-+ @@**********
########***+++#%@@@@@@@@%%#####*+
*######*****#%@@@@@@@@@@@%%##*=
********####%@@@@@@@@@@%%##*
*****####%%@@@@@@@@@%%#+
++***####%%%%%%%%#*
-=++++***++=
Orbit Ring
A torus drawn in characters, turning on two axes.
How it was made
The classic spinning donut, rebuilt with a quieter ramp and a slower turn so the shading reads. Points on a torus are projected, depth-sorted and lit by a fixed lamp. Nothing here is drawn by hand: the code is under two hundred lines.
More like this
++**##%%@@@@@@@@@@@%%##**++=--::.. ..::--==++*##%%%@@@@@@@@@@%%%##*++==-::...
*##%%@@@@@@@@@@@%%##**++=--::.. ...::-==++*##%%%@@@@@@@@@@%%%##*++==--:... .
%%@@@@@@@@@@@%%%#**++==-::... ...::-==++**#%%%@@@@@@@@@@@%%##**+==--::.. ..::
@@@@@@@@@@%%%##**+==--::.. ..::--=++**##%%@@@@@@@@@@@%%##**++=--::.. ..::--=
@@@@@@@@%%##**++=--::.. ...:--==++*##%%%@@@@@@@@@@%%%##*++==--:... ..::--=++
@@@@@@%%##**++=--::.. ..::--==+**##%%@@@@@@@@@@@%%%#**++==-::... ...::-==++*#
@@@@%%##**++=--::.. ..::--==++*##%%%@@@@@@@@@@%%%##*++==-::... ...::--=++**##
@@%%%##**+==--::.. ..::--=++**##%%@@@@@@@@@@@%%##**++=--::.. ..::--==+**##%%
@%%%##*++==--:... ..::--=++**##%%@@@@@@@@@@@%%##**+==--::.. ..::--==+**##%%@
@%%##**++=--::.. ..::--==+**##%%@@@@@@@@@@@%%%#**++==-::... ...::-==++*##%%%@
@%%##**+==--::.. ..::--==+**##%%@@@@@@@@@@@%%##**++=--::.. ...:--==++*##%%%@
@%%##**++=--::.. ..::--==++*##%%%@@@@@@@@@@%%%##*++==-::... ...::--=++**##%%@
@@%%##**+==--::.. ..::--==+**##%%@@@@@@@@@@@%%##**++=--::... ...::-==++*##%%%
@@@%%##**++=--::.. ..::--==++*##%%%@@@@@@@@@@%%%##*++==-::... ...::--=++**##%
@@@@@%%##**+==--::.. ..::--=++**##%%@@@@@@@@@@@%%##**++=--::.. ..::--==++*##
@@@@@@@%%##**+==--::.. ..::--=++**##%%@@@@@@@@@@@%%##**++=--::.. ..::--==++*
@@@@@@@@@%%##**++=--::.. ..::--==+**##%%%@@@@@@@@@@%%%##*++==-::... ...::-==+
%@@@@@@@@@@%%%##*++==--::.. ..::--=++**##%%@@@@@@@@@@@%%##**++=--::.. ..::--
#%%@@@@@@@@@@@%%%##*++==-::... ...::-==++**#%%%@@@@@@@@@@@%%##**+==--::.. ..:
**##%%@@@@@@@@@@@%%##**++=--::... ...::-==++*##%%%@@@@@@@@@@%%%##**+==--::..
==+**##%%@@@@@@@@@@@%%##**++=--::.. ...::-==++*##%%%@@@@@@@@@@%%%##*++==--:...
:--=++**##%%@@@@@@@@@@@%%##**++=--::.. ..::--==++*##%%%@@@@@@@@@@%%%##*++==-::...
..::--=++**##%%@@@@@@@@@@@%%##**+==--::.. ..::--==+**##%%@@@@@@@@@@@%%##**++=--::...
...:--==++*##%%%@@@@@@@@@@%%%##*++==--:... ..::--=++**##%%@@@@@@@@@@@%%##**+==--::..
..::--=++**##%%@@@@@@@@@@@%%##**+==--::.. ..::--==+**##%%@@@@@@@@@@@%%##**++==-::
..::--=++**##%%@@@@@@@@@@@%%##**++=--::.. ..::--==+**##%%@@@@@@@@@@@%%%#**++==-
...::-==++**#%%%@@@@@@@@@@@%%##**+==--::.. ..::--=++**##%%@@@@@@@@@@@%%##**++=
..::--=++**##%%@@@@@@@@@@@%%##**++=--::.. ..::--==+**##%%%@@@@@@@@@@%%%##*++
..::--=++**##%%@@@@@@@@@@@%%##**++=--::.. ..::--==+**##%%@@@@@@@@@@@%%%#**+
..::--==+**##%%%@@@@@@@@@@%%%##*++==-::... ...::-==++**##%%@@@@@@@@@@@%%##**
..::--==+**##%%@@@@@@@@@@@%%%##*++==-::... ...::-==++**#%%%@@@@@@@@@@@%%##**
..::--=++**##%%@@@@@@@@@@@%%##**+==--::.. ..::--==+**##%%@@@@@@@@@@@%%##**+
..::--=++**##%%@@@@@@@@@@@%%##**++=--::.. ..::--==+**##%%@@@@@@@@@@@%%%#**++
...::-==++*##%%%@@@@@@@@@@%%%##*++==--::.. ..::--=++**##%%@@@@@@@@@@@%%##**+==
...::--=++**##%%@@@@@@@@@@@%%##**+==--::.. ..::--==+**##%%@@@@@@@@@@@%%##**++=--
...::-==++**#%%%@@@@@@@@@@@%%##**+==--::.. ..::--=++**##%%@@@@@@@@@@@%%##**++=--::
..::--==+**##%%@@@@@@@@@@@%%##**++==-::... ...::-==++*##%%%@@@@@@@@@@%%%##**+==--::..
..::-==++*##%%%@@@@@@@@@@%%%##**+==--::.. ..::--=++**##%%@@@@@@@@@@@%%##**++=--::..
:--=++**##%%@@@@@@@@@@@%%##**+==--::.. ..::--==+**##%%@@@@@@@@@@@%%##**++=--::..
=++**##%%@@@@@@@@@@@%%##**+==--::.. ..::--==+**##%%@@@@@@@@@@@%%##**++==-::... =-------===+++***********+++====------:::::::::::::::::::::------====+++***********+++===------- ------====++**********+++===-----:::::::::::::::-:::::::::::::::-----===+++**********++====----- -----===+++*********+++===----:::::::-----------------------:::::::----===+++*********+++===---- ----===++*********+++==----::::::-----=======+++++++=======-----::::::----==+++*********++===--- --===+++********+++==---::::::----===+++++*************+++++===----::::::---==+++********+++===- -===+++********++==---:::::----==+++*****###############*****+++==----:::::---==++********+++=== ===+++*******+++==---::::---==+++***#########################***+++==---::::---==+++*******+++== ==++********++==---::::---==++***###############################***++==---::::---==++********++= =+++*******++==---::::--==++**###########******+++******###########**++==--::::---==++*******+++ +++*******++==--::::---==+**#########***+++===========+++***#########**+==---::::--==++*******++ ++*******++==--::::--==++**#######**++===---:::::::::---===++**#######**++==--::::--==++*******+ +*******++==--::::--==+**#######**++=---:::...........:::---=++**#######**+==--::::--==++******* +******++==---:::--==+**######**++=--::...................::--=++**######**+==--:::---==++****** *******++==--:::--==+**######**+=--::.......:::::::::.......::--=+**######**+==--:::--==++****** ******++==--::::--=++*######*++=-::......::---=====---::......::-=++*######*++=--::::--==++***** ******++==--:::--==+**#####**+=-::....::--=+++*****+++=--::....::-=+**#####**+==--:::--==++***** ******+==--::::--=+**#####**+=-::....::-=+**##%%%%%##**+=-::....::-=+**#####**+=--::::--==+***** *****++==--:::--==+**#####*+=--:....::-=+*#%%@@@@@@@%%#*+=-::....:--=+*#####**+==--:::--==++**** *****++==--:::--=++*######*+=-::...::-=+*#%@@@@@@@@@@@%#*+=-::...::-=+*######*++=--:::--==++**** *****++=---:::--=++*#####**+=-:....:-=+*#%@@@@%###%@@@@%#*+=-:....:-=+**#####*++=--:::---=++**** *****++=---:::--=++*#####**+=-:....:-=+*#%@@@%#*+*#%@@@%#*+=-:....:-=+**#####*++=--:::---=++**** *****++=---:::--=++*#####**+=-:....:-=+*#%@@@@%###%@@@@%#*+=-:....:-=+**#####*++=--:::---=++**** *****++==--:::--=++*######*+=-::...::-=+*#%@@@@@@@@@@@%#*+=-::...::-=+*######*++=--:::--==++**** *****++==--:::--==+**#####*+=--:....::-=+*#%%@@@@@@@%%#*+=-::....:--=+*#####**+==--:::--==++**** ******+==--::::--=+**#####**+=-::....::-=+**##%%%%%##**+=-::....::-=+**#####**+=--::::--==+***** ******++==--:::--==+**#####**+=-::....::--=+++*****+++=--::....::-=+**#####**+==--:::--==++***** ******++==--::::--=++*######*++=-::......::---=====---::......::-=++*######*++=--::::--==++***** *******++==--:::--==+**######**+=--::.......:::::::::.......::--=+**######**+==--:::--==++****** +******++==---:::--==+**######**++=--::...................::--=++**######**+==--:::---==++****** +*******++==--::::--==+**#######**++=---:::...........:::---=++**#######**+==--::::--==++******* ++*******++==--::::--==++**#######**++===---:::::::::---===++**#######**++==--::::--==++*******+ +++*******++==--::::---==+**#########***+++===========+++***#########**+==---::::--==++*******++ =+++*******++==---::::--==++**###########******+++******###########**++==--::::---==++*******+++ ==++********++==---::::---==++***###############################***++==---::::---==++********++= ===+++*******+++==---::::---==+++***#########################***+++==---::::---==+++*******+++== -===+++********++==---:::::----==+++*****###############*****+++==----:::::---==++********+++=== --===+++********+++==---::::::----===+++++*************+++++===----::::::---==+++********+++===- ----===++*********+++==----::::::-----=======+++++++=======-----::::::----==+++*********++===--- -----===+++*********+++===----:::::::-----------------------:::::::----===+++*********+++===---- ------====++**********+++===-----:::::::::::::::-:::::::::::::::-----===+++**********++====-----
Commission visuals in this style
Product renders, hero videos and brand visuals for your own products and brands.