【初心者向け】「加法定理の幾何学的証明」に挑戦。

* (2020年3月14日)初投稿
* (2021年4月19日)オイラーの公式に基づく証明を追加。

ネットからの情報で、私が**ピタゴラスの定理**(Pythagorean theorem)ないしは**三平方の定理**(Three-square theorem)として知られる法則の証明で使用した図形が**三角関数の加法定理の証明**にも流用されている展開を知りました。
[【初心者向け】ピタゴラスの定理あるいは三平方の定理からの出発](https://qiita.com/ochimusha01/items/4c7f731b0ef3cc998aa1)
![https___qiita-image-store.s3.ap-northeast-1.amazonaws.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/5d1b758f-4640-4534-af45-7d7af66da4e3.gif)
いわれてみれば確かに、補助線等の追加でそういう風にも使える訳です。
#加法定理の幾何学的証明に挑戦
とりあえず元プログラムに補助線等を追加。

```R
Three_square_theorem04<-function(x){
c0<-c(0,pi/2,-1*pi,-1*pi/2,0)
c0_cos<-cos(c0)
c0_sin<-sin(c0)
plot(c0_cos,c0_sin,asp=1,type="l",main="Regular polygon rotation",xlab="Cos(θ)",ylab="Sin(θ)")

#大正方形の頂点{a,b,c,d)
text(c0_cos,c0_sin, labels=c("a","b","c","d",""),col=c(rgb(1,0,0),rgb(1,0,0),rgb(1,0,0),rgb(1,0,0),rgb(1,0,0)),cex=c(2,2,2,2,2))

line_scale_01_cos<-seq(cos(c0[1]),cos(c0[2]),length=15)
line_scale_01_sin<-seq(sin(c0[1]),sin(c0[2]),length=15)
line_scale_02_cos<-seq(cos(c0[2]),cos(c0[3]),length=15)
line_scale_02_sin<-seq(sin(c0[2]),sin(c0[3]),length=15)
line_scale_03_cos<-seq(cos(c0[3]),cos(c0[4]),length=15)
line_scale_03_sin<-seq(sin(c0[3]),sin(c0[4]),length=15)
line_scale_04_cos<-seq(cos(c0[4]),cos(c0[1]),length=15)
line_scale_04_sin<-seq(sin(c0[4]),sin(c0[1]),length=15)

#小正方形の頂点{ab,bc,cd,da)
text(c(line_scale_01_cos[x],line_scale_02_cos[x],line_scale_03_cos[x],line_scale_04_cos[x]),c(line_scale_01_sin[x],line_scale_02_sin[x],line_scale_03_sin[x],line_scale_04_sin[x]), labels=c("ab","bc","cd","da"),col=c(rgb(0,0,1),rgb(0,0,1),rgb(0,0,1),rgb(0,0,1)),cex=c(2,2,2,2))

#塗りつぶし
polygon(c(c0_cos[1],line_scale_04_cos[x],line_scale_01_cos[x],c0_cos[1]), #x
c(c0_sin[1],line_scale_04_sin[x],line_scale_01_sin[x],c0_sin[1]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),　 　　　#塗りつぶす斜線の角度
col=rgb(0,1,0)) 　 

#塗りつぶし
polygon(c(c0_cos[2],line_scale_01_cos[x],line_scale_02_cos[x],c0_cos[2]),#x
c(c0_sin[2],line_scale_01_sin[x],line_scale_02_sin[x],c0_sin[2]),#y
density=c(30),#塗りつぶす濃度
angle=c(45),#塗りつぶす斜線の角度
col=rgb(0,1,0)) 　 

#塗りつぶし
polygon(c(c0_cos[3],line_scale_02_cos[x],line_scale_03_cos[x],c0_cos[3]),#x
c(c0_sin[3],line_scale_02_sin[x],line_scale_03_sin[x],c0_sin[3]), #y
density=c(30),#塗りつぶす濃度
angle=c(45),#塗りつぶす斜線の角度
col=rgb(0,1,0)) 　

#塗りつぶし
polygon(c(c0_cos[4],line_scale_03_cos[x],line_scale_04_cos[x],c0_cos[4]),#x
c(c0_sin[4],line_scale_03_sin[x],line_scale_04_sin[x],c0_sin[4]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),#塗りつぶす斜線の角度
col=rgb(0,1,0)) 

#塗りつぶし(加法定理証明用三角形その１)
polygon(c(line_scale_01_cos[x],line_scale_02_cos[x],line_scale_04_cos[x],line_scale_01_cos[x]),#x
c(line_scale_01_sin[x],line_scale_02_sin[x],line_scale_04_sin[x],line_scale_01_sin[x]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),#塗りつぶす斜線の角度
col=c(200,200,200)) 

#塗りつぶし(加法定理証明用三角形その2)
polygon(c(line_scale_01_cos[x],line_scale_02_cos[x],line_scale_03_cos[x],line_scale_01_cos[x]),#x
c(line_scale_01_sin[x],line_scale_02_sin[x],line_scale_03_sin[x],line_scale_01_sin[x]), #y
density=c(30), #塗りつぶす濃度
angle=c(45),#塗りつぶす斜線の角度
col=c(200,200,200)) 

#補助線(加法定理証明用)
segments(line_scale_01_cos[x],line_scale_01_sin[x],line_scale_02_cos[x],line_scale_04_sin[x])#ab
segments(line_scale_02_cos[x],line_scale_02_sin[x],line_scale_01_cos[x],line_scale_03_sin[x])#bc
segments(line_scale_03_cos[x], line_scale_03_sin[x],line_scale_04_cos[x],line_scale_02_sin[x])#cd
segments(line_scale_04_cos[x],line_scale_04_sin[x],line_scale_03_cos[x],line_scale_01_sin[x])#da

#補助頂点(加法定理証明用)
text(c(line_scale_02_cos[x],line_scale_01_cos[x],line_scale_04_cos[x],line_scale_03_cos[x]),c(line_scale_04_sin[x],line_scale_03_sin[x],line_scale_02_sin[x],line_scale_01_sin[x]), labels=c("e","f","g","h"),col=c(rgb(0,0,0),rgb(0,0,0),rgb(0,0,0),rgb(0,0,0),rgb(0,0,0)),cex=c(2,2,2,2))
}
```
角度はこれくらいが丁度良い？

```R
Three_square_theorem04(5)
```
![Rplot05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/3f24711b-4585-3ee3-ece1-3a43a629d6c6.png)
###証明1(線分ab-cdが出発点)

1. **線分**_ab-cd_を１と置く。
2. 次いで**角**_ab-cd-da_(<font color="red">以降角αとする</font>)を備える**直角三角形**_ab-cd-da_について**線分**_cd-da_の長さを_<font color="green">cos(α)<font>_、**線分**_da-ab_の長さを_<font color="green">sin(α)<font>_と割り振る。
3. すると**角**_da-cd-d_=**角**_ab-da-a_(<font color="red">以降角βとする</font>)を備えた**直角三角形**_da-cd-d_の**線分**_cd-d_の長さが_<font color="green">cos(α)×cos(β)</font>_、**線分**_da-d_の長さが_<font color="green">cos(α)×sin(β)</font>_、**直角三角形**_ab-da-a_の**線分**_da-a_の長さが_<font color="green">sin(α)×cos(β)</font>_、**線分**_ab-a_の長さが_<font color="green">sin(α)×sin(β)</font>_と定まる。
4. すると**角**_α_と**角**_β_を足し合わせた結果現れる**直角三角形**_cd-ab-e_の**線分**_cd-e_の長さは_<font color="green">cos(α)×cos(β)-sin(α)×sin(β)</font>_(<font color="red">線分cd-dから線分_ab-aを引いた結果</font>)、**線分**_ab-e_の長さは_<font color="green">sin(α)×cos(β)+cos(α)×sin(β)</font>_(<font color="red">線分da-dと線分da-aを足し合わせた結果</font>)となる。

###証明2(線分bc-daが出発点)

1. **線分**_bc-da_を１と置く。
2. 次いで**角**_bc-da-ab_(<font color="red">以降角αとする</font>)を備える**直角三角形**_bc-da-ab_について**線分**_da-ab_の長さを_<font color="green">cos(α)<font>_、**線分**_ab-bc_の長さを_<font color="green">sin(α)<font>_と割り振る。
3. すると**角**_ab-da-a_=**角**_bc-ab-b_(<font color="red">以降角βとする</font>)を備えた**直角三角形**_ab-da-a_の**線分**_da-a_の長さが_<font color="green">cos(α)×cos(β)</font>_、**線分**_ab-a_の長さが_<font color="green">cos(α)×sin(β)</font>_、**直角三角形**_bc-ab-b_の**線分**_ab-b_の長さが_<font color="green">sin(α)×cos(β)</font>_、**線分**_bc-b_の長さが_<font color="green">sin(α)×sin(β)</font>_と定まる。
4. すると**角**_α_と**角**_β_を足し合わせた結果現れる**直角三角形**_bc-da-f_の**線分**_da-f_の長さは_<font color="green">cos(α)×cos(β)-sin(α)×sin(β)</font>_(<font color="red">線分da-aから線分_bc-bを引いた結果</font>)、**線分**_bc-f_の長さは_<font color="green">sin(α)×cos(β)+cos(α)×sin(β)</font>_(<font color="red">線分ab-bと線分ab-aを足し合わせた結果</font>)となる。

###証明3(線分cd-abが出発点)

1. **線分**_cd-ab_を１と置く。
2. 次いで**角**_cd-ab-bc_(<font color="red">以降角αとする</font>)を備える**直角三角形**_cd-ab-bc_について**線分**_ab-bc_の長さを_<font color="green">cos(α)<font>_、**線分**_bc-cd_の長さを_<font color="green">sin(α)<font>_と割り振る。
3. すると**角**_bc-ab-b_=**角**_cd-bc-c_(<font color="red">以降角βとする</font>)を備えたを**直角三角形**_bc-ab-b_の**線分**_ab-b_の長さが_<font color="green">cos(α)×cos(β)</font>_、**線分**_bc-b_の長さが_<font color="green">cos(α)×sin(β)</font>_、**直角三角形_**_cd-bc-c_の**線分**_bc-c_の長さが_<font color="green">sin(α)×cos(β)</font>_、**線分**_cd-c_の長さが_<font color="green">sin(α)×sin(β)</font>_と定まる。
4. すると**角**_α_と**角**_β_を足し合わせた結果現れる**直角三角形**_cd-ab-g_の**線分**_ab-g_の長さは_<font color="green">cos(α)×cos(β)-sin(α)×sin(β)</font>_(<font color="red">線分ab-bから線分_cd-cを引いた結果</font>)、**線分**_cd-g_の長さは_<font color="green">sin(α)×cos(β)+cos(α)×sin(β)</font>_(<font color="red">線分bc-bに線分cd-cを足し合わせた結果</font>)となる。

###証明4(線分da-bcが出発点)

1. **線分**_da-bc_を１と置く。
2. 次いで**角**_da-bc-cd_(<font color="red">以降角αとする</font>)を備える**直角三角形**_da-bc-cd_について**線分**_bc-cd_の長さを_<font color="green">cos(α)<font>_、**線分**_da-cd_の長さを_<font color="green">sin(α)<font>_と割り振る。
3. すると**角**_cd-bc-c_=**角**_da-cd-d_(<font color="red">以降角βとする</font>)を備えたを**直角三角形**_cd-bc-c_の**線分**_bc-c_の長さが_<font color="green">cos(α)×cos(β)</font>_、**線分**_cd-c_の長さが_<font color="green">cos(α)×sin(β)</font>_、**直角三角形**_da-cd-d_の**線分**_cd-d_の長さが_<font color="green">sin(α)×cos(β)</font>_、**線分**_da-d_の長さが_<font color="green">sin(α)×sin(β)</font>_と定まる。
4. すると**角**_α_と**角**_β_を足し合わせた結果現れる**直角三角形**_bc-da-h_の**線分**_bc-h_の長さは_<font color="green">cos(α)×cos(β)-sin(α)×sin(β)</font>_(<font color="red">線分bc-cから線分_da-dを引いた結果</font>)、**線分**_da-h_の長さは_<font color="green">sin(α)×cos(β)+cos(α)×sin(β)</font>_(<font color="red">線分cd-cと線分cd-dを足し合わせた結果</font>)となる。

抽象化すると、こういう事なのです。

<!-- html table generated in R 3.5.2 by xtable 1.8-4 package -->
<!-- Sat Mar 14 15:35:21 2020 -->
<table border=1>
<tr> <th>  </th> <th> ab-cd </th> <th> bc-da </th> <th> cd-ab </th> <th> da-bc </th>  </tr>
  <tr> <td align="right"> α </td> <td> ab-cd-da </td> <td> bc-da-ab </td> <td> cd-ab-bc </td> <td> da-bc-cd </td> </tr>
  <tr> <td align="right"> Cos(α) </td> <td> cd-da </td> <td> da-ab </td> <td> ab-bc </td> <td> bc-cd </td> </tr>
  <tr> <td align="right"> Sin（α) </td> <td> da-ab </td> <td> ab-bc </td> <td> bc-cd </td> <td> da-cd </td> </tr>
  <tr> <td align="right"> β1 </td> <td> da-cd-d </td> <td> ab-da-a </td> <td> bc-ab-b </td> <td> cd-bc-c </td> </tr>
  <tr> <td align="right"> β2 </td> <td> bc-ab-b </td> <td> bc-ab-b </td> <td> cd-bc-c </td> <td> da-cd-d </td> </tr>
  <tr> <td align="right"> Cos(α)Cos(β) </td> <td> cd-d </td> <td> da-a </td> <td> ab-b </td> <td> bc-c </td> </tr>
  <tr> <td align="right"> Cos(α)Sin(β) </td> <td> da-d </td> <td> ab-a </td> <td> bc-b </td> <td> cd-c </td> </tr>
  <tr> <td align="right"> Sin(α)Cos(β) </td> <td> da-a </td> <td> ab-b </td> <td> bc-c </td> <td> cd-d </td> </tr>
  <tr> <td align="right"> Sin(α)Sin(β) </td> <td> ab-a </td> <td> bc-b </td> <td> cd-c </td> <td> da-d </td> </tr>
   </table>

とどのつまり半径１に対する角度αと角度βの加減算について以下が成立。

1. まず半径１に対する_Cos(α)_と_Sin(α)_を算出。
2. 次に_Cos(α)_に対する_Cos(β)_と_Sin(β)_、_Sin(α)_に対する_Cos(β)_と_Sin(β)_を算出。

そしてそれぞれについて以下が成立。

1. _cos(α+β)=cos(α)cos(β)−sin(α)sin(β)_
2. _cos(α−β)=cos(α)cos(β)+sin(α)sin(β)_
3. _sin(α+β)=sin(α)cos(β)+cos(α)sin(β)_
4. _sin(α−β)=sin(α)cos(β)−cos(α)sin(β)_

参考サイト：
[三角関数の加法定理の証明](https://math.nakaken88.com/textbook/standard-proof-of-trigonometric-addition-formulas/)

```R
#各要素の収集
one<-c("ab-cd","bc-da","cd-ab","da-bc")
alpha<-c("ab-cd-da","bc-da-ab","cd-ab-bc","da-bc-cd")
cos_a<-c("cd-da","da-ab","ab-bc","bc-cd")
sin_a<-c("da-ab","ab-bc","bc-cd","da-cd")
beta01<-c("da-cd-d","ab-da-a","bc-ab-b","cd-bc-c")
beta02<-c("bc-ab-b","bc-ab-b","cd-bc-c","da-cd-d")
cos_a_cos_b<-c("cd-d","da-a","ab-b","bc-c")
cos_a_sin_b<-c("da-d","ab-a","bc-b","cd-c")
sin_a_cos_b<-c("da-a","ab-b","bc-c","cd-d")
sin_a_sin_b<-c("ab-a","bc-b","cd-c","da-d")

#AT=Addition Theorem(加法定理の英訳)
AT<- data.frame(alpha=alpha,cos_a=cos_a,sin_a=sin_a,beta01=beta01,beta02=beta02,cos_a_cos_b=cos_a_cos_b,cos_a_sin_b=cos_a_sin_b,sin_a_cos_b=sin_a_cos_b,sin_a_sin_b=sin_a_sin_b)

#行列変換と型戻し
AT01<-as.data.frame(t(AT))

#各段階の名前設定
colnames(AT01)<-one
rownames(AT01)<-c("α","Cos(α)","Sin（α)","β1","β2","Cos(α)Cos(β)","Cos(α)Sin(β)","Sin(α)Cos(β)","Sin(α)Sin(β)")

#HTML出力
library(xtable)
print(xtable(AT01),type="html")
```
参考サイト：
[Rでデータフレームを転置すると行列になる](https://qiita.com/emihat/items/1130b15152621a5e37f5)
具体例として、_π/3ラジアン_(60度)と_π/6ラジアン_(30度)の場合について実際に計算してみました。

```R
#cos(α+β)=cos(α)cos(β)−sin(α)sin(β)
round(cos(pi/3+pi/6),digits=8)
[1] 0
round(cos(pi/3)*cos(pi/6)-sin(pi/3)*sin(pi/6),digits=8)
[1] 0
round(cos(pi/2),digits=8)
[1] 0

#cos(α−β)=cos(α)cos(β)+sin(α)sin(β)
round(cos(pi/3-pi/6),digits=8)
[1] 0.8660254
round(cos(pi/3)*cos(pi/6)+sin(pi/3)*sin(pi/6),digits=8)
[1] 0.8660254
round(cos(pi/6),digits=8)
[1] 0.8660254

#sin(α+β)=sin(α)cos(β)+cos(α)sin(β)
round(sin(pi/3+pi/6),digits=8)
[1] 1
round(sin(pi/3)*cos(pi/6)+cos(pi/3)*sin(pi/6),digits=8)
[1] 1
round(sin(pi/2),digits=8)
[1] 1

#sin(α−β)=sin(α)cos(β)−cos(α)sin(β)
round(sin(pi/3-pi/6),digits=8)
[1] 0.5
round(sin(pi/3)*cos(pi/6)-cos(pi/3)*sin(pi/6),digits=8)
[1] 0.5
round(sin(pi/6),digits=8)
[1] 0.5
```
この投稿を通じて、それまでチンプンカンプンだった以下のサイトの記述が自然に頭に入ってくる様に。やはり「**手を動かす**」作業は相応に重要？
[折り紙一枚で証明する三角関数の加法定理](https://www.yukisako.xyz/entry/kahouteiri)
![20170509152915.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/eaf5a680-b33a-02da-0b30-19f58ec2c2ee.png)
![20170509153626.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/26401a09-79ae-d3a2-409c-4ad737efc5d7.png)
#それでも正方形は回り続ける？
そういえば、このプログラム、元プログラムの特徴を継承して回転するのです。

```R
#アニメーション
library("animation")
Time_Code=c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)
saveGIF({
for (i in Time_Code){
　Three_square_theorem04(i)
}
}, interval = 0.1, movie.name = "TR04.gif") 
```
![TR004.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/25081e53-4ab7-3977-e9cd-dd5ccbae74d1.gif)

全体像を俯瞰するに「**正多角形の外接円と内接円**」ないしは「**円に内接/外接する正多角形**」を巡る数理の応用になっている様です。
[【初心者向け】挟み撃ち定理による円周率πの近似](https://qiita.com/ochimusha01/items/1caff7d8af4aab167aaa)
![20191031092156.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/2d9ca0a6-6aa5-d545-32ad-9f336ff0cdb5.gif)

一辺の長さがaの正n角形に外接する円の半径**<font color="blue">r</font>**

1. <font color="blue">$r=\frac{a}{2\tan(\frac{π}{n})}$</font>
2. <font color="green">$a=r(2\tan(\frac{π}{n}))$</font>

一辺の長さがAの正n角形に内接する円の半径**<font color="red">R</font>**

1. <font color="red">$R=\frac{A}{2\tan(\frac{π}{n})cos(\frac{π}{n})}$</font>
2. <font color="green">$A=R(2\tan(\frac{π}{n})cos(\frac{π}{n}))$</font>

一辺の長さがaの正n角形の外接円の半径と内接円の半径の関係

1.<font color="blue">$r=Rcos(\frac{π}{n})$</font>
2.<font color="red">$R=\frac{r}{cos(\frac{π}{n})}$</font>

外接円を**単位円**（Unit Circle）としたのが上記アニメーション。

1. 外接円の半径**<font color=red>R</font>**は単位円の定義に従って1
2. これに内接する正多辺形の１辺の長さ**<font color="green">A</font>**は$2\tan(\frac{π}{辺数})cos(\frac{π}{辺数})$
3. 外接円に内接する正多辺形の内接円の半径**<font color="blue">r</font>**は$cos(\frac{π}{辺数})$

![20190819051732.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/91fd2787-e634-9a4c-64a8-5616bbd12d65.gif)
この考え方を応用して「**外接多角形と内接多角形が角度θで交わる時の関係**」に言及したのが加法定理で、正n角形の場合その**視座**(Perspective)は$\frac{π}{n}$に限定される形となるのです。
[【オイラーの多面体定理と正多面体】内接円/球面の半径と外接円/球面の半径の狭間](https://qiita.com/ochimusha01/items/1312cc54694cf1a27e17)

* **正三角形の場合**…単位円に内接する正三角形内で正三角形を回すと、その辺長は2:2と1:2の間を反復し続けるが、その比は多層化された内接円と外接円の半径の推移比にぴったりと重なる。<br>![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F597772%2F9ffbc521-ec9d-7c10-5abf-f5be30780267.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&w=1400&fit=max&s=bab03f332d319048ec8ae97203848492)
* **正方形の場合**…単位円に内接する正方形内で正方形を回すと、その辺長はsqrt(2):sqrt(2)と1:2の間を反復し続けるが、その比は多層化された内接円と外接円の半径の推移比にぴったりと重なる。<br>![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F597772%2Ffd59150f-72ba-3566-7534-2d2bb6f3a177.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&w=1400&fit=max&s=08df25067f1fbf8f06826ceff48d8f89)
* **正五角形の場合**…単位円に内接する正五角形の辺長は0.5567581。もはや同心円の連鎖は発生しない。<br>![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F597772%2Fe906bf3b-a3d8-95a1-0fcf-13f25835912b.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&w=1400&fit=max&s=b97730a95325fb8a3359454a892b2b93)
* **正六角形の場合**…単位円に内接する正六角形の辺長は0.5。やはりもはや同心円の連鎖は発生しない。<br>![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F597772%2F653e13a6-ce63-58b4-9ead-c6b274c6c223.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&w=1400&fit=max&s=8db3a0fe7b852592bbe879b6a31d553c)

#オイラーの公式に基づく証明

ここでの記述は以下を参照しています。
[【超わかる】オイラーの公式を見て！聞いて！感じるンゴ！](https://www.gachitan.com/entry/eulers_formula)

三角関数の加法定理は、オイラーの公式$e^{θi}=\cos(θ)+\sin(θ)i$を用いても証明可能です。

①まずは複素指数関数の掛け算の公式から出発する。

```math
e^{iα}+e^{iβ}=e^{i(α+β)}
```
②左辺にオイラーの公式を代入する。

```math
(\cos(α)+\sin(α)i)(\cos(β)+\sin(β)i)\\
=(\cos(α)\cos(β)-\sin(α)sin(β))+(\sin(α)\cos(β)+\cos(α)\sin(β))i
```
②右辺にオイラーの公式を代入する。

```math
\cos(α+β)+\sin(α+β)i
```
③よって

```math
\cos(α+β)=(\cos(α)\cos(β)-\sin(α)sin(β))\\
\sin(α+β)=(\sin(α)\cos(β)+\cos(α)\sin(β))
```
最後の(iの除き方を含む)整式過程が面白いですね。

そんな感じで以下続報…