2

Spotify®のアイコンの曲率

115
0
$$$$

気になるね(気にならない)

大手音楽ストリーミングサービスとして名を馳せている「Spotify®」。
アイコンは思い浮かびますか?
緑の円盤の中に太さの異なる黒い曲線が3本あります。
このアイコン、気になりませんか? 何が?って曲率が!
私はよくポッドキャストを聞くのですが、開く度に見るアイコンの曲線を見て、「曲率気になるな~」と思っていました。
タイトルを見て(楽)曲率?数学と関係あるの?と思った皆さん。安心してください。
というわけでお忙しい皆さんの代わりに求めます。

曲率とは

「曲率ってなんやねん」って人ももしかしたらいるかもしれないので雑に説明しておきます。

雑です。厳密じゃないです。ちゃんと理解したい人は他を当たってください。

曲率

曲線や曲面がどれだけ曲がっているかを表す量。
xy平面上では、曲線$y=f(x)$上の点$\left(t,f(t)\right)$での曲率$\kappa$
$$\kappa = \frac{\left|f''(t)\right|}{\left( 1+f'(t)^2 \right)^{3/2}}$$

といきなり言われてもなんじゃこりゃだと思うので、なぜこれを曲率とするのがいいのかを簡単に噛み砕いておきます。
まず、曲率は曲線がどれだけ曲がっているかを表す量でした。ここで主観ですが最もシンプルな曲線として円を考えましょう。
曲率は$xy$平面上でなく、もっと一般の場合の定義がされています。超雰囲気で駄弁ると、「単位距離あたりの角度の変化量の極限」を曲率としています。
円の場合はどうなるかというと、$\Delta l=r\Delta\theta$に注意すると簡単に計算できて
$$\lim_{\Delta l \to 0}\frac{\Delta\theta}{\Delta l}=\lim_{\Delta l \to 0}\frac{1}{r}=\frac{1}{r}\cdots(*)$$
となり、円の上のどの点でも変わらないことがわかります。直観的にもそんな感じがしますよね。
地平線って真っすぐに見えますよね。そういうことです。地球の半径が超大きいので、曲率は小さくなります(曲がってないように見えます)
ではこのわかりやすい円を用いて$xy$平面上の曲線$y=f(x)$の曲率を考えます。
一次近似を思い出してください。あれは曲線を直線によって近似するものでした。今回は円を用いて事を進めたいので円で近似します。
$(t,f(t))$周辺で弧が大体その曲線に沿う円を作りましょう。具体的にはどうすればいいでしょうか。
まず一般の円の方程式は次のようにできます。
$$(x-X)^2+(y-Y)^2=R^2\cdots(**)$$
この円の中心は$(X,Y)$、半径は$R$です。
ところでこの形は陰関数と呼ばれるちょっと扱いにくい形です。今考えている曲線$y=f(x)$は陽関数となっているので、円も無理やり揃えてやりましょう。
つまり$(**)$$y$について解いてあげて、$y=F(x)$という形にします。
$$F(x)= \begin{eqnarray} \left\{ \begin{array}{l} Y+\sqrt{R^2-(x-X)^2} \space\space\space\space (上に凸だよ)\\ Y-\sqrt{R^2-(x-X)^2} \space\space\space\space (下に凸だよ) \end{array} \right. \end{eqnarray} $$
すると2つ出ます。$(**)$$y$について2次方程式なので当然ですね。
この2つは円の上半分と下半分をそれぞれ表すので、上が上に凸、下が下に凸(そらそう)となっています。
「弧が大体その曲線に沿う」には少なくとも$y=f(x)$の凸性と一致しなければなりませんので、$F(x)$は次のように取ります。
$$F(x)= \begin{eqnarray} \left\{ \begin{array}{l} Y+\sqrt{R^2-(x-X)^2} \space\space\space\space (f''(x)<0\space\Longleftrightarrow fが上に凸)\\ Y-\sqrt{R^2-(x-X)^2} \space\space\space\space (f''(x)>0\space\Longleftrightarrow fが下に凸) \end{array} \right. \end{eqnarray} $$
$f''(x)=0$のときはちゃんと場合分けすれば考えることができますがめんどくさいので見なかったことにします。とりあえず次に行きましょう。
さて、$F(x)$には今$X,Y,R$という3つの未知数があります。これを1つに定めるには適切な3つの条件式が必要です。それは以下のようにします。
まず、点$(t,f(t))$の近くで沿う円を考えているのですから、少なくともこの点は通ってほしいですよね。つまり
$$F(t) = f(t)\cdots①$$
そしてさらに、この点での接線も元の曲線と一致してほしい。つまり
$$F'(t) = f'(t)\cdots②$$
最後に、円は2次曲線なので2階微分も一致してほしい。つまり
$$F''(t) = f''(t)\cdots③$$
というわけで妥当そうな3つの式①②③が得られました。
これを用いて$X,Y,R$について解くと
$$(X,Y,R)=\left(t-\frac{\left(1+f'(t)^2\right)f'(t)}{f''(t)},f(t)+\frac{1+f'(t)^2}{f''(t)},\frac{\left( 1+f'(t)^2 \right)^{3/2}}{\left|f''(t)\right|}\right)$$
となります。
$(t,f(t))$の近くで曲線$y=f(x)$は半径が$R$の円に近似できることがわかったので、この円で代わりに曲率を求めましょう。
$(*)$より円の曲率はその半径の逆数でしたので、曲線$y=f(x)$上の点$\left(t,f(t)\right)$での曲率$\kappa$
$$\kappa = \frac{1}{R} = \frac{\left|f''(t)\right|}{\left( 1+f'(t)^2 \right)^{3/2}}$$
となります。
この式に従うと、めんどくさくて放置した$f''(t)=0$のときは$\kappa=0$となります。上に凸でも下に凸でもない点では曲率が0ということで、まあ妥当ですね!

Spotify®の曲率

さて、本題に入りましょう。
私の独自の調査で、あの3本の曲線は適当な$a_i,b_i,c_i$(上から順に$i=1,2,3$)を用いた以下の曲線で表せることを特定しましたにしました。
Spotify®っぽい曲線(半径は!FORMULA[44][1238918525][0]) Spotify®っぽい曲線(半径は$\sqrt[4]{e}$
$$y=\ln\left|2x+5\right|+\ln\left|x-2\right|+c_i\space\space\space(a_i \leq x \leq b_i)$$
$f(x)=\ln\left|2x+5\right|+\ln\left|x-2\right|+c_i$として点$(t,f(t))$での曲率$\kappa$を求めると
$$\kappa(t)=\frac{\left|f''(t)\right|}{\left( 1+f'(t)^2 \right)^{3/2}}=\frac{\left|-\frac{8t^2+4t+41}{\left(2t+5\right)^2\left(t-2\right)^2}\right|}{\left(1+\left(\frac{4t+1}{2t^2+t-10}\right)^2\right)^{3/2}}$$
となり、黒:$y=f(x)$と色付き:$y=\kappa(x)\space\space(a_i\leq x \leq b_i)$のグラフは以下のようになります。
!FORMULA[52][1480097500][0] $i=1\space(a_1=-0.8,b_1=0.8)$
!FORMULA[53][-1727981581][0] $i=2\space(a_2=-0.7,b_2=0.65)$
!FORMULA[54][1595008661][0] $i=3\space(a_3=-0.6,b_3=0.5)$
アイコンの大きさによって曲率は変わりますが、端の方が中央より大きく、左端より右端の方が大きいことがなんとなくわかりましたね。
いや、あまりよくわからないですね...
皆さんも気になる曲線があったら曲率を調べてみてください(?)

おわりに

度々申し上げておりますが、曲率の定義の部分は超雑です。間違ってたらすみません、ご教授願います。
そもそもこんなくだらん記事に真面目な説明など荒唐無稽か!

投稿日:721
更新日:722

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。

投稿者

nはあなたの好きな正の整数。

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中