金曜日, 4月 04, 2025
木曜日, 4月 03, 2025
JavaScriptでAI遊び 40
指定半径の三角形からN角形を描画
指定半径の三角形からN角形を自動描画します。
// 多角形描画
function drawRegularPolygon(sides, radius, centerX, centerY) {
var doc = app.activeDocument;
var angle = 360 / sides;
var points = [];
for (var i = 0; i < sides; i++) {
var theta = (angle * i - 90) * (Math.PI / 180);
var x = centerX + radius * Math.cos(theta);
var y = centerY + radius * Math.sin(theta);
points.push([x, y]);
}
var polygon = doc.pathItems.add();
polygon.setEntirePath(points.concat([points[0]]));
polygon.closed = true;
polygon.stroked = true;
polygon.filled = false;
}
function main() {
if (app.documents.length === 0) {
alert("ドキュメントを開いてください。");
return;
}
// 半径を指定
var radius =
parseFloat(prompt("半径を入力してください: ", "100"));
if (isNaN(radius) || radius <= 0) {
alert("有効な半径を入力してください。");
return;
}
// N角形までを指定
var maxSides =
parseInt(prompt("最大の角数を入力してください: ", "12"));
if (isNaN(maxSides) || maxSides < 3) {
alert("有効な角数を入力してください (3以上)。");
return;
}
// 描画位置を指定(これじゃダメみたい)
var doc = app.activeDocument;
var startX = radius * 1.5;
var centerY = doc.height / 2;
var leftEdge = 0 + radius;
// 3角形からN角形までを描画
for (var sides = 3; sides <= maxSides; sides++) {
drawRegularPolygon(sides, radius, leftEdge + (sides - 3) *
(radius * 2.5), centerY);
}
}
main();
実行したら半径値を入力・・・
続けてN角形までの数を入力すれば・・・
自動的に描画しますが、どうしてもドキュメントの中に描画出来ないので、画面を縮小表示して確認してください。この問題解決はチョット時間が掛かりそうです。
ラベル:
Illustrator,
JavaScript
水曜日, 4月 02, 2025
Excel VBA 44
Excelで選択したセルの西暦を和暦に変換
Excelで選択したセルの西暦を和暦に変換します。手動でメニューから変更するのが面倒なので作りました。
Sub ConvertToWareki()
Dim cell As Range
Dim wareki As String
' 選択範囲の各セルを処理
For Each cell In Selection
If IsDate(cell.Value) Then
' 和暦(元号)に変換
wareki = Format(cell.Value, "gggee年m月d日")
cell.Value = wareki
End If
Next cell
End Sub
ラベル:
Excel,
VBA,
Visual Basic
火曜日, 4月 01, 2025
Illustratorでの作図基本 17
N角星家紋の作図手順
前回の三つ星家紋の作図の応用で、N角星家紋の作図法を整理しました。
ここでは五つ星家紋で説明しますが、任意のN角家紋に適用できます。
五つの円の中心点を繋げると正五角形になります。その正五角形の1辺の長さは円の直径になります。
つまり、その五角形の1辺の長さが分かれば作図は簡単です。
ということで、
外接円の半径r
N角形の画数をN
辺の長さl
辺の長さは外接円の半径を2tan(π/N)で割れば算出できます。
r=l/(2tan(π/N))
Excelで求めると簡単です。
=B4/(2*TAN((PI()/C4)))
ラベル:
Illustrator
TCDW8358
アタオカのドライバーは問答無用で永久免停にしてほしい
Baby Alien 074
鬼は内、福は外〜。不条理はお友達(^o^)
ラベル:
3D,
Baby Alien,
modo,
TCDW
登録:
投稿 (Atom)