【オイラーの多面体定理と正多面体】正四面体と正六面体と正八面体の連続性と「テトラパックの思わぬ正体」について。


まずは基本中の基本から。**正三角形**(<font color="blue">Reguler Triangle</font>)は**三辺比**<font color="green">2:1:sqrt(3)</font>の**直角三角形**(<font color="blue">Right Triangle</font>)２つから構成されています。
![20200207094535.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/50c9b16f-bd89-df18-8a2a-9ae775f4fa4a.png)

```R
#分割数Nod(Number of divide)=3

NoD<-3
#円周分割数列(Sequence of Divided Circumference)
SoDC<-seq(0,2*pi,length=NoD+1)
#円周上の三角形の頂点を集める。
cx_nomal=cos(SoDC)
cy_nomal=sin(SoDC)
cx_reverse=cos(SoDC+pi)
cy_reverse=sin(SoDC+pi)
#グラフ描画
plot(cx_nomal,cy_nomal,col=rgb(0,0,1),type="l",xlim=c(-1,1),ylim=c(-1,1),main="Regular Triangle",xlab="Cos(θ)",ylab="Sin(θ)",lwd=1.2)
par(new=T)
plot(cx_reverse,cy_reverse,col=rgb(1,0,0),type="l",xlim=c(-1,1),ylim=c(-1,1),main="",xlab="",ylab="",lwd=1.2)
#背景円の塗り潰し
Circumference<-seq(0,2*pi,length=60)
cx_circle=cos(Circumference)
cy_circle=sin(Circumference)
polygon(cx_circle, #x
cy_circle, #y
density=c(30), #塗りつぶす濃度
angle=c(45),　 　　　#塗りつぶす斜線の角度
col=c(200,200,200)) 　#塗りつぶす色

#文字追加
text(cx_nomal,cy_nomal, labels=c("a","b","c"),col=rgb(0,0,1))
text(cx_reverse,cy_reverse, labels=c("a","b","c"),col=rgb(1,0,0))
#補助線と補助文字追加
segments(1,0,-1,0,lty=3,col=rgb(0,0,0))
text(cx_nomal[2],0, labels=c("d"),col=rgb(0,0,1))
text(cx_reverse[2],0, labels=c("d"),col=rgb(1,0,0))
```
<!-- html table generated in R 3.5.2 by xtable 1.8-4 package -->
<!-- Thu Apr  9 03:50:44 2020 -->
<table border=1>
<tr> <th>  </th> <th> ac </th> <th> ad </th> <th> cd </th>  </tr>
  <tr> <td align="right"> 1 </td> <td> sqrt(3) </td> <td> 2 </td> <td> 1 </td> </tr>
  <tr> <td align="right"> 2 </td> <td> 1 </td> <td> 2/sqrt(3) </td> <td> 1/sqrt(3) </td> </tr>
  <tr> <td align="right"> 3 </td> <td> 1/2 </td> <td> 1/sqrt(3) </td> <td> 1/(2*sqrt(3)) </td> </tr>
   </table>

```R
 #三角比(Triangle Ratio)一覧

angle_ac<-c("sqrt(3)","1","1/2")
angle_ad<-c("2","2/sqrt(3)","1/sqrt(3)")
angle_cd<-c("1","1/sqrt(3)","1/(2*sqrt(3))")

library(xtable)
TR01<- data.frame(ac=angle_ac,ad=angle_ad,cd=angle_cd)
print(xtable(TR01),type="html")
```
それでは「**騙し絵版画家**」エッシャー（<font color="blue">Maurits Cornelis Escher, 1898年～1972年</font>）も注目した以下の立体図形の組み合わせ方について考えてみましょう。
![20200207063515.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/f903ff17-e3b2-a5b9-bbef-b0e8b400eefa.png)
**正三角形**(<font color="blue">Regular Triangle</font>)にはその角度(<font color="blue">60度=2/3πラジアン</font>)の和が<font color="green">360度</font>(<font color="blue">2πラジアン</font>)となる組み合わせ（<font color="blue">6個</font>）がある上、４個の組み合わせが自己相似形となる為、**正方形**や**正六角形**(<font color="blue">実体として正三角形を6個集めたもの</font>)同様に単独で**平面充填**(<font color="blue">Tiling</font>)性を備える**正平面充填形** (<font color="blue">Regular Tessellation</font>)に分類されます。
[大人になってからの再学習:平面充当](http://zellij.hatenablog.com/entry/20130202/p1)
[平面充填 - Wikipedia](https://ja.wikipedia.org/wiki/%E5%B9%B3%E9%9D%A2%E5%85%85%E5%A1%AB)
その延長線上で一見、**正四面体**(<font color="blue">Regular Tetrahedron</font>)もまた**空間充当**（<font color="blue">Space-filling</font>）性を備えているかの様に見えるのですが…
![20200207044808.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/fe7a0a07-fc3f-c8fc-418b-ef57c8d8438e.gif)

```R
library(rgl)
#分割数Nod(Number of divide)=3
NoD<-3
#円周分割数列(Sequence of Divided Circumference)
SoDC<-seq(0,2*pi,length=NoD+1)
#座標起点
texts3d(-1,0,0,texts=c("(-1,0,0)"),col=rgb(1,0,0),adj=1.0)
texts3d(1,0,0,texts=c("(1,0,0)"),col=rgb(0,0,1),adj=1.0)
#-1を起点(start point)とする正四面体（Normal(Regular)Tetrahedron）
my<-cos(SoDC)
mz<-sin(SoDC)
mx<-c(1/3,1/3,1/3,1/3)
triangles3d(c(-1,mx[2:3]),c(0,my[2:3]),c(0,mz[2:3]),col=rgb(1,0,0),lwd=1)
triangles3d(c(mx[1],-1,mx[3]),c(my[1],0,my[3]),c(mz[1],0,mz[3]),col=rgb(1,0,0),lwd=1)
triangles3d(c(mx[1:2],-1),c(my[1:2],0),c(mz[1:2],0),col=rgb(1,0,0),lwd=1)
triangles3d(mx[1:3],my[1:3],mz[1:3],col=rgb(1,0,0),lwd=1)
#1を起点(start point)とする逆正四面体（Reverse(Regular)Tetrahedron）
py<-cos(SoDC+pi)
pz<-sin(SoDC+pi)
px<-c(-1/3,-1/3,-1/3,-1/3)
triangles3d(c(1,px[2:3]),c(0,py[2:3]),c(0,pz[2:3]),col=rgb(0,0,1),lwd=1)
triangles3d(c(px[1],1,px[3]),c(py[1],0,py[3]),c(pz[1],0,pz[3]),col=rgb(0,0,1),lwd=1)
triangles3d(c(px[1:2],1),c(py[1:2],0),c(pz[1:2],0),col=rgb(0,0,1),lwd=1)
triangles3d(px[1:3],py[1:3],pz[1:3],col=rgb(0,0,1),lwd=1)

#アニメーション
movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="C:/Users/81806/Desktop/Markdown/Tetrahedron03")
```
透視図化すると胡麻化してる箇所が浮かび上がってきます。要するに隠された内部でこっそり誤魔化しが発生してるんですね。
![20200207022654.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/a0a7c416-ad7b-6c2d-ad72-eb0170710366.gif)

```R
library(rgl)
#分割数Nod(Number of divide)=3
NoD<-3
#円周分割数列(Sequence of Divided Circumference)
SoDC<-seq(0,2*pi,length=NoD+1)
#座標起点
texts3d(-1,0,0,texts=c("(-1,0,0)"),col=rgb(1,0,0),adj=1.0)
texts3d(1,0,0,texts=c("(1,0,0)"),col=rgb(0,0,1),adj=1.0)
#texts3d(-5/3,0,0,texts=c("(-5/3,0,0)"),col=rgb(0,0,1),adj=1.0)
#texts3d(5/3,0,0,texts=c("(5/3,0,0)"),col=rgb(1,0,0),adj=1.0)
#-1を起点(start point)とする正四面体（Normal(Regular)Tetrahedron）
my<-cos(SoDC)
mz<-sin(SoDC)
mx<-c(1/3,1/3,1/3,1/3)
lines3d(c(-1,mx[1]),c(0,my[1]),c(0,mz[1]),col=rgb(1,0,0),lwd=1)
lines3d(c(-1,mx[2]),c(0,my[2]),c(0,mz[2]),col=rgb(1,0,0),lwd=1)
lines3d(c(-1,mx[3]),c(0,my[3]),c(0,mz[3]),col=rgb(1,0,0),lwd=1)
triangles3d(mx[1:3],my[1:3],mz[1:3],col=rgb(1,0,0),lwd=1)
#lines3d(c(mx[1],mx[2]),c(my[1],my[2]),c(mz[1],mz[2]),col=rgb(1,0,0),lwd=1)
#lines3d(c(mx[2],mx[3]),c(my[2],my[3]),c(mz[2],mz[3]),col=rgb(1,0,0),lwd=1)
#lines3d(c(mx[3],mx[1]),c(my[3],my[1]),c(mz[3],mz[1]),col=rgb(1,0,0),lwd=1)
#lines3d(c(5/3,mx[1]),c(0,my[1]),c(0,mz[1]),col=rgb(1,0,0),lwd=1)
#lines3d(c(5/3,mx[2]),c(0,my[2]),c(0,mz[2]),col=rgb(1,0,0),lwd=1)
#lines3d(c(5/3,mx[3]),c(0,my[3]),c(0,mz[3]),col=rgb(1,0,0),lwd=1)

#1を起点(start point)とする逆正四面体（Reverse(Regular)Tetrahedron）
py<-cos(SoDC+pi)
pz<-sin(SoDC+pi)
px<-c(-1/3,-1/3,-1/3,-1/3)
lines3d(c(1,px[1]),c(0,py[1]),c(0,pz[1]),col=rgb(0,0,1),lwd=1)
lines3d(c(1,px[2]),c(0,py[2]),c(0,pz[2]),col=rgb(0,0,1),lwd=1)
lines3d(c(1,px[3]),c(0,py[3]),c(0,pz[3]),col=rgb(0,0,1),lwd=1)
triangles3d(px[1:3],py[1:3],pz[1:3],col=rgb(0,0,1),lwd=1)
#lines3d(c(px[1],px[2]),c(py[1],py[2]),c(pz[1],pz[2]),col=rgb(1,0,0),lwd=1)
#lines3d(c(px[2],px[3]),c(py[2],py[3]),c(pz[2],pz[3]),col=rgb(1,0,0),lwd=1)
#lines3d(c(px[3],px[1]),c(py[3],py[1]),c(pz[3],pz[1]),col=rgb(1,0,0),lwd=1)
#lines3d(c(-5/3,px[1]),c(0,py[1]),c(0,pz[1]),col=rgb(1,0,0),lwd=1)
#lines3d(c(-5/3,px[2]),c(0,py[2]),c(0,pz[2]),col=rgb(1,0,0),lwd=1)
#lines3d(c(-5/3,px[3]),c(0,py[3]),c(0,pz[3]),col=rgb(1,0,0),lwd=1)

#アニメーション
movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="C:/Users/81806/Desktop/Markdown/Tetrahedron01")
```
2個連ねるとさらに**周期**のズレが明瞭に見て取れます。

![20200207021516.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/e60c5ed5-c515-4f34-ea5f-2d1b7af27f62.gif)

```R
library(rgl)
#分割数Nod(Number of divide)=3
NoD<-3
#円周分割数列(Sequence of Divided Circumference)
SoDC<-seq(0,2*pi,length=NoD+1)
#座標起点
texts3d(-1,0,0,texts=c("(-1,0,0)"),col=rgb(1,0,0),adj=1.0)
texts3d(1,0,0,texts=c("(1,0,0)"),col=rgb(0,0,1),adj=1.0)
texts3d(-5/3,0,0,texts=c("(-5/3,0,0)"),col=rgb(0,0,1),adj=1.0)
texts3d(5/3,0,0,texts=c("(5/3,0,0)"),col=rgb(1,0,0),adj=1.0)
#-1を起点(start point)とする正四面体（Normal(Regular)Tetrahedron）
my<-cos(SoDC)
mz<-sin(SoDC)
mx<-c(1/3,1/3,1/3,1/3)
lines3d(c(-1,mx[1]),c(0,my[1]),c(0,mz[1]),col=rgb(1,0,0),lwd=1)
lines3d(c(-1,mx[2]),c(0,my[2]),c(0,mz[2]),col=rgb(1,0,0),lwd=1)
lines3d(c(-1,mx[3]),c(0,my[3]),c(0,mz[3]),col=rgb(1,0,0),lwd=1)
triangles3d(mx[1:3],my[1:3],mz[1:3],col=rgb(1,0,0),lwd=1)
#lines3d(c(mx[1],mx[2]),c(my[1],my[2]),c(mz[1],mz[2]),col=rgb(1,0,0),lwd=1)
#lines3d(c(mx[2],mx[3]),c(my[2],my[3]),c(mz[2],mz[3]),col=rgb(1,0,0),lwd=1)
#lines3d(c(mx[3],mx[1]),c(my[3],my[1]),c(mz[3],mz[1]),col=rgb(1,0,0),lwd=1)
lines3d(c(5/3,mx[1]),c(0,my[1]),c(0,mz[1]),col=rgb(1,0,0),lwd=1)
lines3d(c(5/3,mx[2]),c(0,my[2]),c(0,mz[2]),col=rgb(1,0,0),lwd=1)
lines3d(c(5/3,mx[3]),c(0,my[3]),c(0,mz[3]),col=rgb(1,0,0),lwd=1)

#1を起点(start point)とする逆正四面体（Reverse(Regular)Tetrahedron）
py<-cos(SoDC+pi)
pz<-sin(SoDC+pi)
px<-c(-1/3,-1/3,-1/3,-1/3)
lines3d(c(1,px[1]),c(0,py[1]),c(0,pz[1]),col=rgb(0,0,1),lwd=1)
lines3d(c(1,px[2]),c(0,py[2]),c(0,pz[2]),col=rgb(0,0,1),lwd=1)
lines3d(c(1,px[3]),c(0,py[3]),c(0,pz[3]),col=rgb(0,0,1),lwd=1)
triangles3d(px[1:3],py[1:3],pz[1:3],col=rgb(0,0,1),lwd=1)
#lines3d(c(px[1],px[2]),c(py[1],py[2]),c(pz[1],pz[2]),col=rgb(1,0,0),lwd=1)
#lines3d(c(px[2],px[3]),c(py[2],py[3]),c(pz[2],pz[3]),col=rgb(1,0,0),lwd=1)
#lines3d(c(px[3],px[1]),c(py[3],py[1]),c(pz[3],pz[1]),col=rgb(1,0,0),lwd=1)

lines3d(c(-5/3,px[1]),c(0,py[1]),c(0,pz[1]),col=rgb(0,0,1),lwd=1)
lines3d(c(-5/3,px[2]),c(0,py[2]),c(0,pz[2]),col=rgb(0,0,1),lwd=1)
lines3d(c(-5/3,px[3]),c(0,py[3]),c(0,pz[3]),col=rgb(0,0,1),lwd=1)

#アニメーション
movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="C:/Users/81806/Desktop/Markdown/Tetrahedron02")
```
[空間充填立体](https://hamaguri.sakura.ne.jp/kuukanzyuutenn.html)

>T：三角形を２倍に拡大すると面積は４倍になります。図で示すと一目瞭然です。
![20200207062118.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/20884e39-ebca-7da9-9b63-8d7d0f6eb53c.png)
つまり真ん中の三角形が**中点連結定理**(<font color="blue">midpoint(connector)theorem</font>)で合同となり、**相似比**<font color="green">1:2</font>だから**面積比**<font color="green">1^2:2^2=1:4</font>となるからです。では、立体だったらどうでしょう。**正四面体**(<font color="blue">Regular Tetrahedron</font>)で考えてみましょう。正四面体の各辺を２倍にします。同じ大きさの正四面体を何個か作り並べてみます。**体積比**<font color="green">1^3:2^3=1:8</font>)ですから8個の正四面体が入るはずです。
![20200207064135.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/ae6e5dfc-3ad2-1720-722a-4a2029b9bdeb.png)
写真のように**正四面体**を<font color="green">３個</font>並べて真ん中に<font color="green">4個目</font>を置いてみます。この上に正四面体のせようとしても上手くいきません。正四面体を隙間無く充填することはできないのです。そこで、真ん中の正四面体を取り、代わりにどんな立体が入るのか考えてみましょう…そうです、ずばり**正八面体**(<font color="blue">Regular Octahedron</font>)です。
![20200207065003.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/2df14fdf-ec07-4ea5-de39-60a808e61ea9.png)

[正四面体 - Wikipedia](https://ja.wikipedia.org/wiki/%E6%AD%A3%E5%9B%9B%E9%9D%A2%E4%BD%93)
>4枚の合同な正三角形を面とする四面体で、対角線が存在しない。
①**面数**<font color="green">4</font>、**辺数**<font color="green">6</font>、**頂点数**<font color="green">4</font>。あらゆる多面体で最少の数であり、また**パスカルの三角形**<font color="green">第5段2～4番目の数字</font>と重なる。
[【初心者向け】パスカルの三角形と二項定理または二項展開](https://qiita.com/ochimusha01/items/d668b19d5389b52e0dd2)
②頂点形状は正三角形であり、**辺**<font color="green">3本</font>と**正三角形**<font color="green">3枚</font>が集まるが、こちらは**パスカルの三角形**<font color="green">第4段2、3番目の数字</font>と重なる。
[【初心者向け】パスカルの三角形と二項定理または二項展開](https://qiita.com/ochimusha01/items/d668b19d5389b52e0dd2)
![20190607050700.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/7ecaca88-118a-5bbb-0b85-70dc193907b6.png)
③**立方体**(<font color="blue">Regular Hexahedron</font>) <font color="green">(±1, ±1, ±1)</font>の4つの頂点<font color="green">(1,1,1)</font>,<font color="green">(1,-1,-1)</font>,<font color="green">(-1,1,-1)</font>,<font color="green">(-1,-1,1)</font> を結べば正四面体になる。
[正六面体 - Wikipedia](https://ja.wikipedia.org/wiki/%E6%AD%A3%E5%85%AD%E9%9D%A2%E4%BD%93)
![triangles001.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210125/20210125150335.gif)
④正四面体の辺の中点を結べば、**正八面体**(<font color="blue">Regular Octahedron</font>)になる。このとき4個の正四面体ができる。逆に正八面体の互い違いの4面を延長すると、正四面体になる。正四面体単独での空間充填は出来ないが、正八面体と組み合わせた空間充填は可能である。
[正八面体 - Wikipedia](https://ja.wikipedia.org/wiki/%E6%AD%A3%E5%85%AB%E9%9D%A2%E4%BD%93)
![triangles004.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fo%2Fochimusha01%2F20201129%2F20201129055848.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&s=8aaababc6b4f244b6086ae1fe5f1bdc1)
展開図は2通りあり、一方は正三角形、もう一方は平行四辺形になる。
![20200207070342.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/594f2b02-7f58-fbea-e9f9-bbdc7cb215f0.png)
自らと双対(dual, duality)である（自己双対多面体）。

作図過程は以下。
<font color="green">まず立方体における平行対角線と立方対角線に注目する。</font>
![20200210060711.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/9234b8e1-e43f-1399-7e2f-9736700565a1.gif)

```R
library(rgl)
#頂点座標=8個
texts3d(0,0,0,texts=c("(0,0,0)"),col=rgb(0,0,0),adj=1.0)
texts3d(1,0,0,texts=c("(1,0,0)"),col=rgb(0,0,0),adj=1.0)
texts3d(0,1,0,texts=c("(0,1,0)"),col=rgb(0,0,0),adj=1.0)
texts3d(1,1,0,texts=c("(1,1,0)"),col=rgb(0,0,0),adj=1.0)
texts3d(0,0,1,texts=c("(0,0,1)"),col=rgb(0,0,0),adj=1.0)
texts3d(1,0,1,texts=c("(1,0,1)"),col=rgb(0,0,0),adj=1.0)
texts3d(0,1,1,texts=c("(0,1,1)"),col=rgb(0,0,0),adj=1.0)
texts3d(1,1,1,texts=c("(1,1,1)"),col=rgb(0,0,0),adj=1.0)
#正六面体(Square)本体=6面

lines3d(c(0,1,1,0,0),c(0,0,1,1,0),c(0,0,0,0,0),col=rgb(0,0,0),lwd=1)
lines3d(c(0,1,1,0,0),c(0,0,1,1,0),c(1,1,1,1,1),col=rgb(0,0,0),lwd=1)
lines3d(c(0,0),c(0,0),c(0,1),col=rgb(0,0,0),lwd=1)
lines3d(c(1,1),c(0,0),c(0,1),col=rgb(0,0,0),lwd=1)
lines3d(c(0,0),c(1,1),c(0,1),col=rgb(0,0,0),lwd=1)
lines3d(c(1,1),c(1,1),c(0,1),col=rgb(0,0,0),lwd=1)

#平方対角線(長さsqrt(2))=6面*2=12本
lines3d(c(0,1),c(0,1),c(0,0),col=rgb(0,1,0),lwd=1)
lines3d(c(0,1),c(1,0),c(0,0),col=rgb(0,1,0),lwd=1)
lines3d(c(0,1),c(0,1),c(1,1),col=rgb(0,1,0),lwd=1)
lines3d(c(0,0),c(0,1),c(0,1),col=rgb(0,1,0),lwd=1)
lines3d(c(0,1),c(1,0),c(1,1),col=rgb(0,1,0),lwd=1)
lines3d(c(0,0),c(0,1),c(1,0),col=rgb(0,1,0),lwd=1)
lines3d(c(0,1),c(0,0),c(0,1),col=rgb(0,1,0),lwd=1)
lines3d(c(0,1),c(0,0),c(1,0),col=rgb(0,1,0),lwd=1)
lines3d(c(1,1),c(0,1),c(1,0),col=rgb(0,1,0),lwd=1)
lines3d(c(1,1),c(0,1),c(0,1),col=rgb(0,1,0),lwd=1)
lines3d(c(0,1),c(1,1),c(1,0),col=rgb(0,1,0),lwd=1)
lines3d(c(0,1),c(1,1),c(0,1),col=rgb(0,1,0),lwd=1)

#立方対角線(長さsqrt(3))=3本

lines3d(c(0,1),c(0,1),c(0,1),col=rgb(0,0,1),lwd=1)
lines3d(c(0,1),c(1,0),c(1,0),col=rgb(0,0,1),lwd=1)
lines3d(c(0,1),c(0,1),c(1,0),col=rgb(0,0,1),lwd=1)

#アニメーション
movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="C:/Users/81806/Desktop/Markdown/square001") 
```
<font color="green">平方対角線同士を結ぶと２つの正四面体が現れる。</font>

![triangles001.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20210125/20210125150335.gif)

```R
library(rgl)
#頂点座標=8個
texts3d(0,0,0,texts=c("(0,0,0)"),col=rgb(0,0,0),adj=1.0)
texts3d(1,0,0,texts=c("(1,0,0)"),col=rgb(0,0,0),adj=1.0)
texts3d(0,1,0,texts=c("(0,1,0)"),col=rgb(0,0,0),adj=1.0)
texts3d(1,1,0,texts=c("(1,1,0)"),col=rgb(0,0,0),adj=1.0)
texts3d(0,0,1,texts=c("(0,0,1)"),col=rgb(0,0,0),adj=1.0)
texts3d(1,0,1,texts=c("(1,0,1)"),col=rgb(0,0,0),adj=1.0)
texts3d(0,1,1,texts=c("(0,1,1)"),col=rgb(0,0,0),adj=1.0)
texts3d(1,1,1,texts=c("(1,1,1)"),col=rgb(0,0,0),adj=1.0)
#正六面体(Square)本体=6面

lines3d(c(0,1,1,0,0),c(0,0,1,1,0),c(0,0,0,0,0),col=rgb(0,0,0),lwd=1)
lines3d(c(0,1,1,0,0),c(0,0,1,1,0),c(1,1,1,1,1),col=rgb(0,0,0),lwd=1)
lines3d(c(0,0),c(0,0),c(0,1),col=rgb(0,0,0),lwd=1)
lines3d(c(1,1),c(0,0),c(0,1),col=rgb(0,0,0),lwd=1)
lines3d(c(0,0),c(1,1),c(0,1),col=rgb(0,0,0),lwd=1)
lines3d(c(1,1),c(1,1),c(0,1),col=rgb(0,0,0),lwd=1)

#平方対角線(長さsqrt(2))=6面*2=12本
lines3d(c(0,1),c(0,1),c(0,0),col=rgb(0,1,0),lwd=1)
lines3d(c(0,1),c(1,0),c(0,0),col=rgb(0,1,0),lwd=1)
lines3d(c(0,1),c(0,1),c(1,1),col=rgb(0,1,0),lwd=1)
lines3d(c(0,0),c(0,1),c(0,1),col=rgb(0,1,0),lwd=1)
lines3d(c(0,1),c(1,0),c(1,1),col=rgb(0,1,0),lwd=1)
lines3d(c(0,0),c(0,1),c(1,0),col=rgb(0,1,0),lwd=1)
lines3d(c(0,1),c(0,0),c(0,1),col=rgb(0,1,0),lwd=1)
lines3d(c(0,1),c(0,0),c(1,0),col=rgb(0,1,0),lwd=1)
lines3d(c(1,1),c(0,1),c(1,0),col=rgb(0,1,0),lwd=1)
lines3d(c(1,1),c(0,1),c(0,1),col=rgb(0,1,0),lwd=1)
lines3d(c(0,1),c(1,1),c(1,0),col=rgb(0,1,0),lwd=1)
lines3d(c(0,1),c(1,1),c(0,1),col=rgb(0,1,0),lwd=1)

#立方対角線(長さsqrt(3))=3本

lines3d(c(0,1),c(0,1),c(0,1),col=rgb(0,0,1),lwd=1)
lines3d(c(0,1),c(1,0),c(1,0),col=rgb(0,0,1),lwd=1)
lines3d(c(0,1),c(0,1),c(1,0),col=rgb(0,0,1),lwd=1)

#正四面体(1辺sqrt(2))=2個(000起点)
triangles3d(c(0,1,1),c(0,1,0),c(0,0,1),col=rgb(0,0,1),lwd=1)
triangles3d(c(0,1,0),c(0,0,1),c(0,1,1),col=rgb(0,0,1),lwd=1)
triangles3d(c(0,0,1),c(0,1,1),c(0,1,0),col=rgb(0,0,1),lwd=1)
triangles3d(c(1,1,0),c(1,0,1),c(0,1,1),col=rgb(0,0,1),lwd=1)

#正四面体(1辺sqrt(2))=2個(111起点)
triangles3d(c(1,0,0),c(1,1,0),c(1,0,1),col=rgb(1,0,0),lwd=1)
triangles3d(c(1,0,1),c(1,1,0),c(1,0,0),col=rgb(1,0,0),lwd=1)
triangles3d(c(1,1,0),c(1,0,0),c(1,0,1),col=rgb(1,0,0),lwd=1)
triangles3d(c(0,0,1),c(0,1,0),c(1,0,0),col=rgb(1,0,0),lwd=1)

#アニメーション
movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="~/Desktop/triangles001") 
```
<font color="green">そして2つの正四面体の交点として正八面体が現れる。</font>
![triangles004.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201129/20201129055848.gif)

```R
library(rgl)
#頂点座標=8個
texts3d(0,0,0,texts=c("(0,0,0)"),col=rgb(0,0,0),adj=1.0)
texts3d(1,0,0,texts=c("(1,0,0)"),col=rgb(0,0,0),adj=1.0)
texts3d(0,1,0,texts=c("(0,1,0)"),col=rgb(0,0,0),adj=1.0)
texts3d(1,1,0,texts=c("(1,1,0)"),col=rgb(0,0,0),adj=1.0)
texts3d(0,0,1,texts=c("(0,0,1)"),col=rgb(0,0,0),adj=1.0)
texts3d(1,0,1,texts=c("(1,0,1)"),col=rgb(0,0,0),adj=1.0)
texts3d(0,1,1,texts=c("(0,1,1)"),col=rgb(0,0,0),adj=1.0)
texts3d(1,1,1,texts=c("(1,1,1)"),col=rgb(0,0,0),adj=1.0)
#正六面体(Square)本体=6面

lines3d(c(0,1,1,0,0),c(0,0,1,1,0),c(0,0,0,0,0),col=rgb(0,0,0),lwd=1)
lines3d(c(0,1,1,0,0),c(0,0,1,1,0),c(1,1,1,1,1),col=rgb(0,0,0),lwd=1)
lines3d(c(0,0),c(0,0),c(0,1),col=rgb(0,0,0),lwd=1)
lines3d(c(1,1),c(0,0),c(0,1),col=rgb(0,0,0),lwd=1)
lines3d(c(0,0),c(1,1),c(0,1),col=rgb(0,0,0),lwd=1)
lines3d(c(1,1),c(1,1),c(0,1),col=rgb(0,0,0),lwd=1)

#平方対角線(長さsqrt(2))=6面*2=12本
lines3d(c(0,1),c(0,1),c(0,0),col=rgb(0,1,0),lwd=1)
lines3d(c(0,1),c(1,0),c(0,0),col=rgb(0,1,0),lwd=1)
lines3d(c(0,1),c(0,1),c(1,1),col=rgb(0,1,0),lwd=1)
lines3d(c(0,0),c(0,1),c(0,1),col=rgb(0,1,0),lwd=1)
lines3d(c(0,1),c(1,0),c(1,1),col=rgb(0,1,0),lwd=1)
lines3d(c(0,0),c(0,1),c(1,0),col=rgb(0,1,0),lwd=1)
lines3d(c(0,1),c(0,0),c(0,1),col=rgb(0,1,0),lwd=1)
lines3d(c(0,1),c(0,0),c(1,0),col=rgb(0,1,0),lwd=1)
lines3d(c(1,1),c(0,1),c(1,0),col=rgb(0,1,0),lwd=1)
lines3d(c(1,1),c(0,1),c(0,1),col=rgb(0,1,0),lwd=1)
lines3d(c(0,1),c(1,1),c(1,0),col=rgb(0,1,0),lwd=1)
lines3d(c(0,1),c(1,1),c(0,1),col=rgb(0,1,0),lwd=1)

#立方対角線(長さsqrt(3))=3本

lines3d(c(0,1),c(0,1),c(0,1),col=rgb(0,0,1),lwd=1)
lines3d(c(0,1),c(1,0),c(1,0),col=rgb(0,0,1),lwd=1)
lines3d(c(0,1),c(0,1),c(1,0),col=rgb(0,0,1),lwd=1)

#正八面体(1辺sqrt(2))
triangles3d(c(1,1/2,1/2),c(1/2,1,1/2),c(1/2,1/2,0),col=rgb(0,1,0),lwd=1)
triangles3d(c(1/2,0,1/2),c(1,1/2,1/2),c(1/2,1/2,0),col=rgb(0,1,0),lwd=1)
triangles3d(c(0,1/2,1/2),c(1/2,0,1/2),c(1/2,1/2,0),col=rgb(0,1,0),lwd=1)
triangles3d(c(1/2,1,1/2),c(0,1/2,1/2),c(1/2,1/2,0),col=rgb(0,1,0),lwd=1)

triangles3d(c(1,1/2,1/2),c(1/2,1,1/2),c(1/2,1/2,1),col=rgb(0,1,0),lwd=1)
triangles3d(c(1/2,0,1/2),c(1,1/2,1/2),c(1/2,1/2,1),col=rgb(0,1,0),lwd=1)
triangles3d(c(0,1/2,1/2),c(1/2,0,1/2),c(1/2,1/2,1),col=rgb(0,1,0),lwd=1)
triangles3d(c(1/2,1,1/2),c(0,1/2,1/2),c(1/2,1/2,1),col=rgb(0,1,0),lwd=1)

#アニメーション
movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="~/Desktop/triangles004") 
```

また正四面体は正六面体や正十二面体同様「**頭蹠と対蹠にそれぞれ正三角形を３枚集めた奇数図形**(<font color="blue">不安定状態</font>)」から出発して**安定した偶数状態**に到達した結果とも見て取れるのです。
![Preoctahedron05.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/d0065268-3758-a020-90f9-7e7f32059b5b.gif)

```R
library(rgl)
#分割数Nod(Number of divide)=4
NoD<-4
#円周分割数列(Sequence of Divided Circumference)
SoDC<-seq(0,2*pi,length=NoD+1)

#原蹠(PorTal)
portal_i<-0
portal_j<-0
portal_k<-1
portal_text=paste0("AP(",portal_i,",",portal_j,",",portal_k,")")

#原蹠表示
texts3d(portal_i,portal_j,portal_k,texts=portal_text,col=rgb(0,0,0),adj=1.0)

#対蹠(AntiPordal)
antipordal_i<-0
antipordal_j<-0
antipordal_k<--1
antipordal_text=paste0("AP(",antipordal_i,",",antipordal_j,",",antipordal_k,")")

#対蹠表示
texts3d(antipordal_i,antipordal_j,antipordal_k,texts=antipordal_text,col=rgb(0,0,0),adj=1.0)

#立方対角線(Cubic Diagonal)
lines3d(c(portal_i,antipordal_i),c(portal_j,antipordal_j),c(portal_k,antipordal_k),col=rgb(1,0,0),lwd=2)

#正八面体描画
mx<-cos(SoDC)
my<-sin(SoDC)

lines3d(c(portal_i,mx[1]),c(portal_j,my[1]),c(portal_k,0),col=rgb(0,0,0),lwd=1)
lines3d(c(portal_i,mx[2]),c(portal_j,my[2]),c(portal_k,0),col=rgb(0,0,0),lwd=1)
#lines3d(c(portal_i,mx[3]),c(portal_j,my[3]),c(portal_k,0),col=rgb(0,0,0),lwd=1)
lines3d(c(portal_i,mx[4]),c(portal_j,my[4]),c(portal_k,0),col=rgb(0,0,0),lwd=1)

lines3d(c(mx[1],mx[2]),c(my[1],my[2]),c(0,0),col=rgb(0,0,0),lwd=1)
lines3d(c(mx[2],mx[3]),c(my[2],my[3]),c(0,0),col=rgb(0,0,0),lwd=1)
lines3d(c(mx[3],mx[4]),c(my[3],my[4]),c(0,0),col=rgb(0,0,0),lwd=1)
lines3d(c(mx[4],mx[1]),c(my[4],my[1]),c(0,0),col=rgb(0,0,0),lwd=1)

#lines3d(c(mx[1],antipordal_i),c(my[1],antipordal_j),c(0,antipordal_k),col=rgb(0,0,0),lwd=1)
lines3d(c(mx[2],antipordal_i),c(my[2],antipordal_j),c(0,antipordal_k),col=rgb(0,0,0),lwd=1)
lines3d(c(mx[3],antipordal_i),c(my[3],antipordal_j),c(0,antipordal_k),col=rgb(0,0,0),lwd=1)
lines3d(c(mx[4],antipordal_i),c(my[4],antipordal_j),c(0,antipordal_k),col=rgb(0,0,0),lwd=1)

#追加立方対角線(Cubic Diagonal)
#lines3d(c(mx[1],mx[3]),c(my[1],my[3]),c(0,0),col=rgb(0,0,0),lwd=1)
lines3d(c(mx[2],mx[4]),c(my[2],my[4]),c(0,0),col=rgb(0,0,0),lwd=1)

#アニメーション
movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="~/Desktop/Preoctahedron04")
```

とはいえ「**あと一工夫で何とかなりそう**」に見えるのもまた事実。実際、やり方によってはなんとかならないでもないのです。

>S：立体では中点連結の定理は成り立たないのですね。合同で縦にも横にも上にも拡げて行ける合同な四面体ってあるのかな。
T：実は、そういう四面体があるのです。この展開図を見てください。
<font color="green">《２：√３：√３》</font>の三角形で作る四面体です。
![20200207061537.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/90d18836-88e9-8b66-5dc6-847d56281e90.png)
S：並べてみよう。・・・確かにすきまなく積みあげることができる。
![simentai01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/422fc012-4a93-9142-7fd8-9b221653d75c.jpeg)
S：ちゃんと８個で２倍の三角錐ができた。
![simentai02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/2b2afeea-b7c3-c156-f187-3b44facd72cd.jpeg)

こういう応用形もあります。
![ceddf6c53971b5d5363612a5857a744c.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/cbdbb950-734b-efe2-adcc-f98bf0176f5d.jpeg)
上掲は「**底の3辺が**<font color="green">2</font>,**残り3辺が**<font color="green">sqrt(3)</font>**の三角錐**」ですが、こちらは「**2辺が**<font color="green">2</font>,**残り4辺が**<font color="green">sqrt(3)</font>**の三角錐**」となります。
[テトラパック(Tetra Pak) - Wikipedia]()
>食品用紙容器の開発・製造を主たる業務とする国際企業。創業の地であるスウェーデンのルンドに本社を置く。創業者はルーベン・ラウジング。「**テトラパック**」及び「**Tetra Pak**」はこの会社の登録商標である。同社が開発して製造する四面体型紙容器の旧名称で、現在は「**テトラ・クラシック** (<font color="blue">TC</font>)」と称する。
![aaa-31fd6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/cfa9f3bb-e28e-99e7-798e-4dd022d0dae0.png)
現在は四角い「**テトラ・ブリック**(<font color="blue">TB</font>)」や屋根型の「**テトラ・レックス** (<font color="blue">TR</font>)」なども手がける、飲料用紙容器と充填包装システムで有数の企業である。主力商品の「**テトラ・ブリック・アセプティック**」は常温で長期保存を可能とし、日本の国外へ向けた豆腐などが採用している。

<font color="green">テトラ・クラシック</font>

>日本で三角パックと多く俗称される「**テトラ・クラシック**」は1944年3月27日に特許がおり、1952年に当社が発売した飲料用紙容器である。三角形の形状はピラミッド型の四角錐と誤解も多いが、実際は四面体の三角錐で、名称の"<font color="green">Tetra</font>"も「<font color="green">4</font>」の意味である。単位容積あたりの包装材が廃棄分や糊代を算入すると最小となり、一枚の長い紙で製造できる利点と、輸送に六角形の専用ケースを要する欠点がある。
![yjimage.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/8910e536-ab57-820f-928d-c75a5c7a4f77.jpeg)
現在は輸送や店頭の陳列で利点が多いブリックタイプが主流となり、採用例が減少して日本テトラパックは国内の販売を2004年6月から休止していたが、2014年7月に10年ぶりに販売を再開した。

形としてはこんな感じ。
![triangles010.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/c96b2205-fc22-6293-51a7-5b7541dd7001.gif)

```R
library(rgl)
#頂点座標=8個
texts3d(1,0,1,texts=c("(1,0,1)"),col=rgb(0,0,0),adj=1.0)
texts3d(-1,0,1,texts=c("(-1,0,1)"),col=rgb(0,0,0),adj=1.0)
texts3d(0,1,-1,texts=c("(0,1,-1)"),col=rgb(0,0,0),adj=1.0)
texts3d(0,-1,-1,texts=c("(0,-1,-1)"),col=rgb(0,0,0),adj=1.0)

#二等辺三角形４面
triangles3d(c(1,-1,0),c(0,0,1),c(1,1,-1),col=rgb(1,0,0),lwd=1)
triangles3d(c(-1,0,0),c(0,1,-1),c(1,-1,-1),col=rgb(1,0,0),lwd=1)
triangles3d(c(0,0,1),c(1,-1,0),c(-1,-1,1),col=rgb(1,0,0),lwd=1)
triangles3d(c(0,1,-1),c(-1,0,0),c(-1,1,1),col=rgb(1,0,0),lwd=1)

#アニメーション
movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="~/Desktop/triangles010") 
```
座標格子入りVer.(<font color="blue">各面が三辺比1:sqrt(2):sqrt(3)の直角三角形x2枚の構成である事が明瞭に見て取れる</font>)
![triangles018.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/027efce9-3659-ca54-e8e7-306d4e74d82e.gif)

```R
#mo(Minus One),cp(Center Point),po(Plus One)
grid_draw01<-function(m,c,p){
#座標(Coordinate)合成関数Cd
cd<-function(a,b,c){paste0("(",a,",",b,",",c,")")}
#頂点座標=8個
texts3d(m,m,m,texts=cd(m,m,m),col=c(200,200,200),adj=1.0,cex=0.5)
texts3d(p,m,m,texts=cd(p,m,m),col=c(200,200,200),adj=1.0,cex=0.5)
texts3d(m,p,m,texts=cd(m,p,m),col=c(200,200,200),adj=1.0,cex=0.5)
texts3d(p,p,m,texts=cd(p,p,m),col=c(200,200,200),adj=1.0,cex=0.5)
texts3d(m,m,p,texts=cd(m,m,p),col=c(200,200,200),adj=1.0,cex=0.5)
texts3d(p,m,p,texts=cd(p,m,p),col=c(200,200,200),adj=1.0,cex=0.5)
texts3d(m,p,p,texts=cd(m,p,p),col=c(200,200,200),adj=1.0,cex=0.5)
texts3d(p,p,p,texts=cd(p,p,p),col=c(200,200,200),adj=1.0,cex=0.5)
#頂点間中点=1+6+12=19個
texts3d(c,c,c,texts=cd(c,c,c),col=rgb(0,0,0),adj=1.0)
texts3d(m,c,c,texts=cd(m,c,c),col=rgb(0,0,0),adj=1.0)
texts3d(c,m,c,texts=cd(c,m,c),col=rgb(0,0,0),adj=1.0)
texts3d(c,c,m,texts=cd(c,c,m),col=rgb(0,0,0),adj=1.0)
texts3d(p,c,c,texts=cd(p,c,c),col=rgb(0,0,0),adj=1.0)
texts3d(c,p,c,texts=cd(c,p,c),col=rgb(0,0,0),adj=1.0)
texts3d(c,c,p,texts=cd(c,c,p),col=rgb(0,0,0),adj=1.0)
texts3d(c,m,m,texts=cd(c,m,m),col=rgb(0,0,0),adj=1.0)
texts3d(c,m,p,texts=cd(c,m,p),col=rgb(0,0,0),adj=1.0)
texts3d(c,p,m,texts=cd(c,p,m),col=rgb(0,0,0),adj=1.0)
texts3d(c,p,p,texts=cd(c,p,p),col=rgb(0,0,0),adj=1.0)
texts3d(m,c,m,texts=cd(m,c,m),col=rgb(0,0,0),adj=1.0)
texts3d(m,c,p,texts=cd(m,c,p),col=rgb(0,0,0),adj=1.0)
texts3d(p,c,m,texts=cd(p,c,m),col=rgb(0,0,0),adj=1.0)
texts3d(p,c,p,texts=cd(p,c,p),col=rgb(0,0,0),adj=1.0)
texts3d(m,m,c,texts=cd(m,m,c),col=rgb(0,0,0),adj=1.0)
texts3d(m,p,c,texts=cd(m,p,c),col=rgb(0,0,0),adj=1.0)
texts3d(p,m,c,texts=cd(p,m,c),col=rgb(0,0,0),adj=1.0)
texts3d(p,p,c,texts=cd(p,p,c),col=rgb(0,0,0),adj=1.0)
#正六面体(Square)本体=6面

lines3d(c(m,p,p,m,m),c(m,m,p,p,m),c(m,m,m,m,m),col=c(200,200,200),lwd=1)
lines3d(c(m,p,p,m,m),c(m,m,p,p,m),c(p,p,p,p,p),col=c(200,200,200),lwd=1)
lines3d(c(m,m),c(m,m),c(m,p),col=c(200,200,200),lwd=1)
lines3d(c(p,p),c(m,m),c(m,p),col=c(200,200,200),lwd=1)
lines3d(c(m,m),c(p,p),c(m,p),col=c(200,200,200),lwd=1)
lines3d(c(p,p),c(p,p),c(m,p),col=c(200,200,200),lwd=1)
#頂点間中線=3+12=15本
lines3d(c(p,m),c(c,c),c(c,c),col=rgb(0,0,0),lwd=1)
lines3d(c(c,c),c(p,m),c(c,c),col=rgb(0,0,0),lwd=1)
lines3d(c(c,c),c(c,c),c(p,m),col=rgb(0,0,0),lwd=1)
lines3d(c(c,c,c,c,c),c(m,p,p,m,m),c(m,m,p,p,m),col=rgb(0,0,0),lwd=1)
lines3d(c(m,p,p,m,m),c(c,c,c,c,c),c(m,m,p,p,m),col=rgb(0,0,0),lwd=1)
lines3d(c(m,p,p,m,m),c(m,m,p,p,m),c(c,c,c,c,c),col=rgb(0,0,0),lwd=1)
}
grid_draw01(-1,0,1)

#二等辺三角形４面
triangles3d(c(1,-1,0),c(0,0,1),c(1,1,-1),col=rgb(1,0,0),lwd=1)
triangles3d(c(-1,0,0),c(0,1,-1),c(1,-1,-1),col=rgb(1,0,0),lwd=1)
triangles3d(c(0,0,1),c(1,-1,0),c(-1,-1,1),col=rgb(1,0,0),lwd=1)
triangles3d(c(0,1,-1),c(-1,0,0),c(-1,1,1),col=rgb(1,0,0),lwd=1)
#アニメーション
movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=5,movie="~/Desktop/triangles018")
```
ところで、ここに登場する**三辺比**<font color="green">１:sqrt(2):sqrt(3)</font>**の直角三角形**って、「**半径１の単位球面に内接する立方体の対蹠頂点間を２回直角に曲がって結ぶ際に半径**(<font color="blue">1</font>)**と平方対角線**(<font color="blue">Square diagonal=sqrt(2)</font>)**と立方対角線**(<font color="green">Cubic diagonal=sqrt(3)</font>)**が成す直角三角形**」そのものだったりします。知らない間に思わぬ高度な図形が日常を侵食してたものです。
[【Rで球面幾何学】正方形における平方対角線(Square diagonal)と立方体における立方対角線(Cubic diagonal)の関係について。](https://qiita.com/ochimusha01/items/9d899779ff8e814beb41)
[【Rで球面幾何学】ハミルトンの四元数(Quaternion)は何を表しているのか？](https://qiita.com/ochimusha01/items/aff8d52f20af01d13bed)
![square003.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/a3185dfd-eb2e-00be-01b7-79cd6d8f019f.gif)
**正三角形**や**正方形**や**正六角形**が単独図形で平面充当性を備えているのは、それに内接あるいは外接する同心円が対数比で推移するからと考えると、**オイラーの公式**（<font color="blue">Euler's formula</font>）<font color="green">e^iθ=cos(θ)+sin(iθ)</font>がどうやって指数関数と三角関数を結び付けてるかとも関係してくる話…そちらの話は以下続報という事で。