Osgood曲線というものの面積を求めます。
Osgood curveのwikipedia の Definition and propertiesにはこう書かれています。
A curve in the Euclidean plane is defined to be an Osgood curve when it is non-self-intersecting (that is, it is either a Jordan curve or a Jordan arc) and it has positive area.[1] More formally, it must have positive two-dimensional Lebesgue measure.
日本語にするとこんな感じ
ユークリッド平面内の曲線がOsgood曲線であるとは、その曲線が自己交差しない(つまり、それがJordan曲線またはJordan弧である)かつ、正の面積を持つときに言います。より正式には、その曲線は正の2次元ルベーグ測度を持つ必要があります。
ということ。つまりは、「自己交差せずに正の二次元ルベーグ測度を持つ連続な曲線」なら何でもOsgood曲線と言ってもいいということなんですね。
なのでめちゃくちゃたくさんの種類があります。
よって面積は一意に定まりません。
Osgood曲線の面積を求めるわけではなくて、画像の曲線の面積と、[0,1]からℝ²への関数としての表示を求めてくださいと言われたのでした。
画像はこれです。
一度mathlogに画像をアップロードして内部htmlからリンクを取得すれば、imgタグのsrcに入れると 図1 とかの文字なしの画像を埋め込めますね。
そして Osgood curveのwikipedia にある画像がこちら
By David Eppstein - Own work, CC0, Link
完全にこの画像ですね。
この画像の説明にはこう書かれています。
Example of an Osgood curve, constructed by recursively removing wedges from triangles. The wedge angles shrink exponentially, as does the fraction of area removed in each level, leaving nonzero area in the final curve.
訳すとこう
Osgood曲線の一例。これは、三角形からくさび形の部分を再帰的に取り除くことで構成される。このとき、くさびの角度は指数関数的に小さくなり、各段階で取り除かれる面積の割合も指数的に減少する。その結果、最終的に残る曲線は非ゼロの面積を持つ。
確かに、奥のほうは角度が狭くなっていますね。
...
青い部分の面積が欲しいです
と分かるので、
となります。
ここで
ここで辺
と求まります。
もう一個の
ここで
(これ
と思ったので
ということなので
似てますね
右の三角形の面積は、
左は、
一応面積が出ましたが、再帰するには小さい三角形に対応する
再掲
で、必要なのは左の三角形に対する
右の三角形に対する
右の方は
左は
です。
右から行きましょうか
ここで
となります。再帰できます。
左の方は
ここで
これで再帰が完全にできますね!
右
左
一応Geogebraで書いていたサイトを保存しておきます。
https://www.geogebra.org/calculator/ekhrw5nf
これで一仕事はしました。が、次も大きな仕事があります
プログラミングです。
ざっとこんな感じですね。
ぱっと求めるには
試しに正三角形から初めて
だいたい
他の場合も知りたい場合はその条件をコメントに書いてください。私が計算します。
[0,1]からℝ²への関数としての表示を求めます。
といっても僕には具体的な閉じた表示は求められないので、構成の方法だけでも述べようかと思います。
要は
これには各頂点の座標がいります。
再再掲
各頂点の座標を
なので
という風に
あとは、
右
左
という風に再帰してあげると、すべての頂点の座標が分かります。
全ての頂点の座標が分かったら、それらを順番に並べます。
並べ方なのですが、最初の三角形
次の三角形の座標二つを作る際、右の方の組(
左の方の組(
これを再帰します。
ちゃんと書くとこう
元
計算して
を求める
右
左
(辺の長さは面積を求めるときに使ったやつをそのまま使います。)
こうして元の三角形
次の三角形の座標を二つ
最初の三角形の数値の組は
こうして再帰して求めたい点を全部出していきます。
そして求まった点と数値の組ですが、順番がはっきりしています。
点の列
こうすることで求めた座標を順番どおりにできます。
(ただし
要は厳密に順番に並べたかっただけです
こうして得られた順番に並んだ点の列
これらを順に直線補間していきます。
まず区間
どう分けてもいいですが均等に分けておきます。
そして、各区間
に対して線形補間をします。
つまり、
と定義します。
こうしてできた関数
ほぼほぼ欲しかった関数です。
そう。あとは極限
出来ました。
svg画像での青い部分の面積と画像全体の面積との比率を出してみます。
となりました。