【数学溢れ話】【Token】二次元方眼/複素平面に埋め込まれた2^(1/2)螺旋


複素平面a+biと異なり、二次元方眼(x,y)には$2^{\frac{1}{2}}$螺旋が埋め込まれています。
![スクリーンショット 2024-03-06 8.57.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/e51f54a1-5e56-0b81-e3a4-8b842cd44dfa.png)


* 虚数(Imagical)の定義$i^2=1$を変換すると$a^{2\log_a(i)}$となり、これが円を描くのはaがネイピア数e(2.718282…)の場合のみ。
[【Token】ネイピア数](https://qiita.com/ochimusha01/items/b666a635e6ac2add6a1c)
![68747470733a2f2f63646e2d616b2e662e73742d686174656e612e636f6d2f696d616765732f666f746f6c6966652f6f2f6f6368696d7573686130312f32303231303432392f32303231303432393132333834352e676966 (1).gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/3e84e50c-0261-e403-2de9-174b9bb51048.gif)
* この時、式は$e^{2log(i)}=e^{2\frac{π}{2}i}=e^{πi}$と変形され、オイラーの等式$e^{πi}=-1$に一致する。
[Wikipedia「オイラーの等式」](https://ja.wikipedia.org/wiki/%E3%82%AA%E3%82%A4%E3%83%A9%E3%83%BC%E3%81%AE%E7%AD%89%E5%BC%8F)
* 数学史を辿ってみると、この様に二次元方眼上での円回転をイメージ可能となったのは19世紀前半にガウスらが複素平原の概念を導入して以降だし、さらにいわゆる「矢印ベクトル」概念が導入されたのは1843年に導入された「ハミルトンの四元数」概念があまりに難解なので、その簡略版として「矢印ベクトル」概念が普及した19世紀後半から20世紀初頭にかけてとなる。
[【Token】「ハミルトンの四元数」](https://qiita.com/ochimusha01/items/d975e3e2b06a508f162c)
![68747470733a2f2f63646e2d616b2e662e73742d686174656e612e636f6d2f696d616765732f666f746f6c6966652f6f2f6f6368696d7573686130312f32303230313132312f32303230313132313233303335352e676966.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/5b490d45-6ca7-d60a-d256-4069747a2dc3.gif)
* こう考え合わせていくと、現代の我々が見知ってる二次元方眼概念そのものが(特に近代以降急激に次元概念拡張を重ねてきた)多様体(Manifold)概念の代表例ということになる。
[コトバンク「多様体」](https://kotobank.jp/word/%E5%A4%9A%E6%A7%98%E4%BD%93-94487)

# 方形関数(Rectangular Function)の勘所

絶対値関数の扱いで面倒臭いのは、その演算上の特徴故に、必ず「下が凸となる形が正方向になる」事。

```math
y=x→y=|x|
```

```math
y=-x→y=|-x|=|x|
```
従って方形関数の形も以下となるのです。

```math
y=±(|x|-1)
```

45度回してみましょう。

```math
(x(-1≦x≦+1),|x|-1)→(\frac{x+|x|-1}{2},\frac{x-|x|+1}{2})
```

```math
(x(-1≦x≦+1),-|x|+1)→(\frac{x-|x|+1}{2},\frac{x+|x|-1}{2})
```
![スクリーンショット 2024-03-03 0.29.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/2aa78c4f-bc8b-bda9-a23b-450381148e82.png)

xに三角関数を代入すると回せます。

$cos(θ)±(1-|cos(θ)|)i$
![68747470733a2f2f63646e2d616b2e662e73742d686174656e612e636f6d2f696d616765732f666f746f6c6966652f6f2f6f6368696d7573686130312f32303230313130332f32303230313130333232343434322e676966.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/209fb373-3723-4cbc-19b5-dae0d9ef2506.gif)

```R
Cos01<-function(Radian){
c0<-seq(0,pi*2,length=61)
cx<-cos(c0)
cy=c((1-abs(cos(c0[1:30]))),-(1-abs(cos(c0[31:61]))))
plot(cx,cy,type="l",xlim=c(-1,1),asp=1,ylim=c(-1,1),main="Cos(θ)±(1-abs(Cos(θ)))i",xlab="x=Cos(θ)",ylab="y=±(1-abs(±Cos(θ)))i")
abline(h=0,col=rgb(1,0,0))
abline(v=0,col=rgb(1,0,0))
# θ位置を書き添える 。
text(cx[Radian],cy[Radian],"θ",col=rgb(0,1,0))
segments(0,0,cx[Radian],cy[Radian],col=rgb(0,1,0))
# 凡例を書き添える 。
legend("topright", legend=c("y=Cos(θ)±(1-abs(Cos(θ)))i","x=y=0","x=Cos(θ)"), lty =c(1,1,1),col=c(rgb(0,0,0),rgb(1,0,0),rgb(0,1,0)))
}

#アニメーション
library("animation")
Time_Code=seq(1,59, length=30)
saveGIF({
for (i in Time_Code){
　Cos01(i)
}
}, interval = 0.1, movie.name = "Cos09.gif")
```

$sin(θ)±(1-|sin(θ)|)i$
![68747470733a2f2f63646e2d616b2e662e73742d686174656e612e636f6d2f696d616765732f666f746f6c6966652f6f2f6f6368696d7573686130312f32303230313130342f32303230313130343031313230352e676966.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/70cde4bf-f971-27c9-3176-f01afef3bc03.gif)

```R
Sin00<-function(Radian){
c0<-seq(0,pi*2,length=61)
cx<-sin(c0)
cy=c(1-sin(c0[1:15]),-(1-sin(c0[16:30])),-(1+sin(c0[31:45])),1+sin(c0[46:61]))
plot(cx,cy,type="l",xlim=c(-1,1),asp=1,ylim=c(-1,1),main="Sin(θ)±(1±sin(θ))i",xlab="x=Sin(θ)",ylab="y=±(1±sin(θ))i")
abline(h=0,col=rgb(1,0,0))
abline(v=0,col=rgb(1,0,0))
# θ位置を書き添える 。
text(cx[Radian],cy[Radian],"θ",col=rgb(0,1,0))
segments(0,0,cx[Radian],cy[Radian],col=rgb(0,1,0))
# 凡例を書き添える 。
legend("topright", legend=c("y=Sin(θ)±(1±sin(θ))i","x=y=0","x=Sin(θ)"), lty =c(1,1,1),col=c(rgb(0,0,0),rgb(1,0,0),rgb(0,1,0)))
}

#アニメーション
library("animation")
Time_Code=seq(1,59, length=30)
saveGIF({
for (i in Time_Code){
　Sin00(i)
}
}, interval = 0.1, movie.name = "Sin12.gif")
```
また、矩形関数にはこちらの考え方もあります。
[Wikipedia「矩形関数」](https://ja.wikipedia.org/wiki/%E7%9F%A9%E5%BD%A2%E9%96%A2%E6%95%B0)

```math
rect(t)=\left\{
\begin{array}{ll}
0 & (|t|>\frac{1}{2}) \\
\frac{1}{2} & (|t|=\frac{1}{2}) \\
1 & (|t|<\frac{1}{2})
\end{array}
\right.

```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/664feca4-8f00-b5f7-a830-db3c3e4fdbf7.png)

# 反比例関数(Inverse Proportional Function)/双曲線関数(Hyperbolic Function)の場合

反比例関数(Inverse Proportional Function)は45度回転させると双曲線関数(Hyperbolic Function)と重なります。
![スクリーンショット 2024-03-03 0.52.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/e96ab354-260e-7295-0856-12ed369e0b8a.png)
そんな感じで以下続報…