2015年8月24日月曜日

p2-slice, polar 2-slice, 極座標2-slice 変換

長方形図形で、例えば、額縁図形の額縁の太さを変えずに図を拡大縮小したいときに使う 9-slice 変換がある。9-slice変換では長方形を縦横それぞれ三つにわけ計9個の領域に分割し、それぞれの領域にしたがった拡大縮小を行う。

それと同様のこと(円板の枠の太さを変えずに円板の大きさを変える)をするのが p2-slice変換。そのアルゴリズムがこの図。

円板図形を極座標変換(polar conversion)する。できた長方形領域の二つの領域(2-slice)で変形をする。そしてこんどは逆極座標変換する。

アルゴリズムにしたがってプログラムを作ってみた。その結果を示そう。腕時計の文字盤。CASIOのサイトから写真を借用している。

この図形を 50%に縮小する。(convert -resize 50%)
つぎに p2-slice を使って、一番外側の都市を表示した部分の半径方向の高さを変更しないように、50%に縮小する。

わずかな違いだが、この変換が有効な応用分野もある。