diff --git a/donuct-deof.c b/donuct-deof.c new file mode 100644 index 0000000..4f74921 --- /dev/null +++ b/donuct-deof.c @@ -0,0 +1,43 @@ +int main() { + float A = 0, B = 0; + float i, j; + int k; + float z[1760]; + char b[1760]; + printf("\x1b[2J"); + for(;;) { + memset(b,32,1760); + memset(z,0,7040); + for(j=0; j < 6.28; j += 0.07) { + for(i=0; i < 6.28; i += 0.02) { + float c = sin(i); + float d = cos(j); + float e = sin(A); + float f = sin(j); + float g = cos(A); + float h = d + 2; + float D = 1 / (c * h * e + f * g + 5); + float l = cos(i); + float m = cos(B); + float n = sin(B); + float t = c * h * g - f * e; + int x = 40 + 30 * D * (l * h * m - t * n); + int y= 12 + 15 * D * (l * h * n + t * m); + int o = x + 80 * y; + int N = 8 * ((f * e - c * d * g) * m - c * d * e - f * g - l * d * n); + if(22 > y && y > 0 && x > 0 && 80 > x && D > z[o]) { + z[o] = D; + b[o] = ".,-~:;=!*#$@"[N > 0 ? N : 0]; + } + } + } + printf("\x1b[H"); + for(k = 0; k < 1761; k++) { + putchar(k % 80 ? b[k] : 10); + A += 0.00004; + B += 0.00002; + } + usleep(30000); + } + return 0; +} \ No newline at end of file