From 29f3563e497f7862ba9207a61300ec076850f6cb Mon Sep 17 00:00:00 2001 From: Extazy-b Date: Wed, 26 Mar 2025 00:45:33 +0300 Subject: [PATCH] ai v pizdu --- __pycache__/algrebra.cpython-310.pyc | Bin 0 -> 5778 bytes __pycache__/grad.cpython-310.pyc | Bin 0 -> 1030 bytes __pycache__/test.cpython-310.pyc | Bin 0 -> 359 bytes __pycache__/window.cpython-310.pyc | Bin 0 -> 1605 bytes grad.py | 25 +++++++++++++++++-------- test.py | 12 ++++++++++++ 6 files changed, 29 insertions(+), 8 deletions(-) create mode 100644 __pycache__/algrebra.cpython-310.pyc create mode 100644 __pycache__/grad.cpython-310.pyc create mode 100644 __pycache__/test.cpython-310.pyc create mode 100644 __pycache__/window.cpython-310.pyc create mode 100644 test.py diff --git a/__pycache__/algrebra.cpython-310.pyc b/__pycache__/algrebra.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bdfbb13c440f2fe975fe34626d411ad4c7766d54 GIT binary patch literal 5778 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 B5e)zU literal 0 HcmV?d00001 diff --git a/__pycache__/grad.cpython-310.pyc b/__pycache__/grad.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..953c057d62a51393c2098e2a21ea7dd37542598f GIT binary patch literal 1030 zcmZ`%OKTKC5bo~j?wQ>@3}H#KBt|@VSP#2GPRbGlbCg9;f-VTI+nsUZytZZniOhhK zoc$j;_y_zWLSH@Q?9G!^v*sn(&|gngS51BORcA{}ZHDVx|3~;$F!qy-o6ASzDemGO zf?gi`Yx#SSD($(Dtmdy335T;y@Z@^qCy{jaS;B%kajx(()#v@f>Iq zm=;F0O#3D4EnHv~))P+e+i97BlP|LP1a0-|D37g^&!eJrI?tlCESv^g9ziyyhi0+=w%@_RvO;K#zCJ$jN4;xAJ^*EjW(*% zhtkL)yNcPa{Yq8-M*&Y}J9sZD)n$lμ|3RtJ?X#oS(CRnWm5ic_pq>)B2vD_wb% z(P8VXmb3enL^bs2R% z7V<3a594e)iHqI-Rpfsu1O1~XE*ffcF7))SS-}#S%Lon8J7iHXtRVE1^J1GiRnkKM z(!nX1q@i_cn%RS**8-ZmR0W7OtP(WTJZz^)zEPp6MasHh Wm}KTCw!6f%plPhI6~5*@T>k^35X!#* literal 0 HcmV?d00001 diff --git a/__pycache__/test.cpython-310.pyc b/__pycache__/test.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..67d84ef9b095c0d0398f618b226cde0ae5f3be2c GIT binary patch literal 359 zcmYjNy-ve05WcfhRF#G)QVTmn7V-iSLV~#q3#!y1)K>UO>|nbCl9_-P;0a*lg&4dt z^%Y=%bE-=Hto!cYpL9A+M?kpx{i@%{f5&7OjFK}lJ0=n!@CD`|*d^qA$*HtOLcxIS zoXpONJiOEN2O>Ch%)>JZHYL7*#q^1L@ca-wW;ExyU=t|&h-#Y-%V5&SB|M})Dudv! zv_s0tY)t~N#z=pJoQJ)t>!cE4U@BG1z#FOZBw!b?3V0px{u9hT&Ho%1H@cODl}0^k@{R9*+@W}*Ff3awR*gLE Jx8wcB@DGvcO9%h} literal 0 HcmV?d00001 diff --git a/__pycache__/window.cpython-310.pyc b/__pycache__/window.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7e9505552d97afaa975fcfcb92652595b4de3560 GIT binary patch literal 1605 zcmZuxTW=dh6rM9PyIwnv8=$n|78wvUi)alzf|Vi)uND$KMJ?85XX4x1Yi2i>TI;7o zsw+{6SEwpEkNqk90E9HJJmoJ$JaEp~X=16Poo~;~nb|$xIp0jWzFuM2Zan&@^S95~ zzcjesI1awWo^2y2rXXRvfN!4gq1Y9`lu+`N?Mme-AK#vWpIBHr$JMMAf-RY7qHI8~Cl^)$2KeiRq*=y%%yQ`0B zcSccFU=z$58nHmQY~-d+bJ_0*Ih(^7dkQm{^MaiLumbJ2C^(|bS>Kx>599#P1kU&~ z==<~183Wc~I1Zk`KC)EeG?)r!WBN{mr|b#C5m&w{p+~x1Wfc_Sj05hQmsPotuk6Z< zEo{urS}Ww%JL;*tYyGb7b-Jq=r^rj#-y#OTAQY@m9XO}F&sd+&1x38iiA^r44$ra7 z1xFMwyc3+oRbJo6`p8X&+z8RW?d;o(1n|s5K`;_PYf}3$#k$ucrL_9GzCGce*DoME zr%0?YTD=4-_j^eamMk1wcx?SKZOE)2jmLVVtT#3|wtgIq4x`Mj#YRWDZl{M)5(?|- zLp{n35i&Os=yN7b^Mw*f)V7w6+Qal9)9pCv#e;WoE(;K9umQK=Gd|f`ilLdLag<~` z_f|KoXqNO#vAYc3LIW$w+LRO2fC9>zW6oPvM94~*w{el#M6kZniOzKhhGH=95jerV z3R7osdu();Y4ss`ofdrz^R*#fTf7n?37Gh~5Pw5sh9#!L<#=vS;CuGyn?cb@|stwOD{^f@6G*!7h)k39GCjRQVMtvEM$R#K>JD%zXnT5oD=8H zpMOyM>;BR>zi)2fwAmnd10gJ14=;_5Hgxx(ogR#osgir0z@?Q6;Bsr;K`WFlu@-vQ z^uSG>7QIh!mFx{HaW;-(eVOi0(4W;10;uvW*utc5gZyt&e~mU)Hcl$d?+$XjV(xyq zGbuHlZ)XxTf5_r!tarkS<@vz!p9j{WeorT literal 0 HcmV?d00001 diff --git a/grad.py b/grad.py index 66acc64..ace8b55 100644 --- a/grad.py +++ b/grad.py @@ -22,11 +22,16 @@ def rgb_to_hex(color): def main(wind): + wind.points = [(0, 0)] + wind.points + [(wind.width, wind.height)] + + [print(wind.points)] + L = interpol(wind.points) dL = L.diff() N = len(wind.points) perp = [] + for p in wind.points: k = dL.value(p[0]) if k==0: @@ -36,18 +41,21 @@ def main(wind): b = p[1] - k*p[0] perp.append(Poly([b, k])) - colors = [(0, Vector(0, 0, 0))] + colors = [] for i in range(N): colors.append((wind.points[i][0], Vector(randint(0, 255), randint(0, 255), randint(0, 255)))) - colors.append((width, Vector(255, 255, 255))) + #colors.append((width, Vector(255, 255, 255))) + print(colors) + + #colors = [(0, Vector(0, 0, 0))] + colors + [] + color_func = interpol(colors).tuple() - step = 0.5 + step = 0.1 for dx in range(round(width/step)): x=dx*step color = color_filter(comp.value(x) for comp in color_func) - print(x, color) """ k = dL.value(x) if k == 0: @@ -58,8 +66,9 @@ def main(wind): for y in range(width*2): wind.canvas.create_line(y/2, k*y/2+b, y/2+1, k*(y/2+1)+b, fill=rgb_to_hex(color)) """ - wind.canvas.create_line(x, L.value(x), x+step, L.value(x+step), fill=rgb_to_hex((color)), width=5) + wind.canvas.create_line(x, L.value(x), x+step, L.value(x+step), fill=rgb_to_hex((color)), width=10) + wind.points = wind.points[1:-2] for i in range(N): wind.canvas.create_oval(colors[i][0] - 3, L.value(colors[i][0]) - 3, colors[i][0] + 3, L.value(colors[i][0]) + 3, fill=rgb_to_hex(colors[i][1].tuple())) @@ -69,8 +78,8 @@ def main(wind): if __name__ == "__main__": title = 'Huy' - width = 1000 - height = 500 + width = 1200 + height = round(width*1080/1920) wind = window(title, width, height) def on_enter_pressed(event): @@ -78,4 +87,4 @@ if __name__ == "__main__": wind.bind("", on_enter_pressed) - wind.mainloop() \ No newline at end of file + wind.mainloop() diff --git a/test.py b/test.py new file mode 100644 index 0000000..07a0618 --- /dev/null +++ b/test.py @@ -0,0 +1,12 @@ +def mult(p, q): + n = len(p) - 1 + m = len(q) - 1 + p += [0]*m + q += [0]*n + result = [0]*(n+m+1) + for k in range(n+m+1): + for l in range(k+1): + result[k] += p[l]*q[k-l] + return result[::-1] + +print(mult([1, 1, 1, 1], [1, 1, 1]))