3d ASCII-арт
Вот такая next-gen графика..
1:00 чтоб пропустить вступление.
Написано на чистом C, около 300 строк кода. Есть список вершин struct xyz в пространстве, который поэлементно двигается и поворачивается вокруг X,Y или Z. Есть список ребер между этими вершинами. Все это задается текстовиком, первое координатами, последнее номерами. Каждый раз строится проекция - список struct xy, для каждого {x,y}*=z/scale. Есть массив char, который каждый раз "чистится" пробелами, заполняется / | \ _ и выводится системным вызовом write. Заполняется он функцией для рисования линии с динамическим алгоритмом подбора символа, которая рисует поверх нарисованного, если этот кусок линии ближе, для чего ведется отдельный массив соразмерный массиву char, в который проставляются Z, вычисляемые в процессе движения рисовальной функции от одного конца к другому по Z концов за счет соответствия индексов списка по пространству и по плоскости. Когда вершина уходит взад за "наблюдателя", ребра от нее исчезают, ибо лень было разбивать.
Чтоб управлять, не нажимая ENTER каждый раз, отключается буферизация input в терминале: stty -icanon