:note

ぎゅーんとしたものを作る

kinさんの 3倍早くなるためのDTP講座-「地球儀を作る」 をみてて、 Ingo Günther という地球儀や地図をつかったインスタレーションをするアーティストがいるのを思い出しました。インゴギュンターと読みます。

そこから、ぎゅーんとしたものが描けないか?しつこくスクリプトをいじってみました。 くしゅくしゅしたもののスクリプト では、アンカーポイントのみで、まだコントロールハンドルに関しては未定義でした。下記のコードの部分に、コントロールハンドルについての5行ほど追加・書換えします。

var coOrdi = new Array();
for(var i = 0; i < kushkushValue; i++){
  //ドキュメントのサイズ内で
  var ranX = dWidth*Math.random();
  var ranY = dHeight*Math.random();
  coOrdi.push([ranX,ranY]);
}

くしゅくしゅの座標にアンカーポイントの方向線の要素を追加したものを配列にしてあげると、曲線になるので、ボールペンでぐりぐり描くように少し優しくなるみたい。よりくしゅくしゅ感(?)が出てるかもしれません。コントロールハンドルの方向線の行き先がランダムなので、角はまだツンツンしてます。


var coOrdi = new Array();
for(var i = 0; i < kushkushValue; i++){
  //ドキュメントのサイズ内で
  var ranXL = dWidth*Math.random();//ここ追加。
  var ranYL = dHeight*Math.random();//ここ追加。
  var ranXR = dWidth*Math.random();//ここ追加。
  var ranYR = dHeight*Math.random();//ここ追加。
  var ranX = dWidth*Math.random();
  var ranY = dHeight*Math.random();
  coOrdi.push([[ranXL,ranYL],[ranX,ranY],[ranXR,ranYR]]);//ここ書き換え。
}
ぎゅーんとしたものを作る /images/2010/09/607-compare_kushkush.jpg

さて、ぎゅーんの方。先ほどの加筆に、さらにアンカーポイントの方向線をどこかに固定(たとえば原点[0,0])してあげると、ハンドルがみんなそこに全員集合するので、指向性をもちます。スピード感が出るかどうかはわかりませんが、なんとなく「ぎゅーん」としているような気がしないでも…貞子っぽいような、鬼太郎の髪の毛針のような。var coOrdi=new Array();

for(var i=0; i < kushkushValue; i++){
  //ドキュメントのサイズ内で
  var ranXL=0;//ここ変更。
  var ranYL=0;//ここ変更。
  var ranXR=0;//ここ変更。
  var ranYR=0;//ここ変更。
  var ranX=dWidth*Math.random();
  var ranY=dHeight*Math.random();
  coOrdi.push([[ranXL,ranYL],[ranX,ranY],[ranXR,ranYR]]);
}

あとは良さげな部分を使って、好きに料理をします。

ぎゅーんとしたものを作る /images/2010/09/605-stain.jpg

/*
ぎゅーんとしたものを作る
"make gathering pattern"
使い方:
最前面のドキュメントのサイズいっぱいに、左上のあたりからぎゅーんとしたものをつくります。
開いているドキュメントがなければ新規ドキュメントを勝手に作って実行します。
goonValueをいじると目の細かさをいじれます。
動作確認:OS10.4.11 InDesign CS2、CS3
milligramme
www.milligramme.cc
*/
if(app.documents.length == 0){
  var doc = app.documents.add();
}
var doc = app.documents[0];
var dWidth = doc.documentPreferences.pageWidth;
var dHeight = doc.documentPreferences.pageHeight;
var goonValue = 300;//頂点の数、ちくちくした方の数
var coOrdi = new Array();
for(var i = 0; i < goonValue; i++){
  //ドキュメントのサイズ内で
  var ranXL = 0;
  var ranYL = 0;
  var ranXR = 0;
  var ranYR = 0;
  var ranX = dWidth*Math.random();
  var ranY = dHeight*Math.random();
  coOrdi.push([[ranXL,ranYL],[ranX,ranY],[ranXR,ranYR]]);
}
var pCo = coOrdi;//多角形の座標の配列
var goonObj = doc.rectangles.add();//四角形をつくって
goonObj.paths[0].entirePath = pCo;//多角形の座標と入れ替える
goonObj.fillColor = "None";
goonObj.strokeColor = "Black";
goonObj.strokeWeight = 0.1;
goonObj.strokeTint = -1;
 
comments powered by Disqus
back to top