【初心者向け】線形関数(Linear Function)や絶対値関数(Absolute Value Function)

**関数による演算結果の集合**(<font color=blue>Function Result Set</font>)について考える場合、その最も単純な**関数集合**(<font color=blue>Function Set</font>)の例は**線形関数**(<font color=blue>Linear Function</font>)<font color=green>y=±x</font>や**絶対値関数**(<font color=blue>Absolute Value Function</font>)<font color=green>y=±abs(x)</font>/<font color=green>x=±abs(y)</font>となります。

##**線形関数**(<font color=blue>Linear Function</font>)<font color=green>y=±x</font>

最もオーソドックスな**二次元**(<font color=blue>2D</font>)上での見え方は**平方対角線**(<font color=blue>Square Diagonal</font>)めいた以下でしょう。<font color=green>y=x</font>は**第1象限**(<font color=blue>1st Orthant,x=y=正数(Positive Number)</font>)と**第3象限**(<font color=blue>3rd Orthant,x=y=負数(Negative Number)</font>)に、<font color=green>y=-x</font>(<font color=green>-x=y</font>)は**第2象限**(<font color=blue>2nd Orthant,x=正数/y=負数</font>)と**第4象限**(<font color=blue>4th Orthant,x=負数/y=正数</font>)に展開。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/b7f1b672-8e8f-7642-7ffb-f9798f3b93c2.png)
[正の数と負の数 - Wikipedia](https://ja.wikipedia.org/wiki/%E6%AD%A3%E3%81%AE%E6%95%B0%E3%81%A8%E8%B2%A0%E3%81%AE%E6%95%B0)

```R
#コンピューター演算は無限(Infinity)の概念を
#直接は扱えないので状況に応じて適切な
#変域(Domain)を定める必要がある。
#ここでは-5から5までの整数を設定

cx<-seq(-5,5,length=11)

cy_plus<-cx
cy_minus<--cx

plot(cx,cy_plus,type="l",xlim=c(-5,5),ylim=c(-5,5),main="Linear Function y=±x (2D)",xlab="x",ylab="y", col=rgb(0,0,1))

par(new=T)

plot(cx,cy_minus,type="l",xlim=c(-5,5),ylim=c(-5,5),main="",xlab="",ylab="", col=rgb(1,0,0))

# 基準線はx=0,y=0の2本。

abline(h=0,col=c(200,200,200))
abline(v=0,col=c(200,200,200))
# 凡例を書き添える 。
legend("topright", legend=c("y=x","y=-x"), lty =c(1,1),col=c(rgb(0,0,1),rgb(1,0,0)))
```

* **関数表現**(<font color=blue>Function Expression</font>)には**複素数表現**(<font color=blue>Complex  Expression</font>)同様、<font color=green>x→-x</font>/<font color=green>-x→x</font>といった向きの情報が完全に欠落している。あくまで「<font color=purple>特定の増え方をする関数は必ず同じ減り方をする</font>」事が前提となっているのである。<br>[【初心者向け】複素共役のアニメーション表示について。](https://qiita.com/ochimusha01/items/e0bb2789a420d3317cf1)<br>![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fo%2Fochimusha01%2F20201116%2F20201116230848.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&w=1400&fit=max&s=0489492d3b778bcf1b6c8b3886af31c4)<br>![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201113/20201113204552.gif)
<br>![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201113/20201113205243.gif)

座標系を**三次元**(<font color=blue>3D=Three Dimension</font>)に拡張すると**立方対角線**(<font color=blue>Cubic diagonal</font>)が2本追加となって象限も8分割されます。
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201120/20201120102401.gif)

```R
#y=xは何次元に拡張しても1本線のままだが、
#y=-xでは符号を逆転するのがY軸かZ軸かという
#選択肢が現れる。
library(rgl)
cx<-seq(-5,5,length=11)
cy_plus<-cx
cy_minus<--cx

plot3d(cx,cy_plus,cy_plus,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),col=rgb(0,0,1),xlab="",ylab="",zlab="",lwd=2)
plot3d(cx,cy_minus,cy_minus,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),,col=rgb(1,0,0),xlab="",ylab="",zlab="",lwd=2)
plot3d(cy_plus,cy_minus,cx,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),,col=rgb(0,1,0),xlab="",ylab="",zlab="",lwd=2)
plot3d(cy_minus,cy_minus,cx,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),,col=rgb(0,1,0),xlab="",ylab="",zlab="",lwd=2)

texts3d(0,0,0,texts="{0,0,0}",col=rgb(1,0,0),adj=1.0)

#中心線はx(y=z=0),x(y=z=0),x(y=z=0)の3本
lines3d(c(-5,5),c(0,0),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(0,0),c(-5,5),col=c(200,200,200),lwd=1)

#傍線は{x,y,z}の3通り×{x,y,z}-1の2通り×{min,max}の2通り=12通り
#傍線X
lines3d(c(-5,5),c(-5,-5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(-5,5),c(5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(-5,5),c(0,0),c(-5,-5),col=c(200,200,200),lwd=1)
lines3d(c(-5,5),c(0,0),c(5,5),col=c(200,200,200),lwd=1)

#傍線Y
lines3d(c(-5,-5),c(-5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(5,5),c(-5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,5),c(-5,-5),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,5),c(5,5),col=c(200,200,200),lwd=1)

#傍線Z 
lines3d(c(-5,-5),c(0,0),c(-5,5),col=c(200,200,200),lwd=1)
lines3d(c(5,5),c(0,0),c(-5,5),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,-5),c(-5,5),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(5,5),c(-5,5),col=c(200,200,200),lwd=1)
movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="~/Desktop/test14")
```
それぞれの意味が以下となります。**独立変数**<font color=green>X</font>に対応して2次元だと<font color=green>{Y},{-Y}、</font>3次元だと<font color=green>{Y,Z},{-Y,-Z},{-Y,Z},{Y,-Z}</font>が対応するイメージ?

* <font color=green>X=Y=Z</font>…既存の<font color=green>X=Y</font>**関数**の自然な拡張。この関数だけは何次元に拡張しようとこんな感じ。おそらく幾何学的構造における**対蹠概念**に対応する。そして**四元数**(<font color=blue>Quaternion</font>)<font color=green>a+bi+cj+dk</font>の<font color=green>a</font>。
* <font color=green>X=-Y=-Z</font>…既存の<font color=green>X=-Y</font>**関数**の自然な拡張。<font color=green>X</font>と<font color=green>Z</font>の傾きが連動。
* <font color=green>X=-Y=Z</font>…新規追加分。<font color=green>X</font>と<font color=green>Z</font>の傾きが連動。
* <font color=green>-X=-Y=Z</font>(<font color=blue>X=Y=-Z</font>)…新規追加分。<font color=green>X</font>と<font color=green>Y</font>の傾きが連動。

これが事実上の**象限表現**(<font color=blue>Orthant Expression</font>)となる様です？
[相関方向分析法](http://home.a02.itscom.net/coffee/tako09.html)
[第一象限、第二象限などの意味と覚え方](https://mathwords.net/daiitisyogen)

>三次元座標空間においては、象限の（<font color=blue>有名な</font>）定義は無いようです。
>
>数学における座標平面の文脈では、**第一象限**は必ず右上です。しかし、他の分野では、４つに分けた領域の左上部分を**第一象限**（<font color=blue>第一の領域</font>）と呼ぶ人もたまにいます。人間は、文章などを左上から見ることが多いため、左上部分を「**第一**」と認識するのも、ある意味では妥当かもしれません。

<font color=green>Cos(θ)+Sin(θ)i</font>(<font color=blue>反時計回り</font>)派と<font color=green>Sin(θ)+Cos(θ)i</font>(<font color=blue>時計回り</font>)派が鋭く対峙する世界?
[【Rで球面幾何学】等差数列(算術数列)②数直線概念から同心円集合概念へ](https://qiita.com/ochimusha01/items/2a16c3cba3f88986c767)
![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fo%2Fochimusha01%2F20201108%2F20201108040152.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&w=1400&fit=max&s=393ceabfd8aac2d18252a315f9915419)
![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fo%2Fochimusha01%2F20201110%2F20201110223555.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&w=1400&fit=max&s=1ab6aaf4879c0f9ea59a871231550b19)

それにつけても「<font color=purple>1:sqrt(2)(平方対角線):sqrt(3)(立方対角線)</font>」の直角三角定規が欲しくなる世界。
![Rplot07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/b143ebc5-1791-4ba4-b9c4-ba53f184e30f.png)

```R
#"斜辺sqrt(3)"に関する記述が明示的に現れない点に注意。
cx=c(0,sqrt(2),sqrt(2),0)
cy=c(0,0,1,0)
plot(cx,cy,type="l",asp=1,col=rgb(0,0,1),lwd=2, main="Right Triangle:Three sides ratio=1:sqrt(2):sqrt(3)",xlab="X axis",ylab="Y axis")
```
[【オイラーの多面体定理と正多面体】正方形における平方対角線と立方体における立方対角線の関係について。](https://qiita.com/ochimusha01/items/9d899779ff8e814beb41)
![image.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fo%2Fochimusha01%2F20201121%2F20201121224728.gif?ixlib=rb-1.2.2&auto=format&gif-q=60&q=75&w=1400&fit=max&s=d3218ea17a11411eadc10c33c2ab44f2)

#**絶対値関数**(<font color=blue>Absolute Value Function</font>)<font color=green>y=±abs(x)</font>
**2次元**(<font color=blue>2D</font>)…<font color=green>y=abs(x)</font>,<font color=green>y=-abs(x)</font>の**集合**(<font color=blue>Set</font>)。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/7e890b11-f093-f956-1e99-db5797af9876.png)

```R
cx<-seq(-5,5,length=11)

cy_plus<-abs(cx)
cy_minus<--abs(cx)

plot(cy_plus,cx,type="l",xlim=c(-5,5),ylim=c(-5,5),main="Absolute Value Function x=±abs(y)(2D)",xlab="x",ylab="y", col=rgb(0,0,1))
par(new=T)
plot(cy_minus,cx,type="l",xlim=c(-5,5),ylim=c(-5,5),main="",xlab="",ylab="", col=rgb(1,0,0))

# 基準線はx=0,y=0の2本。
abline(h=0,col=c(200,200,200))
abline(v=0,col=c(200,200,200))
# 凡例を書き添える 。
legend("topright", legend=c("x=abs(y)","x=-abs(y)"), lty =c(1,1),col=c(rgb(0,0,1),rgb(1,0,0)))
```
**3次元**(<font color=blue>3D</font>)…<font color=green>y=abs(x)</font>,<font color=green>y=-abs(x)</font>の**集合**(<font color=blue>Set</font>)と**集合**<font color=green>{z}{-z}</font>の**積**(<font color=blue>Product</font>)。
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201120/20201120104110.gif)

```R
library(rgl)
cx<-seq(-5,5,length=11)

cy_plus<-abs(cx)
cy_minus<--abs(cx)

plot3d(cy_plus,cx,cx,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),col=rgb(0,0,1),xlab="",ylab="",zlab="",lwd=2)
plot3d(cy_minus,cx,cx,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),,col=rgb(1,0,0),xlab="",ylab="",zlab="",lwd=2)
plot3d(-cx,-cx,cx,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),,col=rgb(0,1,0),xlab="",ylab="",zlab="",lwd=2)

plot3d(cx,-cx,cx,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),,col=rgb(0,1,0),xlab="",ylab="",zlab="",lwd=2)

texts3d(0,0,0,texts="{0,0,0}",col=rgb(1,0,0),adj=1.0)

#中心線はx(y=z=0),x(y=z=0),x(y=z=0)の3本
lines3d(c(-5,5),c(0,0),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(0,0),c(-5,5),col=c(200,200,200),lwd=1)

#傍線は{x,y,z}の3通り×{x,y,z}-1の2通り×{min,max}の2通り=12通り
#傍線X
lines3d(c(-5,5),c(-5,-5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(-5,5),c(5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(-5,5),c(0,0),c(-5,-5),col=c(200,200,200),lwd=1)
lines3d(c(-5,5),c(0,0),c(5,5),col=c(200,200,200),lwd=1)

#傍線Y
lines3d(c(-5,-5),c(-5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(5,5),c(-5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,5),c(-5,-5),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,5),c(5,5),col=c(200,200,200),lwd=1)

#傍線Z 
lines3d(c(-5,-5),c(0,0),c(-5,5),col=c(200,200,200),lwd=1)
lines3d(c(5,5),c(0,0),c(-5,5),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,-5),c(-5,5),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(5,5),c(-5,5),col=c(200,200,200),lwd=1)

movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="~/Desktop/test20")
```

#**絶対値関数**(<font color=blue>Absolute Value Function</font>)<font color=green>x=±abs(y)</font>

**2次元**(<font color=blue>2D</font>)…<font color=green>x=abs(y)</font>,<font color=green>x=-abs(y)</font>の**集合**(<font color=blue>Set</font>)。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/73982b6e-e3ad-ae84-1db6-68554b2c760b.png)

```R
cx<-seq(-5,5,length=11)
cy_plus<-abs(cx)
cy_minus<--abs(cx)

plot(cy_plus,cx,type="l",xlim=c(-5,5),ylim=c(-5,5),main="Absolute Value Function x=±abs(y)(2D)",xlab="x",ylab="y", col=rgb(0,0,1))
par(new=T)
plot(cy_minus,cx,type="l",xlim=c(-5,5),ylim=c(-5,5),main="",xlab="",ylab="", col=rgb(1,0,0))

# 基準線はx=0,y=0の2本。
abline(h=0,col=c(200,200,200))
abline(v=0,col=c(200,200,200))
# 凡例を書き添える 。
legend("topright", legend=c("x=abs(y)","x=-abs(y)"), lty =c(1,1),col=c(rgb(0,0,1),rgb(1,0,0)))
```
**3次元**(<font color=blue>3D</font>)…<font color=green>x=abs(y)</font>,<font color=green>x=-abs(y)</font>の**集合**(<font color=blue>Set</font>)と**集合**<font color=green>{z}{-z}</font>の**積**(<font color=blue>Product</font>)。
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201120/20201120105924.gif)

```R
library(rgl)
cx<-seq(-5,5,length=11)

cy_plus<-abs(cx)
cy_minus<--abs(cx)

plot3d(cy_plus,cx,cx,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),col=rgb(0,0,1),xlab="",ylab="",zlab="",lwd=2)
plot3d(cy_minus,cx,cx,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),,col=rgb(1,0,0),xlab="",ylab="",zlab="",lwd=2)
plot3d(-cx,-cx,cx,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),,col=rgb(0,1,0),xlab="",ylab="",zlab="",lwd=2)

plot3d(cx,-cx,cx,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),,col=rgb(0,1,0),xlab="",ylab="",zlab="",lwd=2)

 texts3d(0,0,0,texts="{0,0,0}",col=rgb(1,0,0),adj=1.0)

#中心線はx(y=z=0),x(y=z=0),x(y=z=0)の3本
lines3d(c(-5,5),c(0,0),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(0,0),c(-5,5),col=c(200,200,200),lwd=1)

#傍線は{x,y,z}の3通り×{x,y,z}-1の2通り×{min,max}の2通り=12通り
#傍線X
lines3d(c(-5,5),c(-5,-5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(-5,5),c(5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(-5,5),c(0,0),c(-5,-5),col=c(200,200,200),lwd=1)
lines3d(c(-5,5),c(0,0),c(5,5),col=c(200,200,200),lwd=1)

#傍線Y
lines3d(c(-5,-5),c(-5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(5,5),c(-5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,5),c(-5,-5),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,5),c(5,5),col=c(200,200,200),lwd=1)

#傍線Z 
lines3d(c(-5,-5),c(0,0),c(-5,5),col=c(200,200,200),lwd=1)
lines3d(c(5,5),c(0,0),c(-5,5),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,-5),c(-5,5),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(5,5),c(-5,5),col=c(200,200,200),lwd=1)

movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="~/Desktop/test20")
```

#共役系（<font color=blue>Conjugated System</font>）

これらの関数集合は**共役関係**(<font color=blue>Conjugated Relation</font>)にあったりします。

<font color=green>y=x系</font>…**一次関数**(<font color=blue>Linear Function</font>)<font color=green>x=y=z</font>,<font color=green>x=-y=z</font>,<font color=green>x=y=-z</font>,<font color=green>x=-y=-z</font>などの**集合**(<font color=blue>Set</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201120/20201120124656.gif)

```R

#y=xは何次元に拡張しても1本線のままだが、
#y=-xでは符号を逆転するのがY軸かZ軸かという
#選択肢が現れる。
library(rgl)
#関数描画準備
cx<-seq(-5,5,length=11)
cy_plus<-cx
cy_minus<--cx

#円錐描画

radians<-seq(0,60*pi,length=3000)
f0<-function(x){exp(x*(0+1i))}
Real<-Re(f0(radians))
Imaginal<-Im(f0(radians))
crz<-seq(-5,5,length=3000)
f1<-function(x){x}

c0<-f1(seq(-5,5,length=3000))
crx<-Real*c0*sqrt(2)
cry<-Imaginal*c0*sqrt(2)

plot3d(crx,cry,crz,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),col=rgb(0,0,0))

#関数描画

plot3d(cx,cy_plus,cy_plus,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),col=rgb(0,0,1),xlab="",ylab="",zlab="",lwd=2)
plot3d(cx,cy_minus,cy_minus,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),,col=rgb(1,0,0),xlab="",ylab="",zlab="",lwd=2)
plot3d(cy_plus,cy_minus,cx,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),,col=rgb(0,1,0),xlab="",ylab="",zlab="",lwd=2)
plot3d(cy_minus,cy_minus,cx,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),,col=rgb(0,1,0),xlab="",ylab="",zlab="",lwd=2)

texts3d(0,0,0,texts="{0,0,0}",col=rgb(1,0,0),adj=1.0)

#中心線はx(y=z=0),x(y=z=0),x(y=z=0)の3本
lines3d(c(-5,5),c(0,0),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(0,0),c(-5,5),col=c(200,200,200),lwd=1)

#傍線は{x,y,z}の3通り×{x,y,z}-1の2通り×{min,max}の2通り=12通り
#傍線X
lines3d(c(-5,5),c(-5,-5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(-5,5),c(5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(-5,5),c(0,0),c(-5,-5),col=c(200,200,200),lwd=1)
lines3d(c(-5,5),c(0,0),c(5,5),col=c(200,200,200),lwd=1)

#傍線Y
lines3d(c(-5,-5),c(-5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(5,5),c(-5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,5),c(-5,-5),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,5),c(5,5),col=c(200,200,200),lwd=1)

#傍線Z 
lines3d(c(-5,-5),c(0,0),c(-5,5),col=c(200,200,200),lwd=1)
lines3d(c(5,5),c(0,0),c(-5,5),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,-5),c(-5,5),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(5,5),c(-5,5),col=c(200,200,200),lwd=1)

movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="~/Desktop/test42")
```

<font color=green>y=abs(x)系</font>…**絶対値関数**(<font color=blue>Absolute Value Function</font>)<font color=green>abs(x)=y=z</font>,<font color=green>abs(x)=-y=z</font>,<font color=green>abs(x)=y=-z</font>,<font color=green>abs(x)=-y=-z</font>などの**集合**(<font color=blue>Set</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201120/20201120125126.gif)

```R

#y=xは何次元に拡張しても1本線のままだが、
#y=-xでは符号を逆転するのがY軸かZ軸かという
#選択肢が現れる。
library(rgl)

#関数描画準備
cx<-seq(-5,5,length=11)

cy_plus<-abs(cx)
cy_minus<--abs(cx)

#円錐描画

radians<-seq(0,60*pi,length=3000)
f0<-function(x){exp(x*(0+1i))}
Real<-Re(f0(radians))
Imaginal<-Im(f0(radians))
crz<-seq(-5,5,length=3000)
f1<-function(x){x}

c0<-f1(seq(-5,5,length=3000))
crx<-Real*c0*sqrt(2)
cry<-Imaginal*c0*sqrt(2)

plot3d(crx,cry,crz,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),col=rgb(0,0,0))
#関数描画
plot3d(cx,cy_plus,cy_plus,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),col=rgb(0,0,1),xlab="",ylab="",zlab="",lwd=2)
plot3d(cx,cy_minus,cy_minus,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),,col=rgb(1,0,0),xlab="",ylab="",zlab="",lwd=2)
plot3d(-cx,-cx,cx,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),,col=rgb(0,1,0),xlab="",ylab="",zlab="",lwd=2)

plot3d(cx,-cx,cx,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),,col=rgb(0,1,0),xlab="",ylab="",zlab="",lwd=2)

 texts3d(0,0,0,texts="{0,0,0}",col=rgb(1,0,0),adj=1.0)

#中心線はx(y=z=0),x(y=z=0),x(y=z=0)の3本
lines3d(c(-5,5),c(0,0),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(0,0),c(-5,5),col=c(200,200,200),lwd=1)

#傍線は{x,y,z}の3通り×{x,y,z}-1の2通り×{min,max}の2通り=12通り
#傍線X
lines3d(c(-5,5),c(-5,-5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(-5,5),c(5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(-5,5),c(0,0),c(-5,-5),col=c(200,200,200),lwd=1)
lines3d(c(-5,5),c(0,0),c(5,5),col=c(200,200,200),lwd=1)

#傍線Y
lines3d(c(-5,-5),c(-5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(5,5),c(-5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,5),c(-5,-5),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,5),c(5,5),col=c(200,200,200),lwd=1)

#傍線Z 

lines3d(c(-5,-5),c(0,0),c(-5,5),col=c(200,200,200),lwd=1)
lines3d(c(5,5),c(0,0),c(-5,5),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,-5),c(-5,5),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(5,5),c(-5,5),col=c(200,200,200),lwd=1)

movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="~/Desktop/test43")
```

<font color=green>x=abs(y)系</font>…**絶対値関数**(<font color=blue>Absolute Value Function</font>)<font color=green>x=abs(y)=z</font>,<font color=green>-x=abs(y)=z</font>,<font color=green>x=abs(y)=-z</font>,<font color=green>-x=abs(y)=-z</font>などの**集合**(<font color=blue>Set</font>)
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201120/20201120124110.gif)

```R
#y=xは何次元に拡張しても1本線のままだが、
#y=-xでは符号を逆転するのがY軸かZ軸かという
#選択肢が現れる。
library(rgl)

#関数描画準備
cx<-seq(-5,5,length=11)
cy_plus<-abs(cx)
cy_minus<--abs(cx)

#円錐描画準備

radians<-seq(0,60*pi,length=3000)
f0<-function(x){exp(x*(0+1i))}
Real<-Re(f0(radians))
Imaginal<-Im(f0(radians))
crz<-seq(-5,5,length=3000)
f1<-function(x){x}

c0<-f1(seq(-5,5,length=3000))
crx<-Real*c0*sqrt(2)
cry<-Imaginal*c0*sqrt(2)

plot3d(crz,crx,cry,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),col=rgb(0,0,0))

plot3d(crx,crz,cry,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),col=c(200,200,200))

#関数描画

plot3d(cy_plus,cx,cx,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),col=rgb(0,0,1),xlab="",ylab="",zlab="",lwd=2)
plot3d(cy_minus,cx,cx,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),,col=rgb(1,0,0),xlab="",ylab="",zlab="",lwd=2)
plot3d(-cx,-cx,cx,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),,col=rgb(0,1,0),xlab="",ylab="",zlab="",lwd=2)

plot3d(cx,-cx,cx,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(-5,5),,col=rgb(0,1,0),xlab="",ylab="",zlab="",lwd=2)

 texts3d(0,0,0,texts="{0,0,0}",col=rgb(1,0,0),adj=1.0)

#中心線はx(y=z=0),x(y=z=0),x(y=z=0)の3本
lines3d(c(-5,5),c(0,0),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(0,0),c(-5,5),col=c(200,200,200),lwd=1)

#傍線は{x,y,z}の3通り×{x,y,z}-1の2通り×{min,max}の2通り=12通り
#傍線X
lines3d(c(-5,5),c(-5,-5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(-5,5),c(5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(-5,5),c(0,0),c(-5,-5),col=c(200,200,200),lwd=1)
lines3d(c(-5,5),c(0,0),c(5,5),col=c(200,200,200),lwd=1)

#傍線Y
lines3d(c(-5,-5),c(-5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(5,5),c(-5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,5),c(-5,-5),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,5),c(5,5),col=c(200,200,200),lwd=1)

#傍線Z 
lines3d(c(-5,-5),c(0,0),c(-5,5),col=c(200,200,200),lwd=1)
lines3d(c(5,5),c(0,0),c(-5,5),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,-5),c(-5,5),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(5,5),c(-5,5),col=c(200,200,200),lwd=1)

movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="~/Desktop/test39")
```
一方、所謂**デカルト座標系**(<font color=blue>Cartesian Coordinate System</font>)には確実に**角錐型座標系**(<font color=blue>Pyramid Coordinate System</font>)<font color=purple>Pn</font>(<font color=blue>n=-Inf→0→Inf</font>){<font color=green>-Inf^Inf=-Inf,…,-3^3=-9,-2^2=-4,-1^1=-1,0,1^1=1,2^2=4,3^3=9,…,Inf^Inf=Inf</font>}3個の**集合**(<font color=blue>Set</font>)という側面も存在するので色々と矛盾が浮上してきてしまうのですね。
<font color=purple>Z軸に沿ったX-Y面を巡る円錐座標系</font>
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201211/20201211200702.gif)

```R
library(rgl)
radians<-seq(0,60*pi,length=3000)
f0<-function(x){exp(x*(0+1i))}
f1<-function(x){sqrt(1-x^2)}

#トーラス描写
r1<-f0(radians)
c0B<-seq(-1,1,length=1500)
c02<-c(f1(c0B),-1*f1(c0B))
r2<-r1*(1+c02)
Real02<-Re(r2)
Imaginal02<-Im(r2)
Rtime02<-c(seq(0,1,length=1500),seq(1,0,length=1500))
plot3d(Real02,Imaginal02,Rtime02,type="l",xlim=c(-2,2),ylim=c(-2,2),zlim=c(0,2),xlab="",ylab="",zlab="",col=c(200,200,200))

#球面描写
Real<-Re(f0(radians))
Imaginal<-Im(f0(radians))
Rtime01<-seq(0,1,length=3000)
c0A<-seq(-1,1,length=3000)
c01<-f1(c0A)
Real01<-Real*c01
Imaginal01<-Imaginal*c01

points3d(Real01,Imaginal01,Rtime01,col=rgb(0,0,1))
#points3d(Real01+2,Imaginal01,Rtime01,col=rgb(0,0,1))
#points3d(Real01-2,Imaginal01,Rtime01,col=rgb(0,0,1))
#points3d(Real01,Imaginal01+2,Rtime01,col=rgb(0,0,1))
#points3d(Real01,Imaginal01-2,Rtime01,col=rgb(0,0,1))
points3d(Real01,Imaginal01,Rtime01+1,col=rgb(0,0,1))
points3d(Real01,Imaginal01,Rtime01-1,col=rgb(0,0,1))
points3d(Real01+1,Imaginal01+1,Rtime01+1/2,col=rgb(1,0,0))
points3d(Real01+1,Imaginal01-1,Rtime01+1/2,col=rgb(1,0,0))
points3d(Real01-1,Imaginal01+1,Rtime01+1/2,col=rgb(1,0,0))
points3d(Real01-1,Imaginal01-1,Rtime01+1/2,col=rgb(1,0,0))
points3d(Real01+1,Imaginal01+1,Rtime01-1/2,col=rgb(1,0,0))
points3d(Real01+1,Imaginal01-1,Rtime01-1/2,col=rgb(1,0,0))
points3d(Real01-1,Imaginal01+1,Rtime01-1/2,col=rgb(1,0,0))
points3d(Real01-1,Imaginal01-1,Rtime01-1/2,col=rgb(1,0,0))
#Rtime01段
#points3d(Real01+2,Imaginal01+2,Rtime01,col=rgb(0,0,1))
#points3d(Real01+2,Imaginal01-2,Rtime01,col=rgb(0,0,1))
#points3d(Real01-2,Imaginal01+2,Rtime01,col=rgb(0,0,1))
#points3d(Real01-2,Imaginal01-2,Rtime01,col=rgb(0,0,1))
#Rtime01+1段
points3d(Real01+2,Imaginal01,Rtime01+1,col=rgb(0,0,1))
points3d(Real01,Imaginal01+2,Rtime01+1,col=rgb(0,0,1))
points3d(Real01-2,Imaginal01,Rtime01+1,col=rgb(0,0,1))
points3d(Real01,Imaginal01-2,Rtime01+1,col=rgb(0,0,1))
points3d(Real01+2,Imaginal01+2,Rtime01+1,col=rgb(0,0,1))
points3d(Real01+2,Imaginal01-2,Rtime01+1,col=rgb(0,0,1))
points3d(Real01-2,Imaginal01+2,Rtime01+1,col=rgb(0,0,1))
points3d(Real01-2,Imaginal01-2,Rtime01+1,col=rgb(0,0,1))
#Rtime01-1段
points3d(Real01+2,Imaginal01,Rtime01-1,col=rgb(0,0,1))
points3d(Real01,Imaginal01+2,Rtime01-1,col=rgb(0,0,1))
points3d(Real01-2,Imaginal01,Rtime01-1,col=rgb(0,0,1))
points3d(Real01,Imaginal01-2,Rtime01-1,col=rgb(0,0,1))
points3d(Real01+2,Imaginal01+2,Rtime01-1,col=rgb(0,0,1))
points3d(Real01+2,Imaginal01-2,Rtime01-1,col=rgb(0,0,1))
points3d(Real01-2,Imaginal01+2,Rtime01-1,col=rgb(0,0,1))
points3d(Real01-2,Imaginal01-2,Rtime01-1,col=rgb(0,0,1))

movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="~/Desktop/test91")
```
<font color=purple>X軸に沿ったY-Z面を巡る円錐座標系、あるいはY軸に沿ったX-Z面を巡る円錐座標系</font>
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201211/20201211200819.gif)

```R
library(rgl)
radians<-seq(0,60*pi,length=3000)
f0<-function(x){exp(x*(0+1i))}
f1<-function(x){sqrt(1-x^2)}

#トーラス描写
r1<-f0(radians)
c0B<-seq(-1,1,length=1500)
c02<-c(f1(c0B),-1*f1(c0B))
r2<-r1*(1+c02)
Real02<-Re(r2)
Imaginal02<-Im(r2)
Rtime02<-c(seq(0,1,length=1500),seq(1,0,length=1500))
plot3d(Real02,Imaginal02,Rtime02,type="l",xlim=c(-2,2),ylim=c(-2,2),zlim=c(0,2),xlab="",ylab="",zlab="",col=c(200,200,200))

#球面描写
Real<-Re(f0(radians))
Imaginal<-Im(f0(radians))
Rtime01<-seq(0,1,length=3000)
c0A<-seq(-1,1,length=3000)
c01<-f1(c0A)
Real01<-Real*c01
Imaginal01<-Imaginal*c01

points3d(Real01,Imaginal01,Rtime01,col=rgb(0,0,1))
#points3d(Real01+2,Imaginal01,Rtime01,col=rgb(0,0,1))
#points3d(Real01-2,Imaginal01,Rtime01,col=rgb(0,0,1))
points3d(Real01,Imaginal01+2,Rtime01,col=rgb(0,0,1))
points3d(Real01,Imaginal01-2,Rtime01,col=rgb(0,0,1))
##points3d(Real01,Imaginal01,Rtime01+1,col=rgb(0,0,1))
##points3d(Real01,Imaginal01,Rtime01-1,col=rgb(0,0,1))
points3d(Real01+1,Imaginal01+1,Rtime01+1/2,col=rgb(1,0,0))
points3d(Real01+1,Imaginal01-1,Rtime01+1/2,col=rgb(1,0,0))
points3d(Real01-1,Imaginal01+1,Rtime01+1/2,col=rgb(1,0,0))
points3d(Real01-1,Imaginal01-1,Rtime01+1/2,col=rgb(1,0,0))
points3d(Real01+1,Imaginal01+1,Rtime01-1/2,col=rgb(1,0,0))
points3d(Real01+1,Imaginal01-1,Rtime01-1/2,col=rgb(1,0,0))
points3d(Real01-1,Imaginal01+1,Rtime01-1/2,col=rgb(1,0,0))
points3d(Real01-1,Imaginal01-1,Rtime01-1/2,col=rgb(1,0,0))
#Rtime01段
points3d(Real01+2,Imaginal01+2,Rtime01,col=rgb(0,0,1))
points3d(Real01+2,Imaginal01-2,Rtime01,col=rgb(0,0,1))
points3d(Real01-2,Imaginal01+2,Rtime01,col=rgb(0,0,1))
points3d(Real01-2,Imaginal01-2,Rtime01,col=rgb(0,0,1))
#Rtime01+1段
#points3d(Real01+2,Imaginal01,Rtime01+1,col=rgb(0,0,1))
points3d(Real01,Imaginal01+2,Rtime01+1,col=rgb(0,0,1))
#points3d(Real01-2,Imaginal01,Rtime01+1,col=rgb(0,0,1))
points3d(Real01,Imaginal01-2,Rtime01+1,col=rgb(0,0,1))
points3d(Real01+2,Imaginal01+2,Rtime01+1,col=rgb(0,0,1))
points3d(Real01+2,Imaginal01-2,Rtime01+1,col=rgb(0,0,1))
points3d(Real01-2,Imaginal01+2,Rtime01+1,col=rgb(0,0,1))
points3d(Real01-2,Imaginal01-2,Rtime01+1,col=rgb(0,0,1))
#Rtime01-1段
#points3d(Real01+2,Imaginal01,Rtime01-1,col=rgb(0,0,1))
points3d(Real01,Imaginal01+2,Rtime01-1,col=rgb(0,0,1))
#points3d(Real01-2,Imaginal01,Rtime01-1,col=rgb(0,0,1))
points3d(Real01,Imaginal01-2,Rtime01-1,col=rgb(0,0,1))
points3d(Real01+2,Imaginal01+2,Rtime01-1,col=rgb(0,0,1))
points3d(Real01+2,Imaginal01-2,Rtime01-1,col=rgb(0,0,1))
points3d(Real01-2,Imaginal01+2,Rtime01-1,col=rgb(0,0,1))
points3d(Real01-2,Imaginal01-2,Rtime01-1,col=rgb(0,0,1))

movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="~/Desktop/test92")
```

#自然指数・対数関数(<font color=blue>Natural Exponential / Logarithmic Function</font>)<font color=green>y=exp(x)</font>,<font color=green>y=log(x)</font>
**Z軸**はあくまで独立しているので、これを**均等尺**(<font color=blue>Even Scale</font>)から**対数尺**(<font color=blue>Logarithmic Scale</font>)に差し替えると**指数関数**(<font color=blue>Natural Exponential Function</font>)<font color=green>y=exp(x)</font>と**対数関数**(<font color=blue>Natural Logarithmic Function</font>)<font color=green>y=exp(x)</font>の**共役関係**が表示される事になります。
![image.gif](https://cdn-ak.f.st-hatena.com/images/fotolife/o/ochimusha01/20201120/20201120130543.gif)

```R

library(rgl)
#関数描画準備
cx<-seq(-5,5,length=11)
cy_plus<-cx
cy_minus<--cx

#円錐描画

radians<-seq(0,60*pi,length=3000)
f0<-function(x){exp(x*(0+1i))}
Real<-Re(f0(radians))
Imaginal<-Im(f0(radians))
crz<-seq(-5,5,length=3000)

crze<-exp(crz)
f1<-function(x){x}

c0<-f1(seq(-5,5,length=3000))
crx<-Real*c0*sqrt(2)
cry<-Imaginal*c0*sqrt(2)

plot3d(crx,cry,crze,type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(exp(-5),exp(5)),col=rgb(0,0,0))

#関数描画

plot3d(cx,cy_plus,exp(cy_plus),type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(exp(-5),exp(5)),col=rgb(0,0,1),xlab="",ylab="",zlab="",lwd=2)
plot3d(cx,cy_minus,exp(cy_minus),type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(exp(-5),exp(5)),,col=rgb(1,0,0),xlab="",ylab="",zlab="",lwd=2)
plot3d(cy_plus,cy_minus,exp(cx),type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(exp(-5),exp(5)),,col=rgb(0,1,0),xlab="",ylab="",zlab="",lwd=2)
plot3d(cy_minus,cy_minus,exp(cx),type="l",xlim=c(-5,5),ylim=c(-5,5),zlim=c(exp(-5),exp(5)),,col=rgb(0,1,0),xlab="",ylab="",zlab="",lwd=2)

texts3d(0,0,0,texts="{0,0,0}",col=rgb(1,0,0),adj=1.0)

#中心線はx(y=z=0),x(y=z=0),x(y=z=0)の3本
lines3d(c(-5,5),c(0,0),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(0,0),c(exp(-5),exp(5)),col=c(200,200,200),lwd=1)

#傍線は{x,y,z}の3通り×{x,y,z}-1の2通り×{min,max}の2通り=12通り
#傍線X
lines3d(c(-5,5),c(-5,-5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(-5,5),c(5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(-5,5),c(0,0),c(exp(-5),exp(-5)),col=c(200,200,200),lwd=1)
lines3d(c(-5,5),c(0,0),c(exp(5),exp(5)),col=c(200,200,200),lwd=1)

#傍線Y
lines3d(c(-5,-5),c(-5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(5,5),c(-5,5),c(0,0),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,5),c(exp(-5),exp(-5)),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,5),c(exp(5),exp(5)),col=c(200,200,200),lwd=1)

#傍線Z 

lines3d(c(-5,-5),c(0,0),c(exp(-5),exp(5)),col=c(200,200,200),lwd=1)
lines3d(c(5,5),c(0,0),c(exp(-5),exp(5)),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(-5,-5),c(exp(-5),exp(5)),col=c(200,200,200),lwd=1)
lines3d(c(0,0),c(5,5),c(exp(-5),exp(5)),col=c(200,200,200),lwd=1)

movie3d(spin3d(axis=c(0,0,1),rpm=5),duration=10,fps=25,movie="~/Desktop/test51")
```

#**絶対値関数**(<font color=blue>Absolute Value Function</font>)<font color=green>abs(x)+abs(y)=1</font>
とりあえず見え方としてはこうです。
![Rplot.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597772/2d2704c5-48ce-7784-9e59-ae4675ed3676.png)

```R
Square_XY<-function(Radius){
c0<-seq(-1,1,length=31)
cx<-c(rev(c0),c0[2:31])
c1<-seq(0,1,length=16)
cy<-c(c1,rev(c1[1:15]),-c1[2:16],-rev(c1[1:15]))
complex(real=cx*Radius,imaginary=cy*Radius)
}

cx<-seq(-5,5,length=11)
cx<-Re(Square_XY(1))
cy<-Im(Square_XY(1))

plot(cx,cy,type="l",xlim=c(-1,1),ylim=c(-1,1),main="Absolute Value Function abs(x)+abs(y)=1(2D)",xlab="x",ylab="y", col=rgb(0,0,1))

# 基準線はx=0,y=0の2本。
abline(h=0,col=c(200,200,200))
abline(v=0,col=c(200,200,200))
# 凡例を書き添える 。
legend("topright", legend=c("abs(x)+abs(y)=1"), lty =c(1),col=c(rgb(0,0,1)))
```

そんな感じで、以下続報…