投稿日 | : 2004/12/15(Wed) 10:28 |
投稿者 | : ダンボ |
URL | : |
タイトル | : 楕円でなく滑らかな曲線で囲む場合(完成) |
ボタンn個に対して4n個の点の「一番外側」の点を決めてベジェ曲線で繋ぐと言うのも1方法です。
基本方針:中心点を求めて、原点移動・極座標化までは他と同じ。
注目する1個のボタンの4端点のうち、中心点からの距離が一番遠いものをそのボタンの描画点とする。
具体的方法:
・中心点を、(4n個のX座標の単純平均、4n個のY座標の単純平均)とする。
・中心点を(0,0)とした座標系に平行移動する。
・各ボタンiに付き、4個の点を新座標系の極座標で表す。(R,T)=(root(X*X+Y*Y),arccos(X,R))
・各ボタンiに付き、Rが最大の点の座標を記録する。
・後は座標系を戻して行って、n個の端点をベジェ曲線で繋ぐ。