aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2023-12-24 11:13:35 +0100
committerMattias Andrée <maandree@kth.se>2023-12-24 11:13:35 +0100
commit54dea0dcd9ec796c379cc66407ac21f1bf2a1db1 (patch)
tree864c2a4ebe045f9a1c02ba0ee7fe91852ab219f0
parentm (diff)
downloaddoughnut.py-54dea0dcd9ec796c379cc66407ac21f1bf2a1db1.tar.gz
doughnut.py-54dea0dcd9ec796c379cc66407ac21f1bf2a1db1.tar.bz2
doughnut.py-54dea0dcd9ec796c379cc66407ac21f1bf2a1db1.tar.xz
Add improved version
Signed-off-by: Mattias Andrée <maandree@kth.se>
-rw-r--r--doughnut2.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/doughnut2.py b/doughnut2.py
new file mode 100644
index 0000000..b01030a
--- /dev/null
+++ b/doughnut2.py
@@ -0,0 +1,29 @@
+ᅠ ,A,sin,cos,B,P=\
+ (lambda m,n:([print(("")
+ +"\x1b[H\n"+P(b))for(b)in[[(fn
+ (),b)for(z)in[80*0x30*[0]]for(b)in[
+ list(B)]for((o),(D),N) in[(o,D,N)for(j)in
+ range(0,628,4)for(i)in(range(0,628,2))for c,
+ d,e,f,g in[(S[i],C[j],S[j],C[i],C[j]+2)]for(D,
+ t)in[(1/(c*g*n+e*m+5), (c*g*m-e*n))]for(x,y)in[(
+ int(40+30*D*(f*g*m-t*n)),int(24+30*D*(f*g*n+t*m)))
+ ]for(o,N)in[(x*2+160*(y>>1)+(y&1),int(16*(m*(e*n-c*d
+ *m-e)-(c+f)*d*n)))]]if( D)>z[o]for (fn)in[lambda
+:z.__setitem__(o, D), lambda:b.__setitem__(o,
+0o351+max(N,0x0))]][ 0][1]]]and.05+A),0x00,
+__import__("math"). sin,__import__("math"
+).cos,24*(0x9e*' '+ '\n\n'),(lambda b:''
+.join((c[0]if(c:=b[y *0xa0+x*2:][:2])[0]==
+"\n"or(c [0])==c[1]== chr(32)else"\x1b[38"+
+ ";5;%im▄"%c[1]if c[0]== chr(32)else"\x1b[38;5;"+
+ "%im▀"%c[0]if" "==c[1]else("\x1b[48;5;%i;38;5;%im"+
+ "▄\x1b[m")%(c[0],c[1]))for(y)in(range(24))for(x)in
+ range(80))));S,C=[sin(i/100)for(i) in range(0,628
+ )],[cos(i/0x64)for(i)in range(0,0o1164)];print(
+ "\x1b[2"+"J");any(__import__("ti"+"me").sleep
+ (.025)for(X)in __import__(("iter"+"tools")+
+ ("")).repeat(0)if(A:=ᅠ(cos(A),sin(A))))
+ ##############################
+ ####### Mattias Andrée #######
+ ######### 2023 #########
+ #############