{"id":1401,"date":"2020-12-06T19:56:18","date_gmt":"2020-12-06T18:56:18","guid":{"rendered":"http:\/\/labodemaths.fr\/WordPress3\/?p=1401"},"modified":"2020-12-14T15:22:39","modified_gmt":"2020-12-14T14:22:39","slug":"automates-de-wolfram","status":"publish","type":"post","link":"https:\/\/labodemaths.fr\/WordPress3\/automates-de-wolfram\/","title":{"rendered":"Automates de Wolfram"},"content":{"rendered":"\n<p>Reprendre le code :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># https:\/\/scienceetonnante.com\/2013\/10\/28\/les-automates-cellulaires-elementaires\/\n\nfrom PIL import Image\n\n\ndef creation_image(largeur,hauteur):\n    image = Image.new('RGB', (largeur,hauteur), (255,255,255))\n    # on met en noir le pixel du milieu de la premi\u00e8re ligne\n    image.putpixel((largeur\/\/2,0),(0,0,0))\n    image.save(\"MonImage.png\", \"PNG\")\n    return image\n\nimage=creation_image(501,250)\n\ndef regle_en_binaire(entier):\n    '''\n    creation de la regle \u00e0 partir d'un nbre entier\n    entier : int entre 0 et 255\n    return : tuple de longueur 8 donnant l'ecriture binaire de l'entier\n    >>>regle_en_binaire(12)\n    (0, 0, 0, 0, 1, 1, 0, 0)\n    >>>regle_en_binaire(128)\n    (1, 0, 0, 0, 0, 0, 0, 0)\n    '''\n    \n\ndef lecture_bloc_centre_pixel(img,x,y):\n    '''\n    d\u00e9terminer le nombre associ\u00e9 \u00e0 un bloc de 3 pixels centr\u00e9 sur celui\n    de coordonn\u00e9es (x,y) \n    en le convertissant en binaire\n    '''\n    pixel1=(img.getpixel((x-1,y))==(0,0,0))\n    pixel2=(img.getpixel((x,y))==(0,0,0))\n    pixel3=(img.getpixel((x+1,y))==(0,0,0))\n    return pixel1*4+pixel2*2+pixel3\n    \n\ndef evolution(regle):\n    '''\n    applique l'evolution selon la regle fix\u00e9e\n    '''\n    \n    regle_bin=regle_en_binaire(regle)\n    global image\n    image_retour=image.copy()\n    l,h=image.size\n    for y in range(h-1):\n        for x in range(1,l-1):\n            bloc=lecture_bloc_centre_pixel(image_retour,x,y)\n            resultat_evol=regle_bin[7-bloc]\n            if resultat_evol==1:\n                image_retour.putpixel((x,y+1),(0,0,0))\n    image_retour.show()\n    image_retour.save(\"regle\"+str(regle)+\".png\", \"PNG\")\n    \n                    \n                   <\/code><\/pre>\n\n\n\n<p class=\"has-text-color has-background has-vivid-cyan-blue-color has-light-green-cyan-background-color\">et compl\u00e9ter la fonction regle_en_binaire().<br>Tester ensuite votre programme avec la commande evolution(126) par exemple.<\/p>\n\n\n\n<figure class=\"wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-science-etonnante\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"znGUcqiTkm\"><a href=\"https:\/\/scienceetonnante.com\/2013\/10\/28\/les-automates-cellulaires-elementaires\/\">Les automates cellulaires \u00e9l\u00e9mentaires<\/a><\/blockquote><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"\u00ab\u00a0Les automates cellulaires \u00e9l\u00e9mentaires\u00a0\u00bb &#8212; Science \u00e9tonnante\" src=\"https:\/\/scienceetonnante.com\/2013\/10\/28\/les-automates-cellulaires-elementaires\/embed\/#?secret=znGUcqiTkm\" data-secret=\"znGUcqiTkm\" width=\"500\" height=\"282\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Reprendre le code : et compl\u00e9ter la fonction regle_en_binaire().Tester ensuite votre programme avec la commande&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/labodemaths.fr\/WordPress3\/automates-de-wolfram\/\">Read the post<span class=\"screen-reader-text\">Automates de Wolfram<\/span><\/a><\/div>\n","protected":false},"author":2,"featured_media":1403,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[57],"tags":[],"_links":{"self":[{"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/posts\/1401"}],"collection":[{"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/comments?post=1401"}],"version-history":[{"count":5,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/posts\/1401\/revisions"}],"predecessor-version":[{"id":1423,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/posts\/1401\/revisions\/1423"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/media\/1403"}],"wp:attachment":[{"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/media?parent=1401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/categories?post=1401"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/tags?post=1401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}