

HexLogic – Logic gates in a hexagon grid - anubiann00b
http://anubiann00b.github.io/HexLogic/

======
klodolph
How to make an oscillator: Create a triangle out of XOR cells. It will all be
white. Put a power cell next to the triangle.

A simpler oscillator consists of an XOR cell in the center, with a power cell
below it, and two OR cells: one above, and one above and to the right.

------
JoshTriplett
Fun to play with, but I haven't yet found how to create a wire that carries a
signal around a corner without introducing instability or oscillation. A
series of 'or' or 'xor' gates will carry a signal from input to output, but
the other two output directions from any of those gates lead to cells that
feed into the previous cell, so placing either an 'or' or 'xor' there
introduces feedback.

The inability to change the direction of a signal makes it difficult to create
non-trivial circuits. I can create an oscillator for use as a clock signal
(3-on-3-off that can be disturbed into a 1-on-1-off by placing and removing an
adjacent cell). The outputs of those together would produce a two-bit counter
(00, 01, 10, 11), and combining those bits with logic gates would produce a
2-on-2-off oscillator or a 1-on-3-off oscillator; however, I haven't yet
figured out how to bring two outputs together.

~~~
FreeFull
A big hexagon shape made out of xor gates imitates a xor gate, except that the
inputs and outputs are nicely separated. You can omit the inputs as you want.

~~~
JoshTriplett
Thanks, that works perfectly. Seems to work for 'o' and '+' as well: surround
anything with a hexagon of xor gates and it will behave the same on a larger
scale, as long as you don't feed it signals too quickly.

------
spb
Interesting, but I prefer the simpler, emergent logic of Wireworld:
[https://en.wikipedia.org/wiki/Wireworld](https://en.wikipedia.org/wiki/Wireworld)

~~~
wolfgke
Or KOHCTPYKTOP: [http://www.zachtronics.com/kohctpyktop-engineer-of-the-
peopl...](http://www.zachtronics.com/kohctpyktop-engineer-of-the-people/)

------
marktangotango
Notch 2006:

[1] [http://www.java-gaming.org/index.php/topic,12642.0](http://www.java-
gaming.org/index.php/topic,12642.0) [2]
[https://mojang.com/notch/logichex/](https://mojang.com/notch/logichex/)

~~~
anubiann00b
Yeah, that's the original. But it's a Java applet, this is a Javascipt Canvas
implementation.

------
c2the3rd
Has anyone managed to implement an and gate out of this? {xor, or, true} is a
universal logic set, so it it theoretically possible. A not gate is easy, but
the positioning of the inputs and outputs makes and gates tricky.

For those who are rusty on boolean algebra or just curious:

not A = A xor true

A and B = ((A xor true) or (B xor true)) xor 1

~~~
sgentle
Here's my attempt using the "ring of xor" technique posted elsewhere:
[https://imgur.com/xGHmN9c](https://imgur.com/xGHmN9c)

It follows the hex structure of the other gates (inputs down and diagonally
up, outputs up and diagonally down). It's got a radius 4 (the 5th blocks being
the example inputs and outputs) but I think you could probably do better with
some judicious bit trickery in the middle.

Edit: Radius 3: [https://i.imgur.com/BaI6YLj](https://i.imgur.com/BaI6YLj) \-
I wonder if 2 is possible?

------
z3ugma
Looks pretty. Are there instructions anywhere? Examples provided?

~~~
stormbrew
Agreed. I have to admit, I'm pretty lost as to what interesting things I can
do with this.

~~~
Ygg2
It's possible to create hex shapes that flicker without power! Basically a
stable loop that acts as a super-conducting loop.

------
kolev
Pretty although unsure at this point on how practical it is, but definitely a
great idea!

------
sand500
Didn't not already make this years ago.

