多くの場合、オブジェクトの配列を、直線で、中心点を中心に回転させて、またはパスに沿って角度を付けて作成する必要があります。現時点では、あらゆる種類の異なる疑いのない愚かな方法を使用していますが、通常は一度に少し頭の数学と変換パレットを使用します-そしてそれが愚かな方法であることを知っています。誰かが正しい方法、またはIllustratorでは不可能な場合はプラグインを教えてもらえますか?
多くの場合、オブジェクトの配列を、直線で、中心点を中心に回転させて、またはパスに沿って角度を付けて作成する必要があります。現時点では、あらゆる種類の異なる疑いのない愚かな方法を使用していますが、通常は一度に少し頭の数学と変換パレットを使用します-そしてそれが愚かな方法であることを知っています。誰かが正しい方法、またはIllustratorでは不可能な場合はプラグインを教えてもらえますか?
回答:
これを達成するにはいくつかの方法があります...
最も簡単な方法は、オブジェクトを複製しながら変換、拡大縮小、または回転することです。Windowsでオブジェクトを複製するには、「alt」キーを押し続けます*。CTRL + Dを押すと、変換と複製を繰り返すことができます
より正確にするには、ツールボックスから変換ツールを選択してEnterキーを押します。ダイアログが表示され、数値を入力できるようになり、「コピー」ボタンが表示されます。繰り返しますが、ダイアログが閉じたら、CTRL + Dを押して繰り返すことができます。
Blendツールはオブジェクトを「ステップ」できます。これには、パスに一致するようにオブジェクトを回転させるオプションもあります。
「アクション」パレットでは、複数の変換を記録および再生できます。
Illustratorはスクリプティング用に多数の言語をサポートしており、これは最も柔軟なソリューションを提供しますが、一般に学習とセットアップに時間がかかります。
* Macキーの組み合わせは若干異なる場合があります。
スクリプトを使用することもできます。たとえば、これはランダムな回転と中心からの位置で20個のパスアイテムを作成する方法です。
// creating a document
var doc = app.documents.add();
// adding a new layer
var layer = doc.layers.add();
// variable declarations
var i, ray, displacement, dx, dy;
// creating 20 path items in a loop and setting their parameters
for (i = 0; i < 20; i++) {
// adding a path item and saving it to the "ray" variable
ray = layer.pathItems.add();
// defining path points
ray.setEntirePath([ [0, 0], [0, 10]]);
// generating a random angle for rotation
// note: rotation in Illustrator is counter-clockwise
ray.rotation = Math.round(Math.random() * 360);
// applying rotation to the path, using its bottom as the origin point
ray.rotate(ray.rotation, true, true, true, true, Transformation.BOTTOM);
// moving the path away from the center of the document by "displacement" amount
displacement = 10 + Math.random() * 10;
// calculating x and y coordinates from "displacement"
// (which is basically a hypotenuse)
dx = displacement * Math.sin( (180 + ray.rotation) * Math.PI / 180 );
dy = - displacement * Math.cos( (180 + ray.rotation) * Math.PI / 180 );
// translating the path
ray.translate(dx, dy);
}
次に、これを「somefile.js」として保存し、[ファイル]-> [スクリプト]-> [その他のスクリプト...]で実行するか、ExtendScriptツールキットに貼り付けて実行します。