水曜日, 6月 11, 2025

JavaScriptでAI遊び 50 
Illustratorでランダムなジグザグ線を描画(pt指定)

Illustratorでランダムなジグザグ線を描画します。必要に迫られてpoint指定になっています。

(function () {
var doc = app.activeDocument;
var artboard =
        doc.artboards[doc.artboards.getActiveArtboardIndex()];
var abBounds = artboard.artboardRect;
var centerX = (abBounds[0] + abBounds[2]) / 2;
var centerY = (abBounds[1] + abBounds[3]) / 2;

// ユーザー設定
var waveLength = Number(prompt("波の全体幅 (px):", "500"));
var waveHeight = Number(prompt("波の最大振幅 (px):", "100"));
var segments = Number(prompt("波のセグメント数:", "20"));

if (isNaN(waveLength) || isNaN(waveHeight) ||
        isNaN(segments)) {
alert("無効な入力値です");
return;
}

var pathPoints = [];
for (var i = 0; i <= segments; i++) {
var x = centerX - waveLength / 2 +
            (i / segments) * waveLength;
var y = centerY + Math.sin(i * Math.PI * 2 / segments +
            Math.random() * Math.PI) * (Math.random() * waveHeight);
pathPoints.push([x, y]);
}

// パスを作成
var newPath = doc.pathItems.add();
newPath.setEntirePath(pathPoints);
newPath.stroked = true;
newPath.strokeWidth = 2;
newPath.filled = false;

alert("ランダムなジグザグ線を作成しました!");
})();

実行したら描画値を入力すれば・・・

ギザギザのランダムな線が描画されます。曲線にしたい場合は・・・



ライブコーナーで対処すればOKです。