Morphing I

メディア制作の基礎[6]
担当:小坂直敏[email protected]
応用処理の一例:
ー モーフィングの実際 ー
•
•
•
•
•
コンピュータグラフィクスにおける例
– モデリングによる方法
– サンプルデータによる方法
モーフィング:二つの対象物の知覚的な補間
デジタルメディアによってのみ達成可能
対象:画像(静止画、動画)、音(音色、声質)
定義 (Osaka 1998)
– 連続的な制御(continuity)
– 中間性(intermediateness)
– 均質性(heterogeniusness)
:両要素が持つ共通属性をモーフィング後も保持
モーフィングの効果に関する考察
中間性と均質性について
プリミティブの補間がそれらのネットワーク、あるいは有機的に組み合
わさった複合物間の補間となるかどうか、モーフィングの特性について
考察する。
A
B
補間
モーフィングのコンセプトと対応物
コンセプト1: すべてのパーツを同一比率で補間
A
B
コンセプト2: パーツの混合比率
動画像のモーフィング: 時点の対応
A
0
α
B
1
補間
メディア制作の基礎[6]
担当 小坂直敏
1. モーフィング
与えられた二つ画像から合成されるそれらの中間的な画像.エフェクトの一種.静止画同士から,
動画同士から,あるいは近年では楽音あるいは音声の間でも合成される.
2. 点と点のモーフィング
最もシンプルな例で点と点のモーフィングについて考える.これは単に補間するだけである.
点Aと点Bがある。これらの1次元のx軸上での点をそれぞれ, xA, xB とおく.このとき,補間率を
α (0≦α≦1) とするとモーフィングされた点xαは,
xα = xA(1-α)+xBα
ただし,α= 0 とは, xα = xA, ,α= 1 とは,xα = xB である.
また,2次元座標上で,点A (xA, yA) と点B (xB, yB)に
ついて考えると,補間率αでモーフィングされた点(xα, yα)は
同様に,
xα = xA(1-α)+xBα
yα = yA(1-α)+yBα
0
5
10
α= 0.2
図1 点のモーフィング(1)
10
3. 直線と直線のモーフィング
直線Aと直線Bがある。それぞれの線分の終端座標 は
A[(xA1 , yA1), (xA1 , yA1)],
B[(xB1 , yB1), (xB2 , yB2)].
5
とする.このときモーフィングする線分を描くには,次の手順で
行う.
手順:
0
•
対応点の定義
A上の端点, B上の端点をそれぞれ
5
10
図2 点のモーフィング(2)
2次元座標上
A1,A2, B1,B2 とし,例えば A1とB1 , A5とB5とを
•
•
•
A2
対応させる。
補間率(α; 0≦α≦1)の指定
10
内分点の計算
内分点(xα,yα)は
xα = xA(1-α)+xBα
yα = yA(1-α)+yBα
A1
B2
5
内分点を結ぶ.
B1
0
5
10
図3 直線のモーフィング
-1-
4.
モデリングによるモーフィング
直線Aと直線Bがある。それぞれの線分の式 は
xA1 ≦ x ≦ xA2
A: y= aA x + bA
B: y= aB x + bB
xB1 ≦ x ≦ xB2
[1]
[2].
とする.このときモーフィング線分は以下の手順で求める。
手順:
•
補間率(α; 0≦α≦1)の指定
•
•
モデルパラメータの補間計算
内分点aα,bαは
aα = aA(1-α)+aB*α
bα = bA(1-α)+bB*α
10
bA
A
bα
5
B
補間線分の始端と終端の計算
•
Aの始端、終端を(xA1, yA1),(xA2, yA2)
•
Bの始端、終端を(xB1, yB1),(xB2, yB2)
•
上のデータをもとに補間線分の始端、終端
bB
0
(xα1, yα1),(xα2, yα2)を以下により算出。
5
10
図4 モデリングによる
直線のモーフィング
モーフィングされた直線の始端、終端は、それぞれA1とB1とを結ぶ直線、およびA2
とB2とを結ぶ直線である。円弧で結ぶ可能性もあるが、ここでは中間性を考慮して
直線とする。求めるモーフィング線分の始端および終端は、上記の算出された直線
とモーフィング線分との交点。交点の算出は、二つの直線の式を連立方程式として
解けばよい。また、図形だけが必要な場合は作図だけでよい。
5. 直線モーフィングの特性
直線をモデリングにより補間するとき共通する一点を必ず通る.
2つの直線A,Bがある.それぞれ
y = aAx + bA
y = aBx + bB
とする.モデリングによるモーフィングは補間率αを用いて
y = {aA(1-α)+aBα}x + bA(1-α)+bBα
とかける.
[3]をαについて整理すると,
y = aAx + bA +α{(aB -aA)x + (bB -bA)}
右辺の{ }内を0とおくと,
(aB -aA)x + (bB -bA) = 0
x = -(bB -bA)/(aB -aA)
xがこの値をとるときyは[4]式に代入して,
y = aA ・{-(bB -bA)/(aB -aA)}+ bA
= (aA bB - aB bA )/(aA - aB)
したがって,モーフィングされた直線は点
[-(bB -bA)/(aB -aA) ,(aA bB - aB bA )/(aA - aB)]
を通る.
-2-
[1]
[2]
[3]
[4]
[5]
[6]
[7]
6.
一般的な線と線のモーフィング
直線でない線の場合は、一つの線をできるだけ細かく分割し、
ほぼ直線とみなせるようにする。
個々の線に対応関係を持たせ、あとは直線のモーフィングと
同様に行う。
7.
10
A
形状モーフィング
直線あるいは曲線からなる2つの異なる図形AとBがある。
このときのモーフィングの手順は以下で行う。
手順:
1.
AとBそれぞれともできるだけ分解し、直線、あるいは
単純な曲線の和として分解する。
2.
3.
5
B
0
対応する線分は、これまでの線と線のモーフィングを
利用して、モーフィング合成を行う。
対応しないものはその処理について考え、方針を決める。
1.
2.
3.
一方の物を保持する
対応しないものは合成側には組み入れない。
仮想的な対応物を作る
4.
1-3を全ての分解された組み合わせについて繰り返す。
8.
形状モーフィングの特性
平行移動したもののモーフィングが
しない場合と比して同一の形状になる。
10
5
10
図5 線のモーフィング
(矢印は対応する線を表す)
A
8.75
B
証明略。
5
1.25
0
1.25
5
8.75 10
図6 円と正方形のモーフィング
-3-