月曜日, 7月 15, 2024

JavaScriptでAI遊び 19 
ランダムに複数の円を描画

ランダムに複数の円を描画するスクリプトを作成して見ました。

/* random_circle.jsx */
#target illustrator
// 新規ドキュメントを作成(A4サイズ)
var doc = app.documents.add
    (DocumentColorSpace.RGB, 297, 210);

// 円の数を指定
var numCircles = 20;

// 円の描画
for (var i = 0; i < numCircles; i++) {
// ランダムな色を生成
var fillRed = Math.floor(Math.random() * 256);
var fillGreen = Math.floor(Math.random() * 256);
var fillBlue = Math.floor(Math.random() * 256);
var fillColor = new RGBColor();
fillColor.red = fillRed;
fillColor.green = fillGreen;
fillColor.blue = fillBlue;

// ランダムな塗りつぶし色を生成
var strokeRed = Math.floor(Math.random() * 256);
var strokeGreen = Math.floor(Math.random() * 256);
var strokeBlue = Math.floor(Math.random() * 256);
var strokeColor = new RGBColor();
strokeColor.red = strokeRed;
strokeColor.green = strokeGreen;
strokeColor.blue = strokeBlue;

// ランダムな半径を生成(10から50の範囲)
var radius = Math.random() * (50 - 10) + 10;

// ランダムな位置を生成
var x = Math.random() * (doc.width - radius * 1.5) + radius;
var y = Math.random() * (doc.height - radius * -1.5) + radius;

// 新しいパスアイテムを作成し、ランダムな円を描画
var newCircle = doc.pathItems.ellipse
        (y - radius, x + radius, radius * 1.5, radius * 1.5);
// 塗りつぶしと線の設定
newCircle.filled = true;
newCircle.fillColor = fillColor;
newCircle.stroked = true;
newCircle.strokeColor = strokeColor;
newCircle.strokeWidth = 1; // 線の太さを1ポイントに設定
}
/* random_circle.jsx */


処理結果1

処理結果2

処理結果3