木曜日, 1月 23, 2025

JavaScriptでAI遊び 32 
四角形でスパイラル配置作成(CMYK版)


四角形でスパイラル配置を作成してみました。(CMYK版)

// CMYKモードでスパイラルを描くIllustratorスクリプト

// アクティブなドキュメントを取得
var doc = app.activeDocument;

// ドキュメントのサイズを取得
var artboard = doc.artboards[0];
var artboardRect = artboard.artboardRect;
var centerX = (artboardRect[2] + artboardRect[0]) / 2;
var centerY = (artboardRect[3] + artboardRect[1]) / 2;

// スパイラルの設定
var numRectangles = 50; // 四角形の数
var size = 5; // 初期サイズ
var sizeIncrement = 2; // サイズの増加量
var angleIncrement = 15; // 回転角度(度数法)
var distanceIncrement = 5; // 四角形の間隔

// 角度をラジアンに変換
var angleInRadians = function(angle) {
return angle * (Math.PI / 180);
};

// 四角形を描画
for (var i = 0; i < numRectangles; i++) {
// 四角形の位置を計算
var angle = i * angleIncrement;
var distance = i * distanceIncrement;
var x = centerX + Math.cos(angleInRadians(angle)) * distance;
var y = centerY + Math.sin(angleInRadians(angle)) * distance;

// 四角形を作成
var rect = doc.pathItems.rectangle(y, x, size, size);

// ランダムなCMYKカラーを設定
rect.filled = true;
rect.fillColor = randomCMYKColor();

// 線をオフにする
rect.stroked = false;

// サイズを増加
size += sizeIncrement;
}

// ランダムなCMYKカラーを生成する関数
function randomCMYKColor() {
var cmykColor = new CMYKColor();
cmykColor.cyan = Math.random() * 100;
cmykColor.magenta = Math.random() * 100;
cmykColor.yellow = Math.random() * 100;
cmykColor.black = Math.random() * 1;
return cmykColor;
}


実行直後の結果です。
サイズなどは指定できないのですが、その辺りは今後の課題ですね。