【トーラス構造と古典数学】何故「正方形」ではCos(θ)+Sin(θ)iが成立するのか？


[【Rで球面幾何学】二辺形(Bilateral)と一辺形(One Side)？](https://qiita.com/ochimusha01/items/ce1b6988c4274a136e89)
ここで扱った**円描画関数**（<font color="blue">Circle Function</font>）<font color="green">Cos(θ)+Sin(θ)i</font>の一般形<font color="green">Cos(θ)+Cos(θ-π/NoS)i</font>(<font color="blue">NoS=Number of Sides</font>)には、その計算上現れる**正方形**(<font color="blue">Square</font>)上において<font color="green">cos(θ)+sin(θ)i</font>が成立しないという驚くべき側面が存在します。しかしご安心ください。ここに登場する**正方形**(<font color="blue">Square</font>)は、我々が良く見知っている、すなわち「<font color="red">デカルト座標系の世界</font>(<font color="blue">Cartesian Coordinate System Set</font>)」において**平方眼**(<font color="blue">Square Grid</font>)や**立方眼**(<font color="blue">Cubic Grid</font>)を構成する正方形とは「<font color="red">ある種別物</font>」なのです。

●**数式**<font color="green">Cos(θ)+Cos(θ-π/NoS)i</font>(<font color="blue">NoS=Number of Sides</font>)に登場する**正方形**
![20191026163432.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/1740bd97-eb40-6baa-a06a-91ac8fb3caab.png)

```R
c0<-seq(0,2*pi,length=60)
cx0<-cos(c0)
cy0<-sin(c0)
plot(cx0,cy0,asp=1,type="l",xlim=c(-1,1),ylim=c(-1,1),main="Square in Cos(θ) + Cos(θ-π/4)i",xlab="Real",ylab="Imaginal")

par(new=T) #上書き

 c1<-seq(0,2*pi,length=5)
cx1<-cos(c1)
cy1<-sin(c1)
plot(cx1,cy1,asp=1,type="l",xlim=c(-1,1), ylim=c(-1,1), main="",xlab="",ylab="")
#塗りつぶし
polygon(cx1, #x
cy1, #y
density=c(30), #塗りつぶす濃度
angle=c(45),　 　　　#塗りつぶす斜線の角度
col=rgb(1,0,0)) 　#塗りつぶす色
```

「**デカルト座標系**(<font color="blue">Cartesian Coordinate System Set</font>)」に登場する**正方形**
![20191026163532.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/b8a81d8b-4d09-aca9-e7fb-83d621180e73.png)

```R
c0<-seq(0,2*pi,length=60)
cx0<-cos(c0)
cy0<-sin(c0)
plot(cx0,cy0,asp=1,type="l",xlim=c(-1,1),ylim=c(-1,1),main="Square in Cos(θ) + Sin(θ)i",xlab="Real",ylab="Imaginal")

par(new=T) #上書き

 c1<-seq(0,2*pi,length=5)+pi/4
cx1<-cos(c1)
cy1<-sin(c1)
plot(cx1,cy1,asp=1,type="l",xlim=c(-1,1), ylim=c(-1,1), main="",xlab="",ylab="")

polygon(cx1, #x
cy1, #y
density=c(30), #塗りつぶす濃度
angle=c(45),　 　　　#塗りつぶす斜線の角度
col=rgb(0,1,0)) 　#塗りつぶす色
```
[【オイラーの多面体定理と正多面体】二次元上の多角形と三次元の多面体の往復](https://qiita.com/ochimusha01/items/94cab2793d6c6a005e55)
とりあえず、こういう**概念**(<font color="blue">Concept</font>)として**導入**(<font color="blue">Introduce</font>)しておきましょう。詳しい説明は後の投稿に回しますが、要するに以下の**概念**の**導入**によりこの問題は回避されるのです。

- <font color="green">Nos</font>(<font color="blue">Number of Side</font>)<font color="green">=4</font>の図形で<font color="green">Cos(θ)+Sin(θ)i</font>が成立するのは<font color="red">最初の1/4周期</font>のみ。
- ところで回転する正多角形上で用いられる**三角関数**は<font color="red">辺ごとの区間でリセットされ、これが辺数だけ繰り返される</font>のが「**自明の場合**(<font color="blue">Trivial Case</font>)」である。
- そして**正方形**(<font color="blue">正四辺形</font>)の場合は<font color="green">原点から外角=内角=90度</font>(<font color="blue">π/2ラジアン</font>)<font color="green">の範囲が抽出され4回繰り返される</font>が、その結果合成される波形が「<font color="red">たまたま</font>」**元波形**<font color="green">Cos(θ)+Sin(θ)i</font>のそれと合致する。

それでは実際に確かめてみましょう。
![20190919130756.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/86790cea-9d1d-85a4-6322-b794d3ad8555.png)

```R
f0<-function(x){cos(x)}
plot(f0,col=rgb(0,0,1),xlim=c(0,2*pi),ylim=c(-1.5,1.5),main="Three square theorem",xlab="radian(π)",ylab="Amplitude")
par(new=T) #上書き
f1<-function(x){sin(x)}
plot(f1,col=rgb(0,1,0),xlim=c(0,2*pi),ylim=c(-1.5,1.5),main="",xlab="",ylab="")
par(new=T) #上書き
f2<-function(x){cos(x)+sin(x)}
plot(f2,col=rgb(1,0,0),xlim=c(0,2*pi),ylim=c(-1.5,1.5),main="",xlab="",ylab="")
par(new=T) #上書き
f3<-function(x){cos(x)*sin(x)}
plot(f3,col=c(125,125,125),xlim=c(0,2*pi),ylim=c(-1.5,1.5),main="",xlab="",ylab="")
par(new=T) #上書き
f4<-function(x){cos(x)^2+sin(x)^2}
plot(f4,col=rgb(0,0,0),xlim=c(0,2*pi),ylim=c(-1.5,1.5),main="",xlab="",ylab="")

abline(v = pi/2)
legend("bottomright", legend=c("y=cos(θ)","y=sin(θ)","y=cos(θ)+sin(θ)","y=cos(θ)*sin(θ)","y=cos(θ)^2*sin(θ)^2"), lty=c(1,1,1,1,1), col=c(rgb(0,0,1),rgb(0,1,0),rgb(1,0,0),c(125,125,125),rgb(0,0,0)))
```

「**0回転**」の波形
![20191024192031.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/17b8bb1d-3e93-2b6d-3b24-e63a67f7d74c.png)

```R
rad<-seq(0,pi/2,length=60)
f0<-function(x){cos(x)}
f0_y<-f0(rad)
plot(-1*f0_y,rad,type="l",col=rgb(0,0,1),xlim=c(-1*sqrt(2),0),ylim=c(0,pi/2),main="Side length sampling effect(1/4 Lotation)",xlab="Amplitude",ylab="radian(π)")
par(new=T) #上書き
f1<-function(x){sin(x)}
f1_y<-f1(rad)
plot(-1*f1_y,rad,type="l",col=rgb(0,1,0),xlim=c(-1*sqrt(2),0),ylim=c(0,pi/2),main="",xlab="",ylab="")
par(new=T) #上書き
f2<-function(x){cos(x)+sin(x)}
f2_y<-f2(rad)
plot(-1*f2_y,rad,type="l",col=rgb(1,0,0),xlim=c(-1*sqrt(2),0),ylim=c(0,pi/2),main="",xlab="",ylab="")
par(new=T) #上書き
f3<-function(x){cos(x)*sin(x)}
f3_y<-f3(rad)
plot(-1*f3_y,rad,type="l",col=rgb(0,1,1),xlim=c(-1*sqrt(2),0),ylim=c(0,pi/2),main="",xlab="",ylab="")
par(new=T) #上書き
f4<-function(x){sqrt(cos(x)^2+sin(x)^2)}
f4_y<-f4(rad)
plot(-1*f4_y,rad,type="l",col=rgb(0,0,0),xlim=c(-1*sqrt(2),0),ylim=c(0,pi/2),main="",xlab="",ylab="")
legend("bottomright", legend=c("y=cos(θ)","y=sin(θ)","y=cos(θ)+sin(θ)","y=cos(θ)*sin(θ)","y=(sqrt(cos(θ)+sin(θ)^2)"), lty=c(1,1,1,1,1), col=c(rgb(0,0,1),rgb(0,1,0),rgb(1,0,0),rgb(0,1,1),rgb(0,0,0)))
```

「**1/4回転**」の波形
![20191024192837.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/e7cf6930-48cf-e3ca-d486-8255d1799de9.png)

```R
rad<-seq(0,pi/2,length=60)
f0<-function(x){cos(x)}
f0_y<-f0(rad)
plot(rad,f0_y*-1,type="l",col=rgb(0,0,1),xlim=c(0,pi/2),ylim=c(-1*sqrt(2),0),main="Side length sampling effect(2/4 Rotation)",xlab="radian(π)",ylab="Amplitude")
par(new=T) #上書き
f1<-function(x){sin(x)}
f1_y<-f1(rad)
plot(rad,f1_y*-1,type="l",col=rgb(0,1,0),xlim=c(0,pi/2),ylim=c(-1*sqrt(2),0),main="",xlab="",ylab="")
par(new=T) #上書き
f2<-function(x){cos(x)+sin(x)}
f2_y<-f2(rad)
plot(rad,f2_y*-1,type="l",col=rgb(1,0,0),xlim=c(0,pi/2),ylim=c(-1*sqrt(2),0),main="",xlab="",ylab="")
par(new=T) #上書き
f3<-function(x){cos(x)*sin(x)}
f3_y<-f3(rad)
plot(rad,f3_y*-1,type="l",col=rgb(0,1,1),xlim=c(0,pi/2),ylim=c(-1*sqrt(2),0),main="",xlab="",ylab="")
par(new=T) #上書き
f4<-function(x){sqrt(cos(x)^2+sin(x)^2)}
f4_y<-f4(rad)
plot(rad,f4_y*-1,type="l",col=rgb(0,0,0),xlim=c(0,pi/2),ylim=c(-1*sqrt(2),0),main="",xlab="",ylab="")
legend("bottomright", legend=c("y=cos(θ)","y=sin(θ)","y=cos(θ)+sin(θ)","y=cos(θ)*sin(θ)","y=(sqrt(cos(θ)+sin(θ)^2)"), lty=c(1,1,1,1,1), col=c(rgb(0,0,1),rgb(0,1,0),rgb(1,0,0),rgb(0,1,1),rgb(0,0,0)))
```

「**2/4回転**」の波形
![20191024193540.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/90d38a97-69ed-53e2-c90a-bb16ff237260.png)

```R
rad<-seq(0,pi/2,length=60)
f0<-function(x){cos(x)}
f0_y<-f0(rad)
plot(rad,f0_y*-1,type="l",col=rgb(0,0,1),xlim=c(0,pi/2),ylim=c(-1*sqrt(2),0),main="Side length sampling effect(2/4 Rotation)",xlab="radian(π)",ylab="Amplitude")
par(new=T) #上書き
f1<-function(x){sin(x)}
f1_y<-f1(rad)
plot(rad,f1_y*-1,type="l",col=rgb(0,1,0),xlim=c(0,pi/2),ylim=c(-1*sqrt(2),0),main="",xlab="",ylab="")
par(new=T) #上書き
f2<-function(x){cos(x)+sin(x)}
f2_y<-f2(rad)
plot(rad,f2_y*-1,type="l",col=rgb(1,0,0),xlim=c(0,pi/2),ylim=c(-1*sqrt(2),0),main="",xlab="",ylab="")
par(new=T) #上書き
f3<-function(x){cos(x)*sin(x)}
f3_y<-f3(rad)
plot(rad,f3_y*-1,type="l",col=rgb(0,1,1),xlim=c(0,pi/2),ylim=c(-1*sqrt(2),0),main="",xlab="",ylab="")
par(new=T) #上書き
f4<-function(x){sqrt(cos(x)^2+sin(x)^2)}
f4_y<-f4(rad)
plot(rad,f4_y*-1,type="l",col=rgb(0,0,0),xlim=c(0,pi/2),ylim=c(-1*sqrt(2),0),main="",xlab="",ylab="")
legend("bottomright", legend=c("y=cos(θ)","y=sin(θ)","y=cos(θ)+sin(θ)","y=cos(θ)*sin(θ)","y=(sqrt(cos(θ)+sin(θ)^2)"), lty=c(1,1,1,1,1), col=c(rgb(0,0,1),rgb(0,1,0),rgb(1,0,0),rgb(0,1,1),rgb(0,0,0)))
```

「**3/4回転**」の波形
![20191024192148.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/34ab52b6-de34-9c46-dabe-2e383999d07a.png)

```R
rad<-seq(0,pi/2,length=60)
f0<-function(x){cos(x)}
f0_y<-f0(rad)
plot(f0_y,rad,type="l",col=rgb(0,0,1),xlim=c(0,sqrt(2)),ylim=c(0,pi/2),main="Side length sampling effect(3/4 Lotation)",xlab="Amplitude",ylab="radian(π)")
par(new=T) #上書き
f1<-function(x){sin(x)}
f1_y<-f1(rad)
plot(f1_y,rad,type="l",col=rgb(0,1,0),xlim=c(0,sqrt(2)),ylim=c(0,pi/2),main="",xlab="",ylab="")
par(new=T) #上書き
f2<-function(x){cos(x)+sin(x)}
f2_y<-f2(rad)
plot(f2_y,rad,type="l",col=rgb(1,0,0),xlim=c(0,sqrt(2)),ylim=c(0,pi/2),main="",xlab="",ylab="")
par(new=T) #上書き
f3<-function(x){cos(x)*sin(x)}
f3_y<-f3(rad)
plot(f3_y,rad,type="l",col=rgb(0,1,1),xlim=c(0,sqrt(2)),ylim=c(0,pi/2),main="",xlab="",ylab="")
par(new=T) #上書き
f4<-function(x){sqrt(cos(x)^2+sin(x)^2)}
f4_y<-f4(rad)
plot(f4_y,rad,type="l",col=rgb(0,0,0),xlim=c(0,sqrt(2)),ylim=c(0,pi/2),main="",xlab="",ylab="")
legend("bottomright", legend=c("y=cos(θ)","y=sin(θ)","y=cos(θ)+sin(θ)","y=cos(θ)*sin(θ)","y=(sqrt(cos(θ)+sin(θ)^2)"), lty=c(1,1,1,1,1), col=c(rgb(0,0,1),rgb(0,1,0),rgb(1,0,0),rgb(0,1,1),rgb(0,0,0)))
```

波形の合成
![20191025134037.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/c2695648-1358-984c-0926-e98915a6b50b.png)

```R
c1<-seq(0,2*pi,length=120)
#x=-sin(θ),y=cos(θ)
plot(c1[1:30],cx[1:30],type="l",col=rgb(1,0,0),xlim=c(0,2*pi),ylim=c(-1,1),main="Synthesis of circular functions",xlab="x",ylab="y")
par(new=T)
plot(c1[1:30],cy[1:30],type="l",col=rgb(0,1,0),xlim=c(0,2*pi),ylim=c(-1,1),main="",xlab="",ylab="")
par(new=T)
#x=-sin(θ),y=cos(θ)
plot(c1[31:60],cx[31:60],type="l",col=rgb(1,0,1),xlim=c(0,2*pi),ylim=c(-1,1),main="",xlab="",ylab="")
par(new=T)
plot(c1[31:60],cy[31:60],type="l",col=rgb(1,0,0),xlim=c(0,2*pi),ylim=c(-1,1),main="",xlab="",ylab="")
par(new=T)
##-cos(θ) & -sin(θ)
plot(c1[61:90],cx[61:90],type="l",col=rgb(0,0,1),xlim=c(0,2*pi),ylim=c(-1,1),main="",xlab="",ylab="")
par(new=T)
plot(c1[61:90],cy[61:90],type="l",col=rgb(1,0,1),xlim=c(0,2*pi),ylim=c(-1,1),main="",xlab="",ylab="")
par(new=T)
#x=sin(θ),y=-cos(θ)
plot(c1[91:120],cx[91:120],type="l",col=rgb(0,1,0),xlim=c(0,2*pi),ylim=c(-1,1),main="",xlab="",ylab="")
par(new=T)
plot(c1[91:120],cy[91:120],type="l",col=rgb(0,0,1),xlim=c(0,2*pi),ylim=c(-1,1),main="",xlab="",ylab="")
#補助線
abline(v=0,col=c(200,200,200))
abline(v=pi/2,col=c(200,200,200))
abline(v=pi,col=c(200,200,200))
abline(v=3*pi/2,col=c(200,200,200))
abline(v=2*pi,col=c(200,200,200))

 #凡例
legend("bottomright", legend=c("cos(θ)","sin(θ)","-cos(θ)","-sin(θ)"), lty=c(1,1,1,1), col=c(rgb(1,0,0),rgb(0,1,0),rgb(0,0,1),rgb(1,0,1)))
```
![20191025133140.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/9805d365-cc32-a2ed-4bdc-995271399d38.png)

```R
c0<-seq(0,pi/2,length=30)
cx=c(cos(c0),sin(-c0),-cos(c0),-sin(-c0))
cy=c(sin(c0),cos(-c0),-sin(c0),-cos(-c0))
plot(cx,cy,asp=1,type="l",main="Synthesis of circular functions",xlab="x",ylab="y")
#cos(θ) & sin(θ)
polygon(c(0,cx[1:30],0), #x
c(0,cy[1:30],0), #y
density=c(30), #塗りつぶす濃度
angle=c(45),　 　　　#塗りつぶす斜線の角度
col=rgb(1,0,0)) 　#塗りつぶす色

#sin(-θ) & cos(-θ)
polygon(c(0,cx[31:60],0), #x
c(0,cy[31:60],0), #y
density=c(30), #塗りつぶす濃度
angle=c(45),　 　　　#塗りつぶす斜線の角度
col=rgb(0,1,0)) 　#塗りつぶす色

#-cos(θ) & -sin(θ)
polygon(c(0,cx[61:90],0), #x
c(0,cy[61:90],0), #y
density=c(30), #塗りつぶす濃度
angle=c(45),　 　　　#塗りつぶす斜線の角度
col=rgb(0,0,1)) 　#塗りつぶす色

#-sin(-θ) & -cos(-θ)
polygon(c(0,cx[91:120],0), #x
c(0,cy[91:120],0), #y
density=c(30), #塗りつぶす濃度
angle=c(45),　 　　　#塗りつぶす斜線の角度
col=rgb(1,1,0)) 　#塗りつぶす色
#凡例
legend("bottomright", legend=c("x=cos(θ),y=sin(θ)","x=-sin(θ),y=cos(θ)","x=-cos(θ),y=-sin(θ)","x=sin(θ),y=-cos(θ)"), lty=c(1,1,1,1), col=c(rgb(1,0,0),rgb(0,1,0),rgb(0,0,1),rgb(1,1,0)))
```
![20191025153108.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/597364ac-946c-a1b2-c294-b9e9d0628176.gif)

```R
#MCtS=Multiplication Cos(θ) times Sin(θ)
MCtS<-function(theta){
c0<-seq(0,2*pi,length=60)
cx<-cos(c0)
cy<-sin(c0)
plot(cx,cy,asp=1,type="l",main="Multiplication Cos(θ) * Sin(θ)",ylab="Cos(θ)",xlab="Sin(θ)")
#第一象限
polygon(c(0,cx[theta],cx[theta],0,0), #x
c(0,0,cy[theta],cy[theta],0), #y
density=c(30), #塗りつぶす濃度
angle=c(45),　 　　　#塗りつぶす斜線の角度
col=rgb(1,0,0)) 　#塗りつぶす色

#第二象限
polygon(c(0,cx[theta+15],cx[theta+15],0,0), #x
c(0,0,cy[theta+15],cy[theta+15],0), #y
density=c(30), #塗りつぶす濃度
angle=c(45),　 　　　#塗りつぶす斜線の角度
col=rgb(0,1,0)) 　#塗りつぶす色

#第三象限
polygon(c(0,cx[theta+30],cx[theta+30],0,0), #x
c(0,0,cy[theta+30],cy[theta+30],0), #y
density=c(30), #塗りつぶす濃度
angle=c(45),　 　　　#塗りつぶす斜線の角度
col=rgb(0,0,1)) 　#塗りつぶす色

#第四象限
polygon(c(0,cx[theta+45],cx[theta+45],0,0), #x
c(0,0,cy[theta+45],cy[theta+45],0), #y
density=c(30), #塗りつぶす濃度
angle=c(45),　 　　　#塗りつぶす斜線の角度
col=rgb(1,1,0)) 　#塗りつぶす色

#頂点に文字
text(cx[theta],cy[theta],"a",col=rgb(1,0,0))
text(cx[theta+15],cy[theta+15],"b",col=rgb(0,1,0))
text(cx[theta+30],cy[theta+30],"c",col=rgb(0,0,1))
text(cx[theta+45],cy[theta+45],"d",col=rgb(1,1,0))
}

#アニメーション
library("animation")
Time_Code=c(1:15)
saveGIF({
for (i in Time_Code){
　　MCtS(i)
}
}, interval = 0.1, movie.name = "MCtS01.gif")
```
![20190827165445.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/d4ec55ac-71a7-49c6-88fa-64a2af6bf856.gif)


```R
#複素平面（球面）

Complex_plane<-function(x){

ifelse*1
theta <- c(seq(0, pi, length=180),seq(-pi, 0, length=180))
dr<-seq(0,2*pi,length=360)

theta00<- seq(1, -1, length=360)
theta01 <- c(theta[x:360],theta[1:x-1])
theta_cos<-cos(theta01)
theta_sin<-sin(theta01)
plot(cos(theta), sin(theta), xlim=c(-1,1), ylim=c(-1,1), type="l", main="Correlation coefficient",xlab="Real Expanse", ylab="Imaginal Expanse")
par(new=T)#上書き指定
plot(theta_cos,theta00,xlim=c(-1,1), ylim=c(-1,1), type="l",col=rgb(0,1,0),main="",xlab="", ylab="")

#cos(x)を塗りつぶす
polygon(theta_cos, #x
theta00, #y
density=c(30), #塗りつぶす濃度
angle=c(45),　 　　　#塗りつぶす斜線の角度
col=rgb(0,1,0)) 　#塗りつぶす色

#sin(x)を塗りつぶす
polygon(theta00, #x
theta_sin, #y
density=c(30), #塗りつぶす濃度
angle=c(45),　 　　　#塗りつぶす斜線の角度
col=rgb(0,0,1)) 　#塗りつぶす色


#線を引く
segments(cos(dr[x]),sin(dr[x]),0,0,rgb(0,0,0))

#Cosθ+Sinθを塗りつぶす
polygon(c(0,cos(dr[x]),cos(dr[x]),0,0), #x
c(0,0,sin(dr[x]),sin(dr[x]),0), #y
density=c(30), #塗りつぶす濃度
angle=c(45),　 　　　#塗りつぶす斜線の角度
col=rgb(1,0,0)) 　#塗りつぶす色

#凡例
#legend("bottomleft", legend=c("cos","sin", "cosθ & sinθ"), lty=c(1,1,1),col =c(rgb(0,1,0),rgb(0,0,1),rgb(0,1,1))
}

#アニメーションさせてみる。

library("animation")
Time_Code=c(1,15,30,45,60,75,90,105,120,135,150,165,180,195,210,225,240,255,270,285,300,315,330,345)
saveGIF({
for (i in Time_Code){
　　Complex_plane(i)
}
}, interval = 0.1, movie.name = "TEST001.gif")
```

何の事はない、<font color="red">三角関数の微積分結果をマクローリン級数で再合成する</font>**円描画関数**（<font color="blue">Circle Function</font>）<font color="green">Cos(θ)+Sin(θ)i</font>の導出過程そのものですね。これが無限周期で繰り返されていると考えればいい訳です。
[【初心者向け】三角関数と指数・対数関数の「巡回性」について。](https://qiita.com/ochimusha01/items/61d8cfa89dc078cbe472)
[【Rで球面幾何学】オイラーの公式とは、そもそも何か？](https://qiita.com/ochimusha01/items/ebb190371d9f268723a6)
[【Rで球面幾何学】オイラーの公式を導出したマクローリン級数の限界？](https://qiita.com/ochimusha01/items/4a484d5759f96abb0ab3)

逆を言えば<font color="green">Cos(θ)+Sin(θ)i</font>が成立するのはあくまで<font color="red">二辺形</font>と<font color="red">四辺形</font>のみ。それ以外の辺数の多角形ではこの式の一般形たる<font color="green">Cos(θ)+Cos(θ-π/NoS)i</font>(<font color="blue">NoS=Number of Sides</font>)しか成立し得ないのです。
![20191017211118.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/1f36787b-aab3-3341-4e44-23273e8f08cd.gif)

```R
#RIC=内接円の角度(Radians of Inscribed Circle)
#Noc=角数(Number of corners)
RIC<-function(NoC){
f0<-function(x){cos(x)}
plot(f0,col=rgb(0,1,1),xlim=c(0,2*pi),ylim=c(-1,1),main="Radians of Inscribed Regular Polygons",xlab="radian(π)",ylab="Amplitude")
par(new=T) #上書き
f1<-function(x){cos(x-1/NoC*pi)}
plot(f1,col=rgb(0,0,1),xlim=c(0,2*pi),ylim=c(-1,1),main="",xlab="",ylab="")
abline(v =0)

for(i in 1:NoC){
abline(v =2*i/NoC*pi)
}
#補助線
abline(h=1,col=rgb(1,0,0))
abline(h=cos(pi/NoC),col=rgb(0,1,0))

#サンプリング範囲を塗りつぶす
polygon(c(0,2/NoC*pi,2/NoC*pi,0,0), #x
c(1,1,cos(pi/NoC),cos(pi/NoC),1), #y
density=c(30), #塗りつぶす濃度
angle=c(45),　 　　　#塗りつぶす斜線の角度
col=c(200,200,200)) 　#塗りつぶす色

text01<-paste0("y=cos(θ-1/",NoC,"*pi)")
legend("bottomright", legend=c("y=cos(θ)",text01,"Radius of Unit Circle","Radius of Inscribed circle"), lty=c(1,1,1,1), col=c(rgb(0,1,1),rgb(0,0,1),rgb(1,0,0),rgb(0,1,0)))
}
#アニメーション
library("animation")
Time_Code=rep(2:16, each=3)
saveGIF({
for (i in Time_Code){
　RIC(i)
}
}, interval = 0.1, movie.name = "RIC01.gif")
```

切り取られるCos波の変遷
![20191017205752.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/9ca1e688-e39d-ea72-bc2a-a4834e57e414.gif)

```R
#SC=サンプリングされた曲線(Sampling Curve)
#Noc=角数(Number of corners)
SC<-function(NoC){
f0<-function(x){cos(x-1/NoC*pi)}
plot(f0,col=rgb(0,0,1),xlim=c(0,2*pi/NoC),main="Sampling Curve",xlab="radian(π)",ylab="RadiusInscribed circle  of Unit circle")
par(new=T) #上書き
#期待線
c0<-seq(0,2/NoC*pi,length=3)
c1<-c(cos(pi/NoC),1,cos(pi/NoC))
plot(c0,c1,col=rgb(0,0,0),type="o",xlim=c(0,2*pi/NoC),main="",xlab="",ylab="")

#外接円=内接円による境界線
abline(h=1,col=rgb(1,0,0))
abline(h=cos(pi/NoC),col=rgb(0,1,0))
#凡例
text01<-paste0("Cos(pi/",NoC,"*)/2")
legend("bottomright", legend=c("Expected line",text01,"Radius of Unit Circle","Radius of Inscribed circle"), lty=c(1,1,1,1), col=c(rgb(0,0,0),rgb(0,0,1),rgb(1,0,0),rgb(0,1,0))) 

}

#アニメーション
library("animation")
Time_Code=rep(2:16, each=3)
saveGIF({
for (i in Time_Code){
　SC(i)
}
}, interval = 0.1, movie.name = "SC01.gif")
```

切り取られたCos波の連続再生
![20191017200405.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/5f056288-ef0b-5874-130e-2ef27a87b7e3.gif)

```R
#DSC=サンプリング再生過程（Draw the Sampling Curve）
#NoC=角数(Number of corners)
DSC<-function(NoC){
#期待線
c0<-seq(0,2*pi,length=NoC*2+1)
c1<-cos(pi/NoC)
for(i in 1:NoC-1){
c1=c(c1,1,cos(pi/NoC))
}
plot(c0,c1,type="o",xlim=c(0,2*pi),ylim=c(0,1),main="Draw the Sampling Curve",ylab='Circumference(radian)', xlab='Circle radius(Radian)')
#サンプリング線
par(new=T) #上書き
DN<-100 #分割数（Division Number）
R_time=seq(0,2*pi,length=NoC*DN)
Smp_time=seq(0,2/NoC*pi,length=DN)
f0<-function(x){cos(x-1/NoC*pi)}
S_data<-NULL
for(i in 1:NoC){
S_data<-c(S_data,f0(Smp_time))
}
plot(R_time,S_data,type="l",xlim=c(0,2*pi),ylim=c(0,1),col=rgb(0,0,1),main="",ylab="", xlab="")
#外接円=内接円による境界線
abline(h=1,col=rgb(1,0,0))
abline(h=cos(pi/NoC),col=rgb(0,1,0))
#凡例
text01<-paste0("Mj=1+Mn,Mn=cos(pi/",NoC,"*)/2")
legend("bottomright", legend=c("Expected line",text01), lty=c(1,1), col=c(rgb(0,0,0),rgb(0,0,1))) 
}

#アニメーション
library("animation")
Time_Code=rep(2:16, each=3)
saveGIF({
for (i in Time_Code){
　DSC(i)
}
}, interval = 0.1, movie.name = "DSC01.gif")
```
合成結果
![20191017213859.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/789f963f-68cc-1fc6-d4b5-18c602c21733.gif)

```R
#CCS=コサイン曲線のサンプリン(Cosine Curve Sampling)
#Noc=角数(Number of corners)
CCS<-function(NoC){
f0<-function(x){cos(x)}
plot(f0,col=rgb(0,1,1),xlim=c(0,2*pi),ylim=c(-1,1),main="Cosine Curve Sampling",xlab="radian(π)",ylab="Amplitude")
par(new=T) #上書き
f1<-function(x){cos(x-1/NoC*pi)}
plot(f1,col=rgb(0,0,1),xlim=c(0,2*pi),ylim=c(-1,1),main="",xlab="",ylab="")
par(new=T) #上書き 

#期待線
c0<-seq(0,2*pi,length=NoC*2+1)
c1<-cos(pi/NoC)
for(i in 1:NoC-1){
c1=c(c1,1,cos(pi/NoC))
}
plot(c0,c1,type="o",xlim=c(0,2*pi),ylim=c(-1,1),main="",ylab="", xlab="")
#サンプリング線
par(new=T) #上書き
DN<-100 #分割数（Division Number）
R_time=seq(0,2*pi,length=NoC*DN)
Smp_time=seq(0,2/NoC*pi,length=DN)
f0<-function(x){cos(x-1/NoC*pi)}
S_data<-NULL
for(i in 1:NoC){
S_data<-c(S_data,f0(Smp_time))
}
plot(R_time,S_data,type="l",xlim=c(0,2*pi),ylim=c(-1,1),col=rgb(0,0,1),main="",ylab="", xlab="")
#補助線

abline(v =0)

for(i in 1:NoC){
abline(v =2*i/NoC*pi)
}
abline(h=1,col=rgb(1,0,0))
abline(h=cos(pi/NoC),col=rgb(0,1,0))

#サンプリング範囲を塗りつぶす
polygon(c(0,2/NoC*pi,2/NoC*pi,0,0), #x
c(1,1,cos(pi/NoC),cos(pi/NoC),1), #y
density=c(30), #塗りつぶす濃度
angle=c(45),　 　　　#塗りつぶす斜線の角度
col=c(200,200,200)) 　#塗りつぶす色
#凡例
text01<-paste0("y=cos(θ-1/",NoC,"*pi)")
legend("bottomright", legend=c("y=cos(θ)",text01,"Radius of Unit Circle","Radius of Inscribed circle"), lty=c(1,1,1,1), col=c(rgb(0,1,1),rgb(0,0,1),rgb(1,0,0),rgb(0,1,0)))
}
#アニメーション
library("animation")
Time_Code=rep(2:16, each=3)
saveGIF({
for (i in Time_Code){
　CCS(i)
}
}, interval = 0.1, movie.name = "CCS01.gif")
```
ここまで事実関係が把握出来た時点で、以下続報…