there's ONE extra character at the end, so its not a perfect donut, but its close enough
put it in a gui like so, with the font as "Code" in the TextLabel & it should just work
All credits goes to Andy Sloane & his original code
| sin,cos,w=math | |
| .sin,math.cos,math.--$ | |
| floor;A,R,S=0,.0704,1760;C | |
| =(".,-~:;=!*#$@"):split("")b,z | |
| ={},{}while(1)do task.wait(.01)for | |
| i=0,S do z[i]=0 end for i=0,S do b[i | |
| ]=i%80==0 and"\n" or" " end V=6.28 B=A | |
| /2 for j=0,V,0.07 do for i = 0, V, .02 | |
| do c,d,e,f,g=sin (i),cos(j),sin(A | |
| ),sin(j),cos(A) h=d+2;D=1/(c*h* | |
| e+f*g+5);l,m,n= cos(i),cos(B)-- | |
| ,sin(B)t=c*h*g- f*e;x=w(40+30*D | |
| *(l*h*m-t*n))y=w(12+15*D*(l*h*n+t*m))o | |
| = w(x + 80 * y);N=w(8*((f*e-c*d*g)*m-c | |
| *d*e-f*g-l*d*n))+1 if 22>y and y>0-- | |
| and x>0 and 80>x and D> z[o]then z | |
| [o]=D b[o]=C[(N>1 and N or 1)] | |
| end;end;end;A+=R;script.-- | |
| Parent.Text=table.--~-. | |
| concat(b,"")end |
| sin, cos, w = | |
| math.sin, | |
| math.cos, | |
| math.floor | |
| A, R, S = 0, .0704, 1760 | |
| C = (".,-~:;=!*#$@"):split("") | |
| b, z = {}, {} | |
| while (1) do | |
| task.wait(.01) | |
| for i = 0, S do | |
| z[i] = 0 | |
| end | |
| for i = 0, S do | |
| b[i] = i % 80 == 0 and "\n" or " " | |
| end | |
| V = 6.28 | |
| B = A / 2 | |
| for j = 0, V, 0.07 do | |
| for i = 0, V, .02 do | |
| c, d, e, f, g = sin(i), cos(j), sin(A), sin(j), cos(A) | |
| h = d + 2 | |
| D = 1 / (c * h * e + f * g + 5) | |
| l, m, n = | |
| cos(i), | |
| cos(B), | |
| sin(B) | |
| t = c * h * g - f * e | |
| x = w(40 + 30 * D * (l * h * m - t * n)) | |
| y = w(12 + 15 * D * (l * h * n + t * m)) | |
| o = w(x + 80 * y) | |
| N = w(8 * ((f * e - c * d * g) * m - c * d * e - f * g - l * d * n)) + 1 | |
| if 22 > y and y > 0 and x > 0 and 80 > x and D > z[o] then | |
| z[o] = D | |
| b[o] = C[(N > 1 and N or 1)] | |
| end | |
| end | |
| end | |
| A += R | |
| script.Parent.Text = table.concat(b, "") | |
| end |
there's ONE extra character at the end, so its not a perfect donut, but its close enough
put it in a gui like so, with the font as "Code" in the TextLabel & it should just work
All credits goes to Andy Sloane & his original code