:note

エコエコしたものをつくる

InDesignでドキュメントいっぱいに星がキラキラしたものをつくるはずが、なんかエコエコしたものになってしまいました。

多角形オブジェクトを星型の比率と頂点の数を変えながら増殖、増大させていきます。大きくする毎に別レイヤーを作成します、色付けやレイヤーの表示非表示をうまく使えば、チーターの柄とかなりそう。せっかくなので上げてみます。

実はまだ、オブジェクトの大きさの増加の設定を考えあぐねています。

patL=startL*(k+1)+patGap; //こちらはより変態拍子風にレイヤード-Aパタ
patL+=patL+patGap; //こちらはおとなしめなグリッド風にレイヤード-Bパタ

パターンA(レイヤー多め)

エコエコしたものをつくる /images/2010/09/717-ecoeco_a.jpg

パターンB

エコエコしたものをつくる /images/2010/09/718-ecoeco_b.jpg
/**
エコエコしたものをつくる
"creat something evil"
使い方:
実行するとドキュメントを作って星型の模様を段々大きくしながら重ねてを描きます。
もわれぽくエコエコっぽく呪いっぽくなります。
動作確認:OS10.4.11 InDesign CS3
milligramme
www.milligramme.cc
*/
//var docObj=app.documents[0];
var docObj=app.documents.add();
var dHeight=docObj.documentPreferences.pageHeight;
var dWidth=docObj.documentPreferences.pageWidth;
//パラメーター
var patL=startL=7; //オブジェクトの開始サイズ;
var patGap=1; //オブジェクトの間隔
var runCircle=10; //大きくしながらループする回数(途中で止まる場合あり)
for(var k=0; k < runCircle; k++){
  //ランダムな名前のレイヤー
  var layObj=docObj.layers.add({name:""+Math.random()});
  for(var i=0; i < dWidth/(patL+patGap)-1; i++){
    for(var j=0; j < dHeight/(patL+patGap)-1; j++){
      var leftTop=[i*(patL+patGap), j*(patL+patGap)];
      var starObj=docObj.polygons.add(layObj);
      with(starObj){
        strokeWeight = 0.1;
        strokeColor = "Black";
        endJoin=EndJoin.ROUND_END_JOIN;
        geometricBounds = [leftTop[1], leftTop[0], leftTop[1]+patL, leftTop[0]+patL];
      }
      //かくれパラメーター星型をランダムに設定します
      var numVertix=3+Math.floor(Math.random()*(101-3)); //頂点の数:3〜100
      var innerPer=50+Math.floor(Math.random()*(101-50)); //星型の比率:0(正n角形)〜100(イガイガ)
      starObj.convertShape (ConvertShapeOptions.CONVERT_TO_POLYGON, numVertix, innerPer);
    }
  }
  patL=startL*(k+1)+patGap; //こちらはより変態拍子風にレイヤード-Aパタ
  //patL+=patL+patGap; //こちらはおとなしめなグリッド風にレイヤード-Bパタ
  //ドキュメントの縦にも横にもいっぱいいっぱいのオブジェクトになったらおしまい。
  if(dWidth/(patL+patGap) < 1 && dHeight/(patL+patGap< 1 ) ){
    exit();
  }
}
 
comments powered by Disqus
back to top