XOR = (x,y) => Math.max(x,y) - Math.min(x,y)
この定義からは更に回転している臭いがむんむんにしている。
図で見ると、位相の移動を感じる。
こうしてやると、更に回転っぽくなる。原点を中心に回っている感じがする。
XOR = (x, y) => (1-Math.cos(Math.PI * x - (Math.PI * y))) / 2
xorをcosとsinで定義できた。
xやyが1.0より大きい値にはみ出したときにもxorっぽく振る舞うのが嬉しい。