左上を原点(0, 0)、右下を(1, 1)とする。
XOR = (x, y) => (1-Math.cos(Math.PI * x - (Math.PI * y))) / 2
2024/6/10 22:50:00
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っぽく振る舞うのが嬉しい。
func XOR(x, y float64) float64 {
return (1 - math.Cos(math.Pix-math.Piy)) / 2
}