connect_centers_nearest_modified
前回作った、選択オブジェクトの中心点をつなぐパスを作るスクリプトで、つなぐオブジェクト群をどうやってつくろうかと思って、Voronoi Stippler*1というプログラムがあったのを思い出しました。これを使って画像から上の点群を作り、connect_centers_nearest を実行すると… setEntirePath でつなげられる点の数の上限(数千個)にひっかかってエラーになります。なので、下のように書き換えて、再度実行。
//path.setEntirePath(points); for(i=0; i<points.length; i++){ with(path.pathPoints.add()){ anchor = points[i]; rightDirection = anchor; leftDirection = anchor; } }
これはこれで、面白いかもしれないけど、糸がからまってるみたいでちょっとみっともない。ので、つなぐ距離の上限を設けることにしてみました。距離が上限より遠い場合、いったんパスを区切ります。
なんか、よい感じ? 変更したスクリプトを置いておきます。同梱の .js は windows、.jsx は mac 用のつもりです。
実行すると上限の距離(ポイント)を聞いてきます。
中身のことを書くと、パスを区切るところで、座標の配列 [x, y] の代わりに 0 を入れています。
download: aics_script_connect_centers_nearest_modified2.zip -> http://shspage.com/ex/files.html
追記:そういえば上のスクリプトで距離を調べるときは、距離の二乗で比べているんだった! なので、設定する上限は、距離の二乗の上限ということになります。。
追記:(6.12) 距離の上限を設定するように修正しました。