曲面3(曲率を感じよう)
このページはマス旅の一部です。
今回は「曲率の視覚化」がテーマ
1.数学外の知識
<角には平角もマイナスもある>
角を始めて学んだとき、
90度が角であることはよいとして、
「平角、180度が尖がってないのに角」というんだ
というのに違和感を持った人もいるでしょう。
また、高校に入って、回転の向きで正の角だけでなく「負の角」があることを知り、
角を「弧の長さで表せる」ことも知ることで、「角がただの1次元の数量」である
という落としどころに触れて、
「角の本質」に納得した人もいれば、
「角が抽象的」に感じられて数学嫌いになった人もいるかもしれません。
<多角形には凸も凹もある>
多角形を学んだときに、わざわざ「凸多角形」というコトバに出会うと、
多角形にへこみがあってもいいんだとわかることで、
数学の「ゆるい定義」に親しみを覚えた人もいるでしょう。
<曲面の曲がり方>
山があれば谷もある。
前回、水面の波の干渉をやりましたが、
水面という曲面がぶつかり合うと、
腹(山山、谷谷)と節(平地)ができました。
まさに1つの面なのに、いろんな見どころがあったね。
表面が一様な作りの立体もあれば、
ところ変われば、見どころも変わるという立体もあるでしょう。
2.数学の支援
<2つの主曲率の積がガウス曲率>
曲面上の、ある1点(点P)の曲がり具合を調べるために、
その点で曲面をスパッと切った「切り口の曲線」を考えます。
切る方向によって曲がり方は変わりますが、
その中で「最もきつく曲がっている方向(最大)」と
「最も緩やかに曲がっている方向(最小)」の2つを取り出します。
この2つの曲がり具合の数値を主曲率(κ_1,κ_2)と呼びます。
この2つの掛け算κ_1κ_2こそが、曲面のキャラクターを決定づけるガウス曲率Kです。
K=κ_1κ_2
少し具体的な例を上げましょう。
みかん(球面)はどちらの方向にも同じ側に曲がる (κ_1>0,κ_2>0)だからK > 0
馬の鞍(サドル)は前後は凸で左右は凹のように逆に曲がる (κ_1>0,κ_2<0)だからK < 0
円柱側面は片方は曲がっているが、もう片方は真っ直ぐ (κ_1>0,κ_2=0)だからK = 0。
<ガウス曲率の計算式>
関数fのガウス曲率は次の計算で求められることがわかっています。
f,fx,fy,fxx,fyy,fxyから求められます。
K = {fxx fyy - fxy^2}/{(1 + fx^2 + fy^2)^2}
分子:fxx fyy - fxy^2は、
Kの符号決定。
同じ向きの曲がりは+、逆向きに曲がりは-です。
分母:(1 + fx^2 + fy^2)^2は、
曲面の傾きによる空間的な引き伸ばしを補正しています。
<6種類の2次曲面>
次は、毎度おなじみの6種の2次曲面で
ガウス曲率Kチェックをしよう。
楕円面はどこも凸でK>正です。
2葉双曲面、どこでもK>正ですね。
楕円放物面、どこも凸でK>0。
2次の錐面、ふくらむ楕円と直線が1点で直交しK=0。
1葉双曲面、ふくらむ楕円に凹双曲面の直交してK<0。
双曲放物面は鞍に乗るあたりは凸と凹が共存してK<0。
<ガウスの定理>
「曲面をを引きちぎったり、伸ばしたり(伸縮)しない限り
ガウス曲率を変えことはできない」
というのがガウスの定理です。
たとえば、みかんの皮(ゴムボール型)はK>0ですが、
これを切らずに伸ばさずに机の上においてK=0にはできません。
つまり、ガウス曲率とは、曲面を外から眺めたときの形(3次元的な見た目)ではなく、
「その曲面自身が持っている、伸縮させない限り絶対に変わらない固有のDNA(内在的幾何)」
を表していると言えますね。
3.コード化
<geogebra>
snum=Slider(1,3,1)
f(x, y) = 0.1 x^2 - 0.1 y^2 #サドル
g(x, y) = 0.1 x^2 + 0.1 y^2 #放物楕円面
h(x, y) = 0.1 x^2 #円柱
Fs={f,g,h}
#マーカーの色を際立たせるために、Fの属性である色は標準75を50%にさげましょう。
F= Element(Fs,snum)
P = Point(F)
Px=x(P)
Py=y(P)
fx(x,y) = Derivative(F,x)
fy(x,y) = Derivative(F,y)
fxx(x,y) = Derivative(F,x,2)
fyy(x,y) = Derivative(F,y,2)
fxy(x,y) = Derivative(Derivative(F,x),y)
K = (fxx(Px,Py) * fyy(Px,Py) - fxy(Px,Py)^2) / (1 + (fx(Px,Py))^2 + (fy(Px,Py))^2)^2
Ps=Sphere(P, 0.3)
#ガウス曲率マーカーです。
#設定>動的な色
#シグモイド関数的に0付近を漸近するカーブにしています。
#RGB 動的カラー計算用の式(0〜1 にスケール)
#赤 (R): K > 0 (正の曲率)放物楕円面
If(K > 0, K / (K + 0.05), 0)
#緑 (G): K < 0 (負の曲率)サドル
If(K < 0, -K / (-K + 0.05), 0)
#青 (B): K == 0 (平坦・円柱)
If(K == 0, 1, 0)
ガウス曲率を色で見分けよう
<振り返り>
. 曲面切り替えスライダー
snum を動かすと
載せているマーカー Ps の色
「 緑(サドル) ➔ 赤(楕円放物面) ➔ 青(円柱) 」
と鮮やかに変身しますね。
まさに、曲率は曲面のDNAです。
円柱では違和感がないですか。
曲がっているのに曲率は青(ゼロ)のままです。
見た目はまがってていても、いつもまっすぐで平らな道があるからです。
だから、いつも青(ゼロ)です。
楕円放物面はくぼんでいるから負になるという勘違いをしやすいです。
楕円放物面は外からみると凸に見えて、内からみると凹んで見えます。
でもガウス曲率は主曲率の積だから、正×正でも、負×負でも正になりますね。
だから、いつも赤(正)です。