自主課題研究レポート
偏角関数を用いた曲線の研究

008 岩淵 勇樹
担当教員: 佐藤 卓治教員

2006 年 1 月 27 日

1偏角関数とは直交座標平面上に与えられた任意の連続な曲線について、次のような関数を定義する。

定義:

θ(l) を曲線の基準点 (原点にあるとする) からの長さ l での接線の偏角 ( x 軸に対する角度(rad) ) とし、これを偏角関数と呼ぶ。ただし、基準点が端点でない場合は一方の開曲線を +l 方向、もう一方の開曲線を −l 方向と適当に定め、それぞれの接線方向について偏角を求めるものとする。
このとき、元の曲線は次のようにして表される。
Z ty=
sin θ(l)dl0

Z tx=

cos θ(l)dl0(−L1 ≤ t ≤ L2 )なお、曲線の長さを L とおくと、 L = L1 + L2 となる。また、閉曲線の場合は L1 = L2 = ∞としてもよい。

1.1性質• θ0 (l) は曲線の基準点からの長さ l での曲率を示す• θ(l) + θ ⇔ 曲線の θ (rad) 回転¡ ¢• θ kl ⇔ 曲線の k 倍拡大• θ(l) が奇関数 ⇔ 曲線は線対称図形• θ(l) が偶関数 ⇔ 曲線は点対称図形• θ(l) が周期関数 ⇔ 曲線は繰り返しパターン (または閉曲線)

2

離散データとしての適用
上述のように定義された偏角関数は、代数的な処理を施すと原始関数で表現できない式がしばしば現れるため、標本化して取り扱うと便利である。標本化間隔を ∆l とおいたとき、元の曲線は次のように復元される。
t/∆ly=Xsin θ(k∆l)∆lk=0t/∆lx=Xcos θ(k∆l)∆lk=0(−L1 ≤ t ≤ L2 )しかし当然のことながら、これは元の曲線を完全に復元するものではなく、 ∆l を大きくとることによって復元できる曲線は粗くなる。なお、この表現は曲線を長さ ∆l の線分の集合で近似したものに等しい。

13偏角関数を応用した再帰曲線の描画
再帰曲線とは、元となる曲線に、ある決まった平行移動・拡大・回転といった幾何学変換を複数回施した曲線である。また、その変換を無限回繰り返した曲線は、その一部が全体と相似関係にある (=自己相似的な) 図形となり、これはフラクタルと呼ばれる。この節では、再帰曲線を偏角関数で表すことによって、その性質や再帰曲線描画への応用を考える。

3.1

コッホ曲線の描画

一般的に再帰曲線は端点の位置を一定に保って描かれるが、ここでは便宜上、一辺の長さを 1 と定める（ここで考える再帰曲線は、長さの等しい線分が連結された曲線に限る）。それによって、偏角関数を θ (l) = tdie とあらわせるような数列 {t1 , t2 , . . . , tk } として表現できる。

3.1.1

コッホ曲線の描画方法（一般的な方法）

第 0 段階水平な線分を第 0 段階とする。

第 1 段階第 0 段階の線分を 3 等分し、真ん中の線分を一辺とする正三角形を描き、下の辺を消去する。
第 n 段階

第 n − 1 段階の曲線における各辺を第 0 段階とみなし、それぞれについて第 1 段階における処理を施す。

3.1.2

コッホ曲線の偏角関数

第 n 段階での曲線を In 、それを 4 等分した曲線をそれぞれ In1 , In2 , In3 , In4 とあらわすと、

In1 , In4 はそれぞれ In−1 と同一であり、また、 In2 は In−1 を π3 回転したもの、 In3 は In−1 を− π3 回転したものとなる。すなわち、第 1.1 節で述べた性質より、 In2 部分における偏角は In−1部分における偏角に π3 加算したもの、 In3 部分における偏角は In−1 部分における偏角に − π3 加算したものであることがわかる。（図 1 参照）
これより、コッホ曲線の第 n 段階における曲線の偏角関数は、次のような数列 tnk によって再帰的に求められる。
n π π ot1k = 0, , − , 033tnk = tn−1+ t1(k mod 4)+1 (n ≥ 2)
d k4 e2図 1: 各段階におけるコッホ曲線とその偏角関数

3

3.2

他の再帰曲線の描画

上述のコッホ曲線描画方法を拡張し、第 1 段階をジェネレーターとしてさまざまな数列を与えると、多種多様な曲線が得られる。その Mathematica によるプログラムと実行結果を以下に示す。

4

また、上プログラムにあるジェネレータをいろいろ変更させて、図 2 から図 10 の曲線を得た。
Π
3Π
61234

Π- 6Π- 3

図 2: コッホ曲線5Π2Π3Π
614325Π- 6Π- 
3Π
- 
2

図 3: クロスΠ2Π3

Π

612

図 4: レヴィの C 曲線

Π5Π62Π3Π2
Π

3
Π

6
Π
- 
6Π
- 3Π- 2

1243

57689

図 5: ペアノ曲線の一種

Π2
Π

3
Π

612

34

5678

Π
- 6Π- 3Π- 2

図 6: 一般呼称不明の曲線

6

Π

2

Π

3

Π

6132

図 7: ミンコフスキー曲線2Π3Π2Π3Π6Π- 6Π- 3Π- 22Π- 314325図 8: シェルピンスキー曲線

Π3Π61324Π- 6Π- 3

図 9: 一般呼称不明の 2 次元曲線Π6123Π- 6Π- 3Π- 2

図 10: 一般呼称不明の 2 次元曲線7

4

線画像の特徴抽出
この節では、ペンタブレットなどの入力装置から入力された曲線や、ディジタル画像から検出された曲線について解析する実践的なアルゴリズムを提案および実装する。

4.1

偏角関数への変換

4.1.1

入力される曲線

元となる曲線は、スプライン曲線やベジェ曲線によって記述されたものや、チェインコードによって記述されたものなどさまざまな形式が考えられるが、それらはその曲線中の点を細かく取って連結することによってほぼ再現できるため、曲線を座標列として入力する。

4.1.2

変換

入力される曲線は直線により近似されているものであるため、それを表す偏角関数は区間ごとに異なる一定値をもつような関数となる。なお、その区間は各座標間の距離であり、またその区間での値は２点を結ぶベクトルの偏角（ −π ∼ π とする）である。

no−−−→ −−−→−−−−−→
つまり、 n 点の座標列 {A1 , A2 , A3 , . . . , An } についてベクトル列 A1 A2 , A2 A3 , . . . , An−1 An を
nono−−−→ −−−→−−−−−→−−−→ −−−→−−−−−→
求め、それぞれ |A1 A2 |, |A2 A3 |, . . . , |An−1 An | の区間長と一定値 6 A1 A2 , 6 A2 A3 , . . . , 6 An−1 Anをもつ関数を求めればよい。

4.1.3

標本化、出力第 2 節で述べたように、解析を容易にするために長さ軸を離散化することにする。また、今回は曲線の形状についての解析を主とするため、曲線の全長を揃えて出力することにする。出力は−π ∼ π の実数値をもつ N 個の点列となる。

4.1.4

実施内容

曲線の座標列は、ドロー系ツールで描いた曲線を、直線の集合に変換したうえで Adobe Illustrator(ai) 形式で書き出し、そのファイル内から該当する行を取り出すことによって、１行中に x 座標とy 座標および制御文字 (m か L) がスペースに区切られたかたちで得られる。それを以下のようなプログラムに入力することによって、偏角関数が数列として出力される。なお、出力の点数は 256点と定めた。

4.2

開曲線における解析・評価

ここでは、ペンタブレットからの入力などに想定される、始点と終点があらかじめ決まっている曲線について考える。

8

図 11: 教師曲線

図 12: 手書き曲線

ΠΠΠ2Π25010015020050250100150200250

Π- 2Π- 2-Π-Π

図 13: 教師曲線’v’ の偏角関数

図 14: 手描き曲線’v’ の偏角関数ΠΠΠ2Π25010015020050250Π- 2Π- 2-Π-Π

図 15: 教師曲線’s’ の偏角関数

100150200250

図 16: 手描き曲線’s’ の偏角関数

94.2.1

類似性の評価ここでは、図 11 の教師曲線を基準の曲線として、図 12 の手書きの曲線が教師曲線と一致性が高いかどうかを調べる。

一致性は数列の成分ごとに、正規化された角度の誤差を計算し、その数列全体での 2 乗和として評価する。この評価の値が低いほど類似性が高いと判別する。
2015105005101520

図 17: 教師曲線と手描き曲線の一致性

10図 17 が、全教師曲線と全手描き曲線についてそれぞれ評価を行い、評価の値を濃度値として各座標に図 11 および図 12 に示した順にグリッド上に並べたものである。評価の値が低いほど黒くなるように描画しているが、対角線上、つまり、教師曲線と手描き曲線が一致する場合に評価の値が最も低くなっている。また、’h’ と’n’、’r’ と’v’ など、人の目で見ても似ていると思える曲線同士でも類似性が高いという結果が見て取られる。これより、この方法による類似性の評価は信頼性が高いことがわかった。

4.2.2対称性の評価

ここでは、図 11 の教師画像を用い、曲線が線対称や点対称といった性質をもつかを調べる。第1.1 節で述べた、線対称曲線・点対称性曲線についての性質を利用して、上記のような式によって対称性を評価する。

78656443221a b c d e g h n p q r s u v w z 2 3 7 9a b c d e g h n p q r s u v w z 2 3 7 9

図 18: 点対称性の評価図 19: 線対称性の評価

点対称性の評価では、’s’、’z’ での評価の値がとりわけ低いことがわかる。また、線対称性の評
価では、’c’、’v’、’w’、および’3’ での評価の値がとりわけ低いことがわかる。これより、対称性の評価の信頼性が高いことがわかった。

115考察ディジタル写真などの保存形式として、ビットマップ (bmp)、JPEG、PNG などの”ラスタ系(ビットマップ系、ペイント系)”と呼ばれる画像形式が一般的であるが、フォントにおける文字の形や手描きの CG などを保存する形式として”ベクタ系 (ドロー系)”と呼ばれる画像形式がある。今回研究した偏角関数は、微分が曲率であるが、曲率が高い部分ほど視覚は敏感、つまり情報量が高いということになる。その点で考えれば、偏角関数を利用することによってドロー系の画像形式における効率のよい圧縮方法を見出せるのではないかと考える。
また、第 4 節のように、偏角関数を解析することによってさまざまな特徴を知ることができるということがわかったため、これを文字や図形の判別や表情分析などに応用することも大いに可能ではないかと考える。今回は開曲線の特殊な状況での解析であったが、閉曲線や複数の曲線についての改良案も多数考えられ、更なる研究を行う価値はあると思われる。
しかし、偏角関数は単一曲線に対しては容易に考えられるが、複数の曲線に対しては位置関係の把握に弱い（たとえば曲線同士が近接しているかどうかを計算しにくい）ため、座標情報も活用するなどの工夫は随時必要であると考えられる。

12