:note

InDesignでハートをすこしつねる

お〜まちさんところの ディザInDesignブログ: ハート形を描く から、

自分なりにentirePathを使った書き方でハート形を生成してみる。

ベジェ曲線のコントロールハンドルの位置をイメージしながら、ちくちく座標を決めていると、Illustrator Ver.1で初めてベジェ曲線に触れ、試行錯誤しながらロゴなどのトレースをしていた頃を思い出してしまいます。

まずはベースのハート形、すでに好みがわかれるところ。

InDesignでハートをすこしつねる /images/2010/09/626-base_heart.jpg
var r=10;//上のふくらみの半径
var grin=4;//先っぽのランダムぐあい、"0"でゆがまない

パラメータを調整して、先っぽのアンカーポイントとコントロールハンドルをふります。

InDesignでハートをすこしつねる /images/2010/09/627-grouchy_hearts.jpg

ちょっと歪んだハート形をドキュメントのどこかに、ひとつ作ります。

/*
すねたハートを作る
"make ♥"
使い方:
最前面のドキュメントのどこかに、ハート形のものをつくります。
ハートの先っぽの座標にランダムにゆらぎをあたえ歪ませてあります。
開いているドキュメントがなければ新規ドキュメントを勝手に作って実行します。
動作確認:OS10.4.11 InDesign 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 r = 10;//上のふくらみの半径
var grin = 4;//先っぽのランダムぐあい、"0"でゆがまない
var heartP = new Array();//ハートの座標の配列
heartP.push( [[0,r],[0,0],[0,-r/2]] );
heartP.push( [[r-r/2,-r],[r,-r],[r+r/2,-r]] );
heartP.push( [[2*r,-r/2],[2*r,-r/4],[2*r,-r/2]] );
heartP.push( [[3*r-r/2,-r],[3*r,-r],[3*r+r/2,-r]] );
heartP.push( [[4*r,-r/2],[4*r,0],[4*r,r]] );
//先っぽ
heartP.push([
  [3*r+grin*(-1)*Math.random(),r+grin*(-1)*Math.random()],
  [2*r+grin*(-1)*Math.random(),2.5*r+grin*(-1)*Math.random()],
  [r+grin*(-1)*Math.random(),r+grin*(-1)*Math.random()]
  ]);
var hearT = doc.rectangles.add();
hearT.paths[0].entirePath = heartP;
hearT.fillColor = "Magenta";//InDesignの予約色、適当に変更
hearT.move( [dWidth*Math.random(), dHeight*Math.random()] );

 
comments powered by Disqus
back to top