// 選択オブジェクトをランダム複製・配置
// アートボード内に収める
if (app.documents.length == 0) {
alert("ドキュメントを開いてください。");
} else {
var doc = app.activeDocument;
var sel = doc.selection;
if (sel.length == 0) {
alert("オブジェクトを選択してください。");
} else {
var count = Number(prompt("複製数", "30"));
if (isNaN(count) || count < 1) exit();
var minScale = Number(prompt("最小倍率(%)", "50"));
var maxScale = Number(prompt("最大倍率(%)", "150"));
if (isNaN(minScale) || isNaN(maxScale)) exit();
var ab = doc.artboards[
doc.artboards.getActiveArtboardIndex()
].artboardRect;
var left = ab[0];
var top = ab[1];
var right = ab[2];
var bottom = ab[3];
for (var c = 0; c < count; c++) {
for (var i = 0; i < sel.length; i++) {
var obj = sel[i].duplicate();
// ランダム倍率
var scale = minScale + Math.random() * (maxScale - minScale);
obj.resize(
scale,
scale,
true,
true,
true,
true
);
// ランダム回転
obj.rotate(Math.random() * 360);
// サイズ取得
var b = obj.visibleBounds;
var w = b[2] - b[0];
var h = b[1] - b[3];
// アートボードより大きい場合は削除
if (w > (right - left) || h > (top - bottom)) {
obj.remove();
continue;
}
// ランダム位置
var x = left + Math.random() * ((right - left) - w);
var y = top - Math.random() * ((top - bottom) - h);
obj.translate(
x - b[0],
y - b[1]
);
}
}
doc.selection = null;
alert("完了");
}
}
金曜日, 9月 11, 2026
JavaScriptでAI遊び 106
Illustratorで選択したオブジェクトを数と比率を指定してランダム複製・配置
Illustratorで選択したオブジェクトを数と比率を指定してランダム複製・配置します。
また、処理結果はアートボードからはみ出すことはありません。
任意のオブジェクトを選択してか実行すると・・・
数を設定(デフォルトは30)し
最小倍率(デフォルトは50)を設定し
最大倍率(デフォルトは150)を設定すれば・・・
直ぐに完了します。
処理結果はアートボード内にランダム配置されます。
※Illustratorのアップデートで不具合が出る場合があります。気がついた時点でデバッグするように心がけていますが、すぐに対応できないのでご容赦ください。
ラベル:
Illustrator,
JavaScript
TCDW8886
薄力粉ではなくて小麦粉なのは何故?
小豆(あずき)と大豆(だいず)があるのに中豆(ちゅうず?)はないですね。ちょと気になりました。同様に、強力粉(きょうりきこ)と中力粉(ちゅうりきこ)があるのに弱力粉(じゃくりきこ)ではなくて薄力粉(はくりきこ)なのは何故?
ラベル:
illustration,
Photoshop,
TCDW
木曜日, 9月 10, 2026
Let's start JavaScript 110
ランダムに円、三角、四角を表示
ランダムに円、三角形、四角形を表示するだけです。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>ランダム図形表示</title>
<style>
body{
background: black;
color: white;
margin: 20px;
}
canvas{
border:2px solid white;
}
</style>
</head>
<body>
<center>
<h3>ランダム図形表示</h3>
<canvas id="canvas" width="800" height="600"></canvas>
<br>
<button onclick="drawShapes()"> リドロー </button>
<script>
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
function rand(min, max){
return Math.random() * (max - min) + min;
}
function color(){
return `hsl(${Math.random()*360},80%,60%)`;
}
function drawShapes(){
ctx.clearRect(0,0,canvas.width,canvas.height);
for(let i=0;i<50;i++){
const type = Math.floor(Math.random()*3);
const size = rand(10,100);
const x = rand(size/2, canvas.width-size/2);
const y = rand(size/2, canvas.height-size/2);
ctx.fillStyle = color();
switch(type){
case 0: // 円
ctx.beginPath();
ctx.arc(x,y,size/2,0,Math.PI*2);
ctx.fill();
break;
case 1: // 四角
ctx.fillRect(
x-size/2,
y-size/2,
size,
size
);
break;
case 2: // 三角
ctx.beginPath();
ctx.moveTo(x,y-size/2);
ctx.lineTo(x-size/2,y+size/2);
ctx.lineTo(x+size/2,y+size/2);
ctx.closePath();
ctx.fill();
break;
}
}
}
// 初回表示
drawShapes();
</script>
</center>
</body>
</html>
実行直後の画面です。既にランダムです。
[リドロー]で再表示。
ランダムなので同じイメージは二度と出てきません。
ラベル:
HTML,
JavaScript
TCDW8885
断片的な景色だけでは永遠に辿り着けませんね
よく知っている街の何処かに、大昔に訪れた店や友人の家があるはずなのですが、そこが何処なのか思い出せません。住所が解らないと、断片的な景色だけでは永遠に辿り着けませんね。
ラベル:
3D,
Cute Baby Alien,
modo,
TCDW
水曜日, 9月 09, 2026
Modeling in Fusion 19
Illustratorデータを正確に利用する手順
Illustratorで作成した形状をFusionに利用する場合、何もしないとサイズが変わってしまうので正確に受け渡すための手順を整理しました。
説明用に用意したサンプルデータです。センターを確認するために突起を作成しました。IllustratorからはSVG(Scalable Vector Graphics)で書き出します。
Fusionを起動し、[スケッチ]にて[スケッチ]>[挿入]>[SVGを挿入]で書き出していたSVGファイルを挿入し中心位置に合わせるため(※)にX軸で-50mmを指定すると中心よりも左に寄りすぎてしまいます。これは72ppiがベースのIllustratorで書き出したSVGをFusionが96ppiと理解することによる差異です。結果として、100mm幅の図形をFusionに配置すると75mm程度になってしまいます。
基本的にこれで問題解決なのですが、Fusionで目一杯拡大するとズレていることが解ります。
これはIllustratorでSVG書き出しする際の精度の問題なので。[小数点以下の精度]をデフォルトの[1]から[4]似変更して書き出せば・・・
目一杯拡大しても許せる範囲です。
それでも気になる場合は確定前に目一杯拡大してから微修正すると完璧ですが、そこまでしなくても問題ないと思いますが・・・。
なお、処理後に[押し出し]をすると穴部分が塞がって見えますが・・・
確定前に穴の部分をクリックすれば穴は空きます。
上は完成状態です。
Fusion 2704.1.23 arm64
ラベル:
3D,
Fusion_Fusion360,
Illustrator
TCDW8884
記憶をひもとくのは絶望的ですね
2026年8月30日の続きです。気になる日は・・・1999年または2000年に石井竜也さんが東京国際フォーラムで行ったコンサートに出かけた日が解れば・・・と言うところまで思い出しました。結果、2000年6月25日に東京国際フォーラムにて石井竜也さんが行ったコンサートツアー2000「DRAGASIA」でした。強烈なイメージやイベントがないと記憶をひもとくのは絶望的ですね。
ラベル:
illustration,
Photoshop,
TCDW
火曜日, 9月 08, 2026
カメラのバッテリーカバーを3Dプリントで修正(2)
前回の改良版です。メモリーカードの出し入れやバッテリー交換などで頻繁に練りを絞めたり緩めたりする必要があるので改良版を作成しました。
コインなどを使わなくても練りを調整出来るように、1/4インチカメラ固定アダプターをDリング付きに変更しました。また、それに伴ってデザインを変更しました。また、それにともないネジを
モデリングはいつもの様にFusionで、出来るだけ出っ張り部分を減らす方向に変更しました。
最終的にアールを付けて完成です。
Bambu studioへ読み込んでプリント後に前回同様に内側にカーブを付けました。
装着した状態です。
これでまだまだ現役で使えますね。
ちなみに、割愛しますが、この後バージョン3(微修正版)まで行きました。
Bambu Studio 2.7.1.62
Fusion 2704.1.23 arm64
eSUN PLA Plus(グレー)
月曜日, 9月 07, 2026
Photoshopでグラデーション位置設定でイメージは激変
単なるグラデーション作成なら、それほど気になりません。しかし、グラデーションを元にする処理の場合はグラデーションの位置設定でイメージは激変することを理解することがあります。
例えば、矩形の中心から短辺までの設定で、赤と黄色の2色間の円形グラデションを設定すると・・・
こんな感じになります。中心にちょこんとグラデーションがある感じです。
ここで、[イメージ]>[色調補正]>[ポスタリゼーション]を実行すると・・・
処理結果はこんな感じになります。
矩形の中心から長辺までの設定で円形グラデションを設定すると・・・
こんな感じになります。一般的なグラデーション結果といったところです。
続けて[ポスタリゼーション]処理を実行するとこんな感じになります。
矩形の中心から対角線の端までの設定で円形グラデションを設定すると・・・
こんな感じになります。流石に黄色の部分が多すぎますね。
続けて[ポスタリゼーション]処理を実行するとこんな感じになります。
ラベル:
Photoshop
TCDW8882
全体の雰囲気が変わるかな〜・・・と
バスで女性ドライバーご増えてきていい傾向ですね。男性ドライバーが悪いという意味ではないのですが、時々態度の悪い高齢ドライバーに遭遇することがあるので、女性ドライバーが増えれば、全体の雰囲気が変わるかな〜・・・と。
ラベル:
illustration,
Photoshop,
TCDW
登録:
投稿 (Atom)






































