金曜日, 4月 04, 2025

TCDW8361
IKEAの製品が価格的にも良さそうですね

愛用しているニッケル・水素充電池が、寿命を迎えたモノがポツポツ出てきました。そろそろ仕込みに入らないといけないのですが、IKEAの製品が価格的にも良さそうですね。

木曜日, 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角形までの数を入力すれば・・・

自動的に描画しますが、どうしてもドキュメントの中に描画出来ないので、画面を縮小表示して確認してください。この問題解決はチョット時間が掛かりそうです。

TCDW8360
晴れても花粉症の季節だしPM2.5もあるし・・・

寒さがぶり返して引きこもり確定の日々〜。問題は寒暖差で体調を壊さないことですね。いや、風邪に要注意ですね。しかし、晴れても花粉症の季節だしPM2.5もあるし・・・(>_<)

水曜日, 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

"gggee年m月d日"の部分を変更することで処理結果を調整出来ます。

西暦を選択して実行・・・

処理結果。

TCDW8359
屋上レストランからの町並みにうっとり

30日にiPhoneでローマへ出張中の某氏(日本人)とのビデオチャットにオマケ参加しました。タイムラグがほとんど無いのに驚くとともに、屋上レストランからの町並みにうっとりしてしまいました。

火曜日, 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)))

TCDW8358
アタオカのドライバーは問答無用で永久免停にしてほしい

Baby Alien 074
鬼は内、福は外〜。不条理はお友達(^o^)
先日21時頃近所の交差点に人影が見えたので停止に近い徐行で交差点に入ったら、左から右に突き抜けるトラックに唖然。普通の徐行だった完全に事故のタイミングでした。アタオカのドライバーは問答無用で永久免停にしてほしいです。