PyGGB (test): Truchet triangles & symétries

[code]# truchet triangles 5/05/2023[br]from random import*[br]import time[br][br]# background:[br]A=Point(-100,-100, is_visible=False)[br]B=Point(100,-100, is_visible=False)[br]background=Polygon(A,B,4,opacity=1,color=[1,1,1])[br][br]def motif(n,m):[br] for i in range(n):[br] for j in range(m):[br] r=random()[br] col=[(i+j)/(2*n),(i+j)/(2*n)*r,r**2][br] if r<0.25 :[br] l=[Point(i,j,is_visible=False),Point(i+1,j,is_visible=False),Point(i+1,j+1,is_visible=False)][br] s=Polygon(l,color=col,opacity=1,line_thickness=0)[br] l=[Point(-i,j,is_visible=False),Point(-(i+1),j,is_visible=False),Point(-(i+1),j+1,is_visible=False)][br] s=Polygon(l,color=col,opacity=1,line_thickness=0)[br] l=[Point(i,-j,is_visible=False),Point(i+1,-j,is_visible=False),Point(i+1,-(j+1),is_visible=False)][br] s=Polygon(l,color=col,opacity=1,line_thickness=0)[br] l=[Point(-i,-j,is_visible=False),Point(-(i+1),-j,is_visible=False),Point(-(i+1),-(j+1),is_visible=False)][br] s=Polygon(l,color=col,opacity=1,line_thickness=0)[br] elif r<0.5 :[br] l=[Point(i,j,is_visible=False),Point(i,j+1,is_visible=False),Point(i+1,j,is_visible=False)][br] s=Polygon(l,color=col,opacity=1,line_thickness=0)[br] l=[Point(-i,j,is_visible=False),Point(-i,j+1,is_visible=False),Point(-(i+1),j,is_visible=False)][br] s=Polygon(l,color=col,opacity=1,line_thickness=0)[br] l=[Point(i,-j,is_visible=False),Point(i,-(j+1),is_visible=False),Point(i+1,-j,is_visible=False)][br] s=Polygon(l,color=col,opacity=1,line_thickness=0)[br] l=[Point(-i,-j,is_visible=False),Point(-i,-(j+1),is_visible=False),Point(-(i+1),-j,is_visible=False)][br] s=Polygon(l,color=col,opacity=1,line_thickness=0)[br] elif r<0.75 :[br] l=[Point(i+1,j,is_visible=False),Point(i+1,j+1,is_visible=False),Point(i,j+1,is_visible=False)][br] s=Polygon(l,color=col,opacity=1,line_thickness=0)[br] l=[Point(-(i+1),j,is_visible=False),Point(-(i+1),j+1,is_visible=False),Point(-i,j+1,is_visible=False)][br] s=Polygon(l,color=col,opacity=1,line_thickness=0)[br] l=[Point(i+1,-j,is_visible=False),Point(i+1,-(j+1),is_visible=False),Point(i,-(j+1),is_visible=False)][br] s=Polygon(l,color=col,opacity=1,line_thickness=0)[br] l=[Point(-(i+1),-j,is_visible=False),Point(-(i+1),-(j+1),is_visible=False),Point(-i,-(j+1),is_visible=False)][br] s=Polygon(l,color=col,opacity=1,line_thickness=0)[br] else:[br] l=[Point(i,j,is_visible=False),Point(i,j+1,is_visible=False),Point(i+1,j+1,is_visible=False)][br] s=Polygon(l,color=col,opacity=1,line_thickness=0) [br] l=[Point(-i,j,is_visible=False),Point(-i,j+1,is_visible=False),Point(-(i+1),(j+1),is_visible=False)][br] s=Polygon(l,color=col,opacity=1,line_thickness=0) [br] l=[Point(i,-j,is_visible=False),Point(i,-(j+1),is_visible=False),Point(i+1,-(j+1),is_visible=False)][br] s=Polygon(l,color=col,opacity=1,line_thickness=0)[br] l=[Point(-i,-j,is_visible=False),Point(-i,-(j+1),is_visible=False),Point(-(i+1),-(j+1),is_visible=False)][br] s=Polygon(l,color=col,opacity=1,line_thickness=0) [br] time.sleep(0.001)[br] [br]motif(10,7)[/code]
Variante
[code]col=[(i+j)/(2*n)*r**5,(i+j)/(2*n)*r**5,0.5][/code]
Variante:[br][code][/code]col=[(i+j)/(2*n)*r**5,(i+j)/(2*n)*r**5,r]
[url=https://geogebra.org/python/index.html?name=%23+truchet+triangles+5%2F05%2F2023&code=eJzNV0FvgjAUvvdXNNmlZVULm1myjMN22Hn3ZTGIRZ%2BW1rS4xH%2B%2FMnFKnMU4wZXQkr7X8r2P773QG1yYVToThRshUVMpLB4O%2BHAQ8egOZUbn2CRq4gbIl9oUAdqMuIBcIHSDx0m6mBq9UpNH9By%2FaVAF6YWcs%2B8Ogx19goWxFPFrIq2g6KVy8vnsNnXOcj3VijyzF3bP9DJJoVjHIUu11CZ%2BD5m7PihCE5HhXBeQEcVy%2Boiwa5k2GDCoMoSpIKqa3prmO9N2xbaZeBM1obVp99L4ncDtnA5IFCjK9p4Dw0wQRB%2B1BZBh88T70RDX9y%2Bb22rDBLA5O%2BCAVbbbsMnq7gN7HUXZ7A%2BTsuLO9Xt8SlBiVMwgXShhbczrgdfw9nyAeyUoeoJD57CB9fxMNpmJw0y759oDq%2BLyBI%2BOsAtZKf58wf%2BuDH86XFHufrzHs%2BGKUj%2BqhoZcuKbQG0F7UqE1kT%2F4VX5e6fbnQbvf4C%2B1uyEh2tX7%2BdW7MSm6YPz8At6cH5dXvxXt1faWpOPWtFrg2%2BPeB%2FwCZf4f%2FtOcXOo7I7086%2FStFGJJeJ%2FzsB4b2hw7Qs4e6BeE5%2FkP&autorun=false][size=150][b]Lien[/b][/size][/url]

Information: PyGGB (test): Truchet triangles & symétries