DanielS/Wireworld

Explore the Wireworld Turing-complete cellular automaton

Contributed By: Daniel Sanchez

Installation Instructions

To install this paclet in your Wolfram Language environment, evaluate this code:
PacletInstall["DanielS/Wireworld"]

Paclet Guide

Examples

Basic Examples (2) 

Evolve a Wireworld state for 2 steps:

In[1]:=
InterpretationBox[FrameBox[TagBox[TooltipBox[PaneBox[GridBox[List[List[GraphicsBox[List[Thickness[0.015384615384615385`], StyleBox[List[FilledCurveBox[List[List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]]], List[List[List[19.29685914516449`, 56.875006675720215`], List[32.49997329711914`, 64.49218791723251`], List[45.70308744907379`, 56.875006675720215`], List[32.49997329711914`, 49.257825434207916`], List[19.29685914516449`, 56.875006675720215`]], List[List[21.328107476234436`, 56.875006675720215`], List[32.49997329711914`, 63.32422015108166`], List[43.671839118003845`, 56.875006675720215`], List[32.49997329711914`, 50.42579283714326`], List[21.328107476234436`, 56.875006675720215`]], List[List[33.00778537988663`, 33.26174482703209`], List[33.00778537988663`, 48.496107310056686`], List[46.21089953184128`, 56.113288551568985`], List[46.21089953184128`, 40.87892606854439`], List[33.00778537988663`, 33.26174482703209`]]]]], List[FaceForm[RGBColor[0.7019607843137254`, 0.6039215686274509`, 0.788235294117647`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]]], List[List[List[31.992161214351654`, 33.26174482703209`], List[18.789047062397003`, 40.87892606854439`], List[18.789047062397003`, 56.113288551568985`], List[31.992161214351654`, 48.496107310056686`], List[31.992161214351654`, 33.26174482703209`]]]]], List[FaceForm[RGBColor[0.5372549019607843`, 0.403921568627451`, 0.6745098039215687`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]]], List[List[List[17.77342289686203`, 8.886764854192734`], List[4.570308744907379`, 16.503946095705032`], List[4.570308744907379`, 31.73830857872963`], List[17.77342289686203`, 24.12112733721733`], List[17.77342289686203`, 8.886764854192734`]], List[List[16.757798731327057`, 10.664107143878937`], List[5.585932910442352`, 17.113319045306525`], List[5.585932910442352`, 29.960966289043427`], List[16.757798731327057`, 23.511754387615838`], List[16.757798731327057`, 10.664107143878937`]], List[List[31.484349131584167`, 32.50002670288086`], List[18.281234979629517`, 40.11720794439316`], List[5.078120827674866`, 32.50002670288086`], List[18.281234979629517`, 24.88284546136856`], List[31.484349131584167`, 32.50002670288086`]]]]], List[FaceForm[RGBColor[0.6352941176470588`, 0.7333333333333333`, 0.8313725490196079`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]]], List[List[List[31.992161214351654`, 31.73830857872963`], List[18.789047062397003`, 24.12112733721733`], List[18.789047062397003`, 8.886764854192734`], List[31.992161214351654`, 16.503946095705032`], List[31.992161214351654`, 31.73830857872963`]]]]], List[FaceForm[RGBColor[0.2901960784313726`, 0.40784313725490196`, 0.5764705882352941`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]]], List[List[List[47.22652369737625`, 8.886764854192734`], List[47.22652369737625`, 24.12112733721733`], List[60.4296378493309`, 31.73830857872963`], List[60.4296378493309`, 16.503946095705032`], List[47.22652369737625`, 8.886764854192734`]], List[List[48.242147862911224`, 10.664107143878937`], List[48.242147862911224`, 23.511754387615838`], List[59.41401368379593`, 29.960966289043427`], List[59.41401368379593`, 17.113319045306525`], List[48.242147862911224`, 10.664107143878937`]], List[List[33.515597462654114`, 32.50002670288086`], List[46.718711614608765`, 40.11720794439316`], List[59.921825766563416`, 32.50002670288086`], List[46.718711614608765`, 24.88284546136856`], List[33.515597462654114`, 32.50002670288086`]]]]], List[FaceForm[RGBColor[0.6`, 0.6`, 0.37254901960784315`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]]], List[List[List[33.00778537988663`, 31.73830857872963`], List[33.00778537988663`, 16.503946095705032`], List[46.21089953184128`, 8.886764854192734`], List[46.21089953184128`, 24.12112733721733`], List[33.00778537988663`, 31.73830857872963`]]]]], List[FaceForm[RGBColor[0.396078431372549`, 0.6039215686274509`, 0.30196078431372547`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]]], List[List[List[5.585932910442352`, 35.03908711671829`], List[5.585932910442352`, 47.88673242330583`], List[16.757798731327057`, 54.33594626188278`], List[16.757798731327057`, 41.488300955295244`], List[5.585932910442352`, 35.03908711671829`]], List[List[4.570308744907379`, 33.26174482703209`], List[4.570308744907379`, 48.496107310056686`], List[17.77342289686203`, 56.113288551568985`], List[17.77342289686203`, 40.87892606854439`], List[4.570308744907379`, 33.26174482703209`]], List[List[60.4296378493309`, 33.26174482703209`], List[47.22652369737625`, 40.87892606854439`], List[47.22652369737625`, 56.113288551568985`], List[60.4296378493309`, 48.496107310056686`], List[60.4296378493309`, 33.26174482703209`]], List[List[59.41401368379593`, 35.03908711671829`], List[48.242147862911224`, 41.488300955295244`], List[48.242147862911224`, 54.33594626188278`], List[59.41401368379593`, 47.88673242330583`], List[59.41401368379593`, 35.03908711671829`]], List[List[19.29685914516449`, 8.125046730041504`], List[32.49997329711914`, 15.742227971553802`], List[45.70308744907379`, 8.125046730041504`], List[32.49997329711914`, 0.5078654885292053`], List[19.29685914516449`, 8.125046730041504`]], List[List[21.328107476234436`, 8.125046730041504`], List[32.49997329711914`, 14.574258631469093`], List[43.671839118003845`, 8.125046730041504`], List[32.49997329711914`, 1.6758348286139153`], List[21.328107476234436`, 8.125046730041504`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[7.109369158744812`, 32.50002670288086`], List[7.109369158744812`, 31.097747524374427`], List[5.972591313425198`, 29.960966289043427`], List[4.570308744907379`, 29.960966289043427`], List[3.168024481383867`, 29.960966289043427`], List[2.0312483310699463`, 31.097747524374427`], List[2.0312483310699463`, 32.50002670288086`], List[2.0312483310699463`, 33.90230975568602`], List[3.168024481383867`, 35.03908711671829`], List[4.570308744907379`, 35.03908711671829`], List[5.972591313425198`, 35.03908711671829`], List[7.109369158744812`, 33.90230975568602`], List[7.109369158744812`, 32.50002670288086`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[20.82029539346695`, 56.36719459295273`], List[20.82029539346695`, 54.96491250872225`], List[19.683518032434677`, 53.828134179115295`], List[18.281234979629517`, 53.828134179115295`], List[16.878951926824357`, 53.828134179115295`], List[15.742174565792084`, 54.96491250872225`], List[15.742174565792084`, 56.36719459295273`], List[15.742174565792084`, 57.76947716147055`], List[16.878951926824357`, 58.90625500679016`], List[18.281234979629517`, 58.90625500679016`], List[19.683518032434677`, 58.90625500679016`], List[20.82029539346695`, 57.76947716147055`], List[20.82029539346695`, 56.36719459295273`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[20.82029539346695`, 40.625020027160645`], List[20.82029539346695`, 39.222736974355485`], List[19.683518032434677`, 38.08595961332321`], List[18.281234979629517`, 38.08595961332321`], List[16.878951926824357`, 38.08595961332321`], List[15.742174565792084`, 39.222736974355485`], List[15.742174565792084`, 40.625020027160645`], List[15.742174565792084`, 42.027303079965804`], List[16.878951926824357`, 43.16408044099808`], List[18.281234979629517`, 43.16408044099808`], List[19.683518032434677`, 43.16408044099808`], List[20.82029539346695`, 42.027303079965804`], List[20.82029539346695`, 40.625020027160645`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[20.82029539346695`, 24.375033378601074`], List[20.82029539346695`, 22.97275420009464`], List[19.683518032434677`, 21.83597296476364`], List[18.281234979629517`, 21.83597296476364`], List[16.878951926824357`, 21.83597296476364`], List[15.742174565792084`, 22.97275420009464`], List[15.742174565792084`, 24.375033378601074`], List[15.742174565792084`, 25.777316431406234`], List[16.878951926824357`, 26.914093792438507`], List[18.281234979629517`, 26.914093792438507`], List[19.683518032434677`, 26.914093792438507`], List[20.82029539346695`, 25.777316431406234`], List[20.82029539346695`, 24.375033378601074`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[20.82029539346695`, 8.63285881280899`], List[20.82029539346695`, 7.230591257198739`], List[19.683518032434677`, 6.093798398971558`], List[18.281234979629517`, 6.093798398971558`], List[16.878951926824357`, 6.093798398971558`], List[15.742174565792084`, 7.230591257198739`], List[15.742174565792084`, 8.63285881280899`], List[15.742174565792084`, 10.035130242717969`], List[16.878951926824357`, 11.171919226646423`], List[18.281234979629517`, 11.171919226646423`], List[19.683518032434677`, 11.171919226646423`], List[20.82029539346695`, 10.035130242717969`], List[20.82029539346695`, 8.63285881280899`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[35.03903371095657`, 48.75001335144043`], List[35.03903371095657`, 47.34773029863527`], List[33.90225247562557`, 46.210952937603`], List[32.49997329711914`, 46.210952937603`], List[31.09769024431398`, 46.210952937603`], List[29.960912883281708`, 47.34773029863527`], List[29.960912883281708`, 48.75001335144043`], List[29.960912883281708`, 50.15229543567091`], List[31.09769024431398`, 51.28907376527786`], List[32.49997329711914`, 51.28907376527786`], List[33.90225247562557`, 51.28907376527786`], List[35.03903371095657`, 50.15229543567091`], List[35.03903371095657`, 48.75001335144043`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[35.03903371095657`, 32.50002670288086`], List[35.03903371095657`, 31.097747524374427`], List[33.90225247562557`, 29.960966289043427`], List[32.49997329711914`, 29.960966289043427`], List[31.09769024431398`, 29.960966289043427`], List[29.960912883281708`, 31.097747524374427`], List[29.960912883281708`, 32.50002670288086`], List[29.960912883281708`, 33.90230975568602`], List[31.09769024431398`, 35.03908711671829`], List[32.49997329711914`, 35.03908711671829`], List[33.90225247562557`, 35.03908711671829`], List[35.03903371095657`, 33.90230975568602`], List[35.03903371095657`, 32.50002670288086`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[35.03903371095657`, 16.25004005432129`], List[35.03903371095657`, 14.847760875814856`], List[33.90225247562557`, 13.710979640483856`], List[32.49997329711914`, 13.710979640483856`], List[31.09769024431398`, 13.710979640483856`], List[29.960912883281708`, 14.847760875814856`], List[29.960912883281708`, 16.25004005432129`], List[29.960912883281708`, 17.65232310712645`], List[31.09769024431398`, 18.789100468158722`], List[32.49997329711914`, 18.789100468158722`], List[33.90225247562557`, 18.789100468158722`], List[35.03903371095657`, 17.65232310712645`], List[35.03903371095657`, 16.25004005432129`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[49.2577720284462`, 56.36719459295273`], List[49.2577720284462`, 54.96491250872225`], List[48.1209907931152`, 53.828134179115295`], List[46.718711614608765`, 53.828134179115295`], List[45.316428561803605`, 53.828134179115295`], List[44.17965120077133`, 54.96491250872225`], List[44.17965120077133`, 56.36719459295273`], List[44.17965120077133`, 57.76947716147055`], List[45.316428561803605`, 58.90625500679016`], List[46.718711614608765`, 58.90625500679016`], List[48.1209907931152`, 58.90625500679016`], List[49.2577720284462`, 57.76947716147055`], List[49.2577720284462`, 56.36719459295273`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[49.2577720284462`, 40.625020027160645`], List[49.2577720284462`, 39.222736974355485`], List[48.1209907931152`, 38.08595961332321`], List[46.718711614608765`, 38.08595961332321`], List[45.316428561803605`, 38.08595961332321`], List[44.17965120077133`, 39.222736974355485`], List[44.17965120077133`, 40.625020027160645`], List[44.17965120077133`, 42.027303079965804`], List[45.316428561803605`, 43.16408044099808`], List[46.718711614608765`, 43.16408044099808`], List[48.1209907931152`, 43.16408044099808`], List[49.2577720284462`, 42.027303079965804`], List[49.2577720284462`, 40.625020027160645`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[49.2577720284462`, 24.375033378601074`], List[49.2577720284462`, 22.97275420009464`], List[48.1209907931152`, 21.83597296476364`], List[46.718711614608765`, 21.83597296476364`], List[45.316428561803605`, 21.83597296476364`], List[44.17965120077133`, 22.97275420009464`], List[44.17965120077133`, 24.375033378601074`], List[44.17965120077133`, 25.777316431406234`], List[45.316428561803605`, 26.914093792438507`], List[46.718711614608765`, 26.914093792438507`], List[48.1209907931152`, 26.914093792438507`], List[49.2577720284462`, 25.777316431406234`], List[49.2577720284462`, 24.375033378601074`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[49.2577720284462`, 8.63285881280899`], List[49.2577720284462`, 7.230591257198739`], List[48.1209907931152`, 6.093798398971558`], List[46.718711614608765`, 6.093798398971558`], List[45.316428561803605`, 6.093798398971558`], List[44.17965120077133`, 7.230591257198739`], List[44.17965120077133`, 8.63285881280899`], List[44.17965120077133`, 10.035130242717969`], List[45.316428561803605`, 11.171919226646423`], List[46.718711614608765`, 11.171919226646423`], List[48.1209907931152`, 11.171919226646423`], List[49.2577720284462`, 10.035130242717969`], List[49.2577720284462`, 8.63285881280899`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[62.968698263168335`, 32.50002670288086`], List[62.968698263168335`, 31.097747524374427`], List[61.83190540494115`, 29.960966289043427`], List[60.4296378493309`, 29.960966289043427`], List[59.027366419421924`, 29.960966289043427`], List[57.89057743549347`, 31.097747524374427`], List[57.89057743549347`, 32.50002670288086`], List[57.89057743549347`, 33.90230975568602`], List[59.027366419421924`, 35.03908711671829`], List[60.4296378493309`, 35.03908711671829`], List[61.83190540494115`, 35.03908711671829`], List[62.968698263168335`, 33.90230975568602`], List[62.968698263168335`, 32.50002670288086`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]]], List[Rule[BaselinePosition, Scaled[0.15`]], Rule[ImageSize, 10], Rule[ImageSize, List[Automatic, 35]]]], StyleBox[RowBox[List["WireworldEvolve", " "]], Rule[ShowAutoStyles, False], Rule[ShowStringCharacters, False], Rule[FontSize, Times[0.9`, Inherited]], Rule[FontColor, GrayLevel[0.1`]]]]], Rule[GridBoxSpacings, List[Rule["Columns", List[List[0.25`]]]]]], Rule[Alignment, List[Left, Baseline]], Rule[BaselinePosition, Baseline], Rule[FrameMargins, List[List[3, 0], List[0, 0]]], Rule[BaseStyle, List[Rule[LineSpacing, List[0, 0]], Rule[LineBreakWithin, False]]]], RowBox[List["PacletSymbol", "[", RowBox[List["\"DanielS/Wireworld\"", ",", "\"WireworldEvolve\""]], "]"]], Rule[TooltipStyle, List[Rule[ShowAutoStyles, True], Rule[ShowStringCharacters, True]]]], Function[Annotation[Slot[1], Style[Defer[PacletSymbol["DanielS/Wireworld", "WireworldEvolve"]], Rule[ShowStringCharacters, True]], "Tooltip"]]], Rule[Background, RGBColor[0.968`, 0.976`, 0.984`]], Rule[BaselinePosition, Baseline], Rule[DefaultBaseStyle, List[]], Rule[FrameMargins, List[List[0, 0], List[1, 1]]], Rule[FrameStyle, RGBColor[0.831`, 0.847`, 0.85`]], Rule[RoundingRadius, 4]], PacletSymbol["DanielS/Wireworld", "WireworldEvolve"], Rule[Selectable, False], Rule[SelectWithContents, True], Rule[BoxID, "PacletSymbolBox"]][SparseArray[
 Automatic, {5, 11}, 0, {1, {{0, 0, 2, 12, 14, 14}, {{5}, {6}, {1}, {2}, {3}, {4}, {5}, {
    7}, {8}, {9}, {10}, {11}, {5}, {6}}}, {3, 3, 3, 3, 2, 1, 3, 3, 3, 2, 1, 3, 3, 3}}], 2]
Out[1]=

Plot a Wireworld state:

In[2]:=
InterpretationBox[FrameBox[TagBox[TooltipBox[PaneBox[GridBox[List[List[GraphicsBox[List[Thickness[0.015384615384615385`], StyleBox[List[FilledCurveBox[List[List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]]], List[List[List[19.29685914516449`, 56.875006675720215`], List[32.49997329711914`, 64.49218791723251`], List[45.70308744907379`, 56.875006675720215`], List[32.49997329711914`, 49.257825434207916`], List[19.29685914516449`, 56.875006675720215`]], List[List[21.328107476234436`, 56.875006675720215`], List[32.49997329711914`, 63.32422015108166`], List[43.671839118003845`, 56.875006675720215`], List[32.49997329711914`, 50.42579283714326`], List[21.328107476234436`, 56.875006675720215`]], List[List[33.00778537988663`, 33.26174482703209`], List[33.00778537988663`, 48.496107310056686`], List[46.21089953184128`, 56.113288551568985`], List[46.21089953184128`, 40.87892606854439`], List[33.00778537988663`, 33.26174482703209`]]]]], List[FaceForm[RGBColor[0.7019607843137254`, 0.6039215686274509`, 0.788235294117647`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]]], List[List[List[31.992161214351654`, 33.26174482703209`], List[18.789047062397003`, 40.87892606854439`], List[18.789047062397003`, 56.113288551568985`], List[31.992161214351654`, 48.496107310056686`], List[31.992161214351654`, 33.26174482703209`]]]]], List[FaceForm[RGBColor[0.5372549019607843`, 0.403921568627451`, 0.6745098039215687`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]]], List[List[List[17.77342289686203`, 8.886764854192734`], List[4.570308744907379`, 16.503946095705032`], List[4.570308744907379`, 31.73830857872963`], List[17.77342289686203`, 24.12112733721733`], List[17.77342289686203`, 8.886764854192734`]], List[List[16.757798731327057`, 10.664107143878937`], List[5.585932910442352`, 17.113319045306525`], List[5.585932910442352`, 29.960966289043427`], List[16.757798731327057`, 23.511754387615838`], List[16.757798731327057`, 10.664107143878937`]], List[List[31.484349131584167`, 32.50002670288086`], List[18.281234979629517`, 40.11720794439316`], List[5.078120827674866`, 32.50002670288086`], List[18.281234979629517`, 24.88284546136856`], List[31.484349131584167`, 32.50002670288086`]]]]], List[FaceForm[RGBColor[0.6352941176470588`, 0.7333333333333333`, 0.8313725490196079`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]]], List[List[List[31.992161214351654`, 31.73830857872963`], List[18.789047062397003`, 24.12112733721733`], List[18.789047062397003`, 8.886764854192734`], List[31.992161214351654`, 16.503946095705032`], List[31.992161214351654`, 31.73830857872963`]]]]], List[FaceForm[RGBColor[0.2901960784313726`, 0.40784313725490196`, 0.5764705882352941`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]]], List[List[List[47.22652369737625`, 8.886764854192734`], List[47.22652369737625`, 24.12112733721733`], List[60.4296378493309`, 31.73830857872963`], List[60.4296378493309`, 16.503946095705032`], List[47.22652369737625`, 8.886764854192734`]], List[List[48.242147862911224`, 10.664107143878937`], List[48.242147862911224`, 23.511754387615838`], List[59.41401368379593`, 29.960966289043427`], List[59.41401368379593`, 17.113319045306525`], List[48.242147862911224`, 10.664107143878937`]], List[List[33.515597462654114`, 32.50002670288086`], List[46.718711614608765`, 40.11720794439316`], List[59.921825766563416`, 32.50002670288086`], List[46.718711614608765`, 24.88284546136856`], List[33.515597462654114`, 32.50002670288086`]]]]], List[FaceForm[RGBColor[0.6`, 0.6`, 0.37254901960784315`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]]], List[List[List[33.00778537988663`, 31.73830857872963`], List[33.00778537988663`, 16.503946095705032`], List[46.21089953184128`, 8.886764854192734`], List[46.21089953184128`, 24.12112733721733`], List[33.00778537988663`, 31.73830857872963`]]]]], List[FaceForm[RGBColor[0.396078431372549`, 0.6039215686274509`, 0.30196078431372547`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]]], List[List[List[5.585932910442352`, 35.03908711671829`], List[5.585932910442352`, 47.88673242330583`], List[16.757798731327057`, 54.33594626188278`], List[16.757798731327057`, 41.488300955295244`], List[5.585932910442352`, 35.03908711671829`]], List[List[4.570308744907379`, 33.26174482703209`], List[4.570308744907379`, 48.496107310056686`], List[17.77342289686203`, 56.113288551568985`], List[17.77342289686203`, 40.87892606854439`], List[4.570308744907379`, 33.26174482703209`]], List[List[60.4296378493309`, 33.26174482703209`], List[47.22652369737625`, 40.87892606854439`], List[47.22652369737625`, 56.113288551568985`], List[60.4296378493309`, 48.496107310056686`], List[60.4296378493309`, 33.26174482703209`]], List[List[59.41401368379593`, 35.03908711671829`], List[48.242147862911224`, 41.488300955295244`], List[48.242147862911224`, 54.33594626188278`], List[59.41401368379593`, 47.88673242330583`], List[59.41401368379593`, 35.03908711671829`]], List[List[19.29685914516449`, 8.125046730041504`], List[32.49997329711914`, 15.742227971553802`], List[45.70308744907379`, 8.125046730041504`], List[32.49997329711914`, 0.5078654885292053`], List[19.29685914516449`, 8.125046730041504`]], List[List[21.328107476234436`, 8.125046730041504`], List[32.49997329711914`, 14.574258631469093`], List[43.671839118003845`, 8.125046730041504`], List[32.49997329711914`, 1.6758348286139153`], List[21.328107476234436`, 8.125046730041504`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[7.109369158744812`, 32.50002670288086`], List[7.109369158744812`, 31.097747524374427`], List[5.972591313425198`, 29.960966289043427`], List[4.570308744907379`, 29.960966289043427`], List[3.168024481383867`, 29.960966289043427`], List[2.0312483310699463`, 31.097747524374427`], List[2.0312483310699463`, 32.50002670288086`], List[2.0312483310699463`, 33.90230975568602`], List[3.168024481383867`, 35.03908711671829`], List[4.570308744907379`, 35.03908711671829`], List[5.972591313425198`, 35.03908711671829`], List[7.109369158744812`, 33.90230975568602`], List[7.109369158744812`, 32.50002670288086`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[20.82029539346695`, 56.36719459295273`], List[20.82029539346695`, 54.96491250872225`], List[19.683518032434677`, 53.828134179115295`], List[18.281234979629517`, 53.828134179115295`], List[16.878951926824357`, 53.828134179115295`], List[15.742174565792084`, 54.96491250872225`], List[15.742174565792084`, 56.36719459295273`], List[15.742174565792084`, 57.76947716147055`], List[16.878951926824357`, 58.90625500679016`], List[18.281234979629517`, 58.90625500679016`], List[19.683518032434677`, 58.90625500679016`], List[20.82029539346695`, 57.76947716147055`], List[20.82029539346695`, 56.36719459295273`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[20.82029539346695`, 40.625020027160645`], List[20.82029539346695`, 39.222736974355485`], List[19.683518032434677`, 38.08595961332321`], List[18.281234979629517`, 38.08595961332321`], List[16.878951926824357`, 38.08595961332321`], List[15.742174565792084`, 39.222736974355485`], List[15.742174565792084`, 40.625020027160645`], List[15.742174565792084`, 42.027303079965804`], List[16.878951926824357`, 43.16408044099808`], List[18.281234979629517`, 43.16408044099808`], List[19.683518032434677`, 43.16408044099808`], List[20.82029539346695`, 42.027303079965804`], List[20.82029539346695`, 40.625020027160645`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[20.82029539346695`, 24.375033378601074`], List[20.82029539346695`, 22.97275420009464`], List[19.683518032434677`, 21.83597296476364`], List[18.281234979629517`, 21.83597296476364`], List[16.878951926824357`, 21.83597296476364`], List[15.742174565792084`, 22.97275420009464`], List[15.742174565792084`, 24.375033378601074`], List[15.742174565792084`, 25.777316431406234`], List[16.878951926824357`, 26.914093792438507`], List[18.281234979629517`, 26.914093792438507`], List[19.683518032434677`, 26.914093792438507`], List[20.82029539346695`, 25.777316431406234`], List[20.82029539346695`, 24.375033378601074`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[20.82029539346695`, 8.63285881280899`], List[20.82029539346695`, 7.230591257198739`], List[19.683518032434677`, 6.093798398971558`], List[18.281234979629517`, 6.093798398971558`], List[16.878951926824357`, 6.093798398971558`], List[15.742174565792084`, 7.230591257198739`], List[15.742174565792084`, 8.63285881280899`], List[15.742174565792084`, 10.035130242717969`], List[16.878951926824357`, 11.171919226646423`], List[18.281234979629517`, 11.171919226646423`], List[19.683518032434677`, 11.171919226646423`], List[20.82029539346695`, 10.035130242717969`], List[20.82029539346695`, 8.63285881280899`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[35.03903371095657`, 48.75001335144043`], List[35.03903371095657`, 47.34773029863527`], List[33.90225247562557`, 46.210952937603`], List[32.49997329711914`, 46.210952937603`], List[31.09769024431398`, 46.210952937603`], List[29.960912883281708`, 47.34773029863527`], List[29.960912883281708`, 48.75001335144043`], List[29.960912883281708`, 50.15229543567091`], List[31.09769024431398`, 51.28907376527786`], List[32.49997329711914`, 51.28907376527786`], List[33.90225247562557`, 51.28907376527786`], List[35.03903371095657`, 50.15229543567091`], List[35.03903371095657`, 48.75001335144043`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[35.03903371095657`, 32.50002670288086`], List[35.03903371095657`, 31.097747524374427`], List[33.90225247562557`, 29.960966289043427`], List[32.49997329711914`, 29.960966289043427`], List[31.09769024431398`, 29.960966289043427`], List[29.960912883281708`, 31.097747524374427`], List[29.960912883281708`, 32.50002670288086`], List[29.960912883281708`, 33.90230975568602`], List[31.09769024431398`, 35.03908711671829`], List[32.49997329711914`, 35.03908711671829`], List[33.90225247562557`, 35.03908711671829`], List[35.03903371095657`, 33.90230975568602`], List[35.03903371095657`, 32.50002670288086`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[35.03903371095657`, 16.25004005432129`], List[35.03903371095657`, 14.847760875814856`], List[33.90225247562557`, 13.710979640483856`], List[32.49997329711914`, 13.710979640483856`], List[31.09769024431398`, 13.710979640483856`], List[29.960912883281708`, 14.847760875814856`], List[29.960912883281708`, 16.25004005432129`], List[29.960912883281708`, 17.65232310712645`], List[31.09769024431398`, 18.789100468158722`], List[32.49997329711914`, 18.789100468158722`], List[33.90225247562557`, 18.789100468158722`], List[35.03903371095657`, 17.65232310712645`], List[35.03903371095657`, 16.25004005432129`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[49.2577720284462`, 56.36719459295273`], List[49.2577720284462`, 54.96491250872225`], List[48.1209907931152`, 53.828134179115295`], List[46.718711614608765`, 53.828134179115295`], List[45.316428561803605`, 53.828134179115295`], List[44.17965120077133`, 54.96491250872225`], List[44.17965120077133`, 56.36719459295273`], List[44.17965120077133`, 57.76947716147055`], List[45.316428561803605`, 58.90625500679016`], List[46.718711614608765`, 58.90625500679016`], List[48.1209907931152`, 58.90625500679016`], List[49.2577720284462`, 57.76947716147055`], List[49.2577720284462`, 56.36719459295273`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[49.2577720284462`, 40.625020027160645`], List[49.2577720284462`, 39.222736974355485`], List[48.1209907931152`, 38.08595961332321`], List[46.718711614608765`, 38.08595961332321`], List[45.316428561803605`, 38.08595961332321`], List[44.17965120077133`, 39.222736974355485`], List[44.17965120077133`, 40.625020027160645`], List[44.17965120077133`, 42.027303079965804`], List[45.316428561803605`, 43.16408044099808`], List[46.718711614608765`, 43.16408044099808`], List[48.1209907931152`, 43.16408044099808`], List[49.2577720284462`, 42.027303079965804`], List[49.2577720284462`, 40.625020027160645`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[49.2577720284462`, 24.375033378601074`], List[49.2577720284462`, 22.97275420009464`], List[48.1209907931152`, 21.83597296476364`], List[46.718711614608765`, 21.83597296476364`], List[45.316428561803605`, 21.83597296476364`], List[44.17965120077133`, 22.97275420009464`], List[44.17965120077133`, 24.375033378601074`], List[44.17965120077133`, 25.777316431406234`], List[45.316428561803605`, 26.914093792438507`], List[46.718711614608765`, 26.914093792438507`], List[48.1209907931152`, 26.914093792438507`], List[49.2577720284462`, 25.777316431406234`], List[49.2577720284462`, 24.375033378601074`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[49.2577720284462`, 8.63285881280899`], List[49.2577720284462`, 7.230591257198739`], List[48.1209907931152`, 6.093798398971558`], List[46.718711614608765`, 6.093798398971558`], List[45.316428561803605`, 6.093798398971558`], List[44.17965120077133`, 7.230591257198739`], List[44.17965120077133`, 8.63285881280899`], List[44.17965120077133`, 10.035130242717969`], List[45.316428561803605`, 11.171919226646423`], List[46.718711614608765`, 11.171919226646423`], List[48.1209907931152`, 11.171919226646423`], List[49.2577720284462`, 10.035130242717969`], List[49.2577720284462`, 8.63285881280899`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[62.968698263168335`, 32.50002670288086`], List[62.968698263168335`, 31.097747524374427`], List[61.83190540494115`, 29.960966289043427`], List[60.4296378493309`, 29.960966289043427`], List[59.027366419421924`, 29.960966289043427`], List[57.89057743549347`, 31.097747524374427`], List[57.89057743549347`, 32.50002670288086`], List[57.89057743549347`, 33.90230975568602`], List[59.027366419421924`, 35.03908711671829`], List[60.4296378493309`, 35.03908711671829`], List[61.83190540494115`, 35.03908711671829`], List[62.968698263168335`, 33.90230975568602`], List[62.968698263168335`, 32.50002670288086`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]]], List[Rule[BaselinePosition, Scaled[0.15`]], Rule[ImageSize, 10], Rule[ImageSize, List[Automatic, 35]]]], StyleBox[RowBox[List["WireworldPlot", " "]], Rule[ShowAutoStyles, False], Rule[ShowStringCharacters, False], Rule[FontSize, Times[0.9`, Inherited]], Rule[FontColor, GrayLevel[0.1`]]]]], Rule[GridBoxSpacings, List[Rule["Columns", List[List[0.25`]]]]]], Rule[Alignment, List[Left, Baseline]], Rule[BaselinePosition, Baseline], Rule[FrameMargins, List[List[3, 0], List[0, 0]]], Rule[BaseStyle, List[Rule[LineSpacing, List[0, 0]], Rule[LineBreakWithin, False]]]], RowBox[List["PacletSymbol", "[", RowBox[List["\"DanielS/Wireworld\"", ",", "\"WireworldPlot\""]], "]"]], Rule[TooltipStyle, List[Rule[ShowAutoStyles, True], Rule[ShowStringCharacters, True]]]], Function[Annotation[Slot[1], Style[Defer[PacletSymbol["DanielS/Wireworld", "WireworldPlot"]], Rule[ShowStringCharacters, True]], "Tooltip"]]], Rule[Background, RGBColor[0.968`, 0.976`, 0.984`]], Rule[BaselinePosition, Baseline], Rule[DefaultBaseStyle, List[]], Rule[FrameMargins, List[List[0, 0], List[1, 1]]], Rule[FrameStyle, RGBColor[0.831`, 0.847`, 0.85`]], Rule[RoundingRadius, 4]], PacletSymbol["DanielS/Wireworld", "WireworldPlot"], Rule[Selectable, False], Rule[SelectWithContents, True], Rule[BoxID, "PacletSymbolBox"]][SparseArray[
 Automatic, {13, 24}, 0, {1, {{0, 0, 0, 8, 15, 24, 28, 34, 38, 47, 54, 62, 62, 62}, {{
    4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {3}, {12}, {13}, {14}, {
    15}, {16}, {17}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {18}, {
    17}, {18}, {19}, {20}, {17}, {20}, {21}, {22}, {23}, {24}, {17}, {
    18}, {19}, {20}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {18}, {
    3}, {12}, {13}, {14}, {15}, {16}, {17}, {4}, {5}, {6}, {7}, {8}, {
    9}, {10}, {11}}}, {3, 3, 3, 3, 3, 3, 2, 1, 3, 3, 3, 3, 3, 2, 1, 3,
    3, 3, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 3, 3, 3, 3, 3, 2, 1, 3, 3, 3, 3, 2, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3}}]]
Out[2]=

Scope (2) 

Test whether a matrix is a valid Wireworld state:

In[3]:=
InterpretationBox[FrameBox[TagBox[TooltipBox[PaneBox[GridBox[List[List[GraphicsBox[List[Thickness[0.015384615384615385`], StyleBox[List[FilledCurveBox[List[List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]]], List[List[List[19.29685914516449`, 56.875006675720215`], List[32.49997329711914`, 64.49218791723251`], List[45.70308744907379`, 56.875006675720215`], List[32.49997329711914`, 49.257825434207916`], List[19.29685914516449`, 56.875006675720215`]], List[List[21.328107476234436`, 56.875006675720215`], List[32.49997329711914`, 63.32422015108166`], List[43.671839118003845`, 56.875006675720215`], List[32.49997329711914`, 50.42579283714326`], List[21.328107476234436`, 56.875006675720215`]], List[List[33.00778537988663`, 33.26174482703209`], List[33.00778537988663`, 48.496107310056686`], List[46.21089953184128`, 56.113288551568985`], List[46.21089953184128`, 40.87892606854439`], List[33.00778537988663`, 33.26174482703209`]]]]], List[FaceForm[RGBColor[0.7019607843137254`, 0.6039215686274509`, 0.788235294117647`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]]], List[List[List[31.992161214351654`, 33.26174482703209`], List[18.789047062397003`, 40.87892606854439`], List[18.789047062397003`, 56.113288551568985`], List[31.992161214351654`, 48.496107310056686`], List[31.992161214351654`, 33.26174482703209`]]]]], List[FaceForm[RGBColor[0.5372549019607843`, 0.403921568627451`, 0.6745098039215687`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]]], List[List[List[17.77342289686203`, 8.886764854192734`], List[4.570308744907379`, 16.503946095705032`], List[4.570308744907379`, 31.73830857872963`], List[17.77342289686203`, 24.12112733721733`], List[17.77342289686203`, 8.886764854192734`]], List[List[16.757798731327057`, 10.664107143878937`], List[5.585932910442352`, 17.113319045306525`], List[5.585932910442352`, 29.960966289043427`], List[16.757798731327057`, 23.511754387615838`], List[16.757798731327057`, 10.664107143878937`]], List[List[31.484349131584167`, 32.50002670288086`], List[18.281234979629517`, 40.11720794439316`], List[5.078120827674866`, 32.50002670288086`], List[18.281234979629517`, 24.88284546136856`], List[31.484349131584167`, 32.50002670288086`]]]]], List[FaceForm[RGBColor[0.6352941176470588`, 0.7333333333333333`, 0.8313725490196079`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]]], List[List[List[31.992161214351654`, 31.73830857872963`], List[18.789047062397003`, 24.12112733721733`], List[18.789047062397003`, 8.886764854192734`], List[31.992161214351654`, 16.503946095705032`], List[31.992161214351654`, 31.73830857872963`]]]]], List[FaceForm[RGBColor[0.2901960784313726`, 0.40784313725490196`, 0.5764705882352941`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]]], List[List[List[47.22652369737625`, 8.886764854192734`], List[47.22652369737625`, 24.12112733721733`], List[60.4296378493309`, 31.73830857872963`], List[60.4296378493309`, 16.503946095705032`], List[47.22652369737625`, 8.886764854192734`]], List[List[48.242147862911224`, 10.664107143878937`], List[48.242147862911224`, 23.511754387615838`], List[59.41401368379593`, 29.960966289043427`], List[59.41401368379593`, 17.113319045306525`], List[48.242147862911224`, 10.664107143878937`]], List[List[33.515597462654114`, 32.50002670288086`], List[46.718711614608765`, 40.11720794439316`], List[59.921825766563416`, 32.50002670288086`], List[46.718711614608765`, 24.88284546136856`], List[33.515597462654114`, 32.50002670288086`]]]]], List[FaceForm[RGBColor[0.6`, 0.6`, 0.37254901960784315`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]]], List[List[List[33.00778537988663`, 31.73830857872963`], List[33.00778537988663`, 16.503946095705032`], List[46.21089953184128`, 8.886764854192734`], List[46.21089953184128`, 24.12112733721733`], List[33.00778537988663`, 31.73830857872963`]]]]], List[FaceForm[RGBColor[0.396078431372549`, 0.6039215686274509`, 0.30196078431372547`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]], List[List[0, 2, 0], List[0, 1, 0], List[0, 1, 0], List[0, 1, 0]]], List[List[List[5.585932910442352`, 35.03908711671829`], List[5.585932910442352`, 47.88673242330583`], List[16.757798731327057`, 54.33594626188278`], List[16.757798731327057`, 41.488300955295244`], List[5.585932910442352`, 35.03908711671829`]], List[List[4.570308744907379`, 33.26174482703209`], List[4.570308744907379`, 48.496107310056686`], List[17.77342289686203`, 56.113288551568985`], List[17.77342289686203`, 40.87892606854439`], List[4.570308744907379`, 33.26174482703209`]], List[List[60.4296378493309`, 33.26174482703209`], List[47.22652369737625`, 40.87892606854439`], List[47.22652369737625`, 56.113288551568985`], List[60.4296378493309`, 48.496107310056686`], List[60.4296378493309`, 33.26174482703209`]], List[List[59.41401368379593`, 35.03908711671829`], List[48.242147862911224`, 41.488300955295244`], List[48.242147862911224`, 54.33594626188278`], List[59.41401368379593`, 47.88673242330583`], List[59.41401368379593`, 35.03908711671829`]], List[List[19.29685914516449`, 8.125046730041504`], List[32.49997329711914`, 15.742227971553802`], List[45.70308744907379`, 8.125046730041504`], List[32.49997329711914`, 0.5078654885292053`], List[19.29685914516449`, 8.125046730041504`]], List[List[21.328107476234436`, 8.125046730041504`], List[32.49997329711914`, 14.574258631469093`], List[43.671839118003845`, 8.125046730041504`], List[32.49997329711914`, 1.6758348286139153`], List[21.328107476234436`, 8.125046730041504`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[7.109369158744812`, 32.50002670288086`], List[7.109369158744812`, 31.097747524374427`], List[5.972591313425198`, 29.960966289043427`], List[4.570308744907379`, 29.960966289043427`], List[3.168024481383867`, 29.960966289043427`], List[2.0312483310699463`, 31.097747524374427`], List[2.0312483310699463`, 32.50002670288086`], List[2.0312483310699463`, 33.90230975568602`], List[3.168024481383867`, 35.03908711671829`], List[4.570308744907379`, 35.03908711671829`], List[5.972591313425198`, 35.03908711671829`], List[7.109369158744812`, 33.90230975568602`], List[7.109369158744812`, 32.50002670288086`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[20.82029539346695`, 56.36719459295273`], List[20.82029539346695`, 54.96491250872225`], List[19.683518032434677`, 53.828134179115295`], List[18.281234979629517`, 53.828134179115295`], List[16.878951926824357`, 53.828134179115295`], List[15.742174565792084`, 54.96491250872225`], List[15.742174565792084`, 56.36719459295273`], List[15.742174565792084`, 57.76947716147055`], List[16.878951926824357`, 58.90625500679016`], List[18.281234979629517`, 58.90625500679016`], List[19.683518032434677`, 58.90625500679016`], List[20.82029539346695`, 57.76947716147055`], List[20.82029539346695`, 56.36719459295273`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[20.82029539346695`, 40.625020027160645`], List[20.82029539346695`, 39.222736974355485`], List[19.683518032434677`, 38.08595961332321`], List[18.281234979629517`, 38.08595961332321`], List[16.878951926824357`, 38.08595961332321`], List[15.742174565792084`, 39.222736974355485`], List[15.742174565792084`, 40.625020027160645`], List[15.742174565792084`, 42.027303079965804`], List[16.878951926824357`, 43.16408044099808`], List[18.281234979629517`, 43.16408044099808`], List[19.683518032434677`, 43.16408044099808`], List[20.82029539346695`, 42.027303079965804`], List[20.82029539346695`, 40.625020027160645`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[20.82029539346695`, 24.375033378601074`], List[20.82029539346695`, 22.97275420009464`], List[19.683518032434677`, 21.83597296476364`], List[18.281234979629517`, 21.83597296476364`], List[16.878951926824357`, 21.83597296476364`], List[15.742174565792084`, 22.97275420009464`], List[15.742174565792084`, 24.375033378601074`], List[15.742174565792084`, 25.777316431406234`], List[16.878951926824357`, 26.914093792438507`], List[18.281234979629517`, 26.914093792438507`], List[19.683518032434677`, 26.914093792438507`], List[20.82029539346695`, 25.777316431406234`], List[20.82029539346695`, 24.375033378601074`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[20.82029539346695`, 8.63285881280899`], List[20.82029539346695`, 7.230591257198739`], List[19.683518032434677`, 6.093798398971558`], List[18.281234979629517`, 6.093798398971558`], List[16.878951926824357`, 6.093798398971558`], List[15.742174565792084`, 7.230591257198739`], List[15.742174565792084`, 8.63285881280899`], List[15.742174565792084`, 10.035130242717969`], List[16.878951926824357`, 11.171919226646423`], List[18.281234979629517`, 11.171919226646423`], List[19.683518032434677`, 11.171919226646423`], List[20.82029539346695`, 10.035130242717969`], List[20.82029539346695`, 8.63285881280899`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[35.03903371095657`, 48.75001335144043`], List[35.03903371095657`, 47.34773029863527`], List[33.90225247562557`, 46.210952937603`], List[32.49997329711914`, 46.210952937603`], List[31.09769024431398`, 46.210952937603`], List[29.960912883281708`, 47.34773029863527`], List[29.960912883281708`, 48.75001335144043`], List[29.960912883281708`, 50.15229543567091`], List[31.09769024431398`, 51.28907376527786`], List[32.49997329711914`, 51.28907376527786`], List[33.90225247562557`, 51.28907376527786`], List[35.03903371095657`, 50.15229543567091`], List[35.03903371095657`, 48.75001335144043`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[35.03903371095657`, 32.50002670288086`], List[35.03903371095657`, 31.097747524374427`], List[33.90225247562557`, 29.960966289043427`], List[32.49997329711914`, 29.960966289043427`], List[31.09769024431398`, 29.960966289043427`], List[29.960912883281708`, 31.097747524374427`], List[29.960912883281708`, 32.50002670288086`], List[29.960912883281708`, 33.90230975568602`], List[31.09769024431398`, 35.03908711671829`], List[32.49997329711914`, 35.03908711671829`], List[33.90225247562557`, 35.03908711671829`], List[35.03903371095657`, 33.90230975568602`], List[35.03903371095657`, 32.50002670288086`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[35.03903371095657`, 16.25004005432129`], List[35.03903371095657`, 14.847760875814856`], List[33.90225247562557`, 13.710979640483856`], List[32.49997329711914`, 13.710979640483856`], List[31.09769024431398`, 13.710979640483856`], List[29.960912883281708`, 14.847760875814856`], List[29.960912883281708`, 16.25004005432129`], List[29.960912883281708`, 17.65232310712645`], List[31.09769024431398`, 18.789100468158722`], List[32.49997329711914`, 18.789100468158722`], List[33.90225247562557`, 18.789100468158722`], List[35.03903371095657`, 17.65232310712645`], List[35.03903371095657`, 16.25004005432129`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[49.2577720284462`, 56.36719459295273`], List[49.2577720284462`, 54.96491250872225`], List[48.1209907931152`, 53.828134179115295`], List[46.718711614608765`, 53.828134179115295`], List[45.316428561803605`, 53.828134179115295`], List[44.17965120077133`, 54.96491250872225`], List[44.17965120077133`, 56.36719459295273`], List[44.17965120077133`, 57.76947716147055`], List[45.316428561803605`, 58.90625500679016`], List[46.718711614608765`, 58.90625500679016`], List[48.1209907931152`, 58.90625500679016`], List[49.2577720284462`, 57.76947716147055`], List[49.2577720284462`, 56.36719459295273`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[49.2577720284462`, 40.625020027160645`], List[49.2577720284462`, 39.222736974355485`], List[48.1209907931152`, 38.08595961332321`], List[46.718711614608765`, 38.08595961332321`], List[45.316428561803605`, 38.08595961332321`], List[44.17965120077133`, 39.222736974355485`], List[44.17965120077133`, 40.625020027160645`], List[44.17965120077133`, 42.027303079965804`], List[45.316428561803605`, 43.16408044099808`], List[46.718711614608765`, 43.16408044099808`], List[48.1209907931152`, 43.16408044099808`], List[49.2577720284462`, 42.027303079965804`], List[49.2577720284462`, 40.625020027160645`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[49.2577720284462`, 24.375033378601074`], List[49.2577720284462`, 22.97275420009464`], List[48.1209907931152`, 21.83597296476364`], List[46.718711614608765`, 21.83597296476364`], List[45.316428561803605`, 21.83597296476364`], List[44.17965120077133`, 22.97275420009464`], List[44.17965120077133`, 24.375033378601074`], List[44.17965120077133`, 25.777316431406234`], List[45.316428561803605`, 26.914093792438507`], List[46.718711614608765`, 26.914093792438507`], List[48.1209907931152`, 26.914093792438507`], List[49.2577720284462`, 25.777316431406234`], List[49.2577720284462`, 24.375033378601074`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[49.2577720284462`, 8.63285881280899`], List[49.2577720284462`, 7.230591257198739`], List[48.1209907931152`, 6.093798398971558`], List[46.718711614608765`, 6.093798398971558`], List[45.316428561803605`, 6.093798398971558`], List[44.17965120077133`, 7.230591257198739`], List[44.17965120077133`, 8.63285881280899`], List[44.17965120077133`, 10.035130242717969`], List[45.316428561803605`, 11.171919226646423`], List[46.718711614608765`, 11.171919226646423`], List[48.1209907931152`, 11.171919226646423`], List[49.2577720284462`, 10.035130242717969`], List[49.2577720284462`, 8.63285881280899`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]], StyleBox[List[FilledCurveBox[List[List[List[1, 4, 3], List[1, 3, 3], List[1, 3, 3], List[1, 3, 3]]], List[List[List[62.968698263168335`, 32.50002670288086`], List[62.968698263168335`, 31.097747524374427`], List[61.83190540494115`, 29.960966289043427`], List[60.4296378493309`, 29.960966289043427`], List[59.027366419421924`, 29.960966289043427`], List[57.89057743549347`, 31.097747524374427`], List[57.89057743549347`, 32.50002670288086`], List[57.89057743549347`, 33.90230975568602`], List[59.027366419421924`, 35.03908711671829`], List[60.4296378493309`, 35.03908711671829`], List[61.83190540494115`, 35.03908711671829`], List[62.968698263168335`, 33.90230975568602`], List[62.968698263168335`, 32.50002670288086`]]]]], List[FaceForm[RGBColor[0.9607843137254902`, 0.5098039215686274`, 0.20784313725490197`, 1.`]]], Rule[StripOnInput, False]]], List[Rule[BaselinePosition, Scaled[0.15`]], Rule[ImageSize, 10], Rule[ImageSize, List[Automatic, 35]]]], StyleBox[RowBox[List["WireworldStateQ", " "]], Rule[ShowAutoStyles, False], Rule[ShowStringCharacters, False], Rule[FontSize, Times[0.9`, Inherited]], Rule[FontColor, GrayLevel[0.1`]]]]], Rule[GridBoxSpacings, List[Rule["Columns", List[List[0.25`]]]]]], Rule[Alignment, List[Left, Baseline]], Rule[BaselinePosition, Baseline], Rule[FrameMargins, List[List[3, 0], List[0, 0]]], Rule[BaseStyle, List[Rule[LineSpacing, List[0, 0]], Rule[LineBreakWithin, False]]]], RowBox[List["PacletSymbol", "[", RowBox[List["\"DanielS/Wireworld\"", ",", "\"WireworldStateQ\""]], "]"]], Rule[TooltipStyle, List[Rule[ShowAutoStyles, True], Rule[ShowStringCharacters, True]]]], Function[Annotation[Slot[1], Style[Defer[PacletSymbol["DanielS/Wireworld", "WireworldStateQ"]], Rule[ShowStringCharacters, True]], "Tooltip"]]], Rule[Background, RGBColor[0.968`, 0.976`, 0.984`]], Rule[BaselinePosition, Baseline], Rule[DefaultBaseStyle, List[]], Rule[FrameMargins, List[List[0, 0], List[1, 1]]], Rule[FrameStyle, RGBColor[0.831`, 0.847`, 0.85`]], Rule[RoundingRadius, 4]], PacletSymbol["DanielS/Wireworld", "WireworldStateQ"], Rule[Selectable, False], Rule[SelectWithContents, True], Rule[BoxID, "PacletSymbolBox"]][SparseArray[
 Automatic, {3, 10}, 0, {1, {{0, 5, 10, 15}, {{6}, {7}, {8}, {9}, {10}, {1}, {2}, {3}, {
    4}, {5}, {6}, {7}, {8}, {9}, {10}}}, {1, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 3, 3, 3, 3}}]]
Out[3]=

Open a window and draw/edit a Wireworld state:

Interactive Examples (2) 

Animate the evolution of an OR gate fed by two electron sources:

In[4]:=
(* Evaluate this cell to get the example input *) CloudGet["https://www.wolframcloud.com/obj/a91404a7-9013-48a7-b787-9e7645f0074f"]
Out[4]=

Animate the behaviour of an OR gate, an XOR gate and an inverter:

In[5]:=
(* Evaluate this cell to get the example input *) CloudGet["https://www.wolframcloud.com/obj/8d53fe10-f265-4393-a0b6-dbcdc6f2ea3c"]
Out[5]=

Publisher

Daniel Sanchez

Version History

  • 1.0.1 – 13 January 2022

Paclet Source

Source Metadata