ここは個人の趣味のページです。
昭和49年生まれ、血液型B型、男。
名前は、かわ、kawa、d_kawakawa、cookiepuddingman、平行四辺形 などいろいろあります。
文書を書くときの助詞や助動詞、副詞などが苦手で、記事を書いて後から「不自然だな」と思ったりします。
私がプログラミングを好むのは、プログラミングは私の「物づくり」に対する探求心と創造性を十分に満たしてくれるから、、です。
憧れに向かう、形にする。そんなわけで、この個人ページではプログラミングの話をすることが多いです。
ここの管理人、
AI の利用やめるってよ。
AI の問題点:
これらが向こう10年解決されないだろうと見込んで、やめることにしました。(2025年5月23日~)
私は AI に頼らず「自分の力」を大切にしたいです。
…とはいえ、人間は新しく見つけた技術を手放すということは基本的にやらないと思います。
だから私も後々 AI を利用することにはなると思います。
でも上記の問題点は確かなもので、将来 AI ロボが私の家の扉をコンコンと叩いて
「市からの要請で、お手伝いするため おうかがいしました」
と言うまでの間は、この AI 技術を導入せず、頑張ってみようと思います。
でもこの考え方、キツイと思うのでマネしなくていいです。


最近は Microsoft Excel の VBA というプログラミング言語で「図形の変換ツール」を作っています。
▼ こういう画面でプログラミングしていますね。
▼ Microsoft Excel で何か描いて、画面の「ボタン 6」を押すと、、
▼ インターネットブラウザ上で JavaScript で描画されます。
別途取り組んでいる「人体のプログラム」では「顔」をいろいろ作る必要があるんですが、

この顔を数値をポチポチ入力しながら作っていると大変なので、Excel でズバッと描いて、バシッと人体に挿入できたら楽だろうと、そういうコンタン(根端)です。

Excel 画面の「ボタン 6」を押すと、図形データが JavaScript に変換され、test.js みたいなファイル名のファイルへ落ちます。
ブラウザの更新ボタンを押せば、test.js を読み直すので、
…という簡単操作で実現されます。
これが内部的には結構大変で、Excel のプリセット図形というのは、見た目は単純でも、データとしては
『嵐のように』
ひどいことになっています。
▼Excel にはいろいろな図形がありますが、、
▼たとえばこの図形、「額縁」という名前ですけど、(名前はどうでもいいんだが)

▼ひもとくと、こんな感じ。意外と複雑です。
Excel で図形をいじっていて、ちょっと形を変えようと思って「頂点の編集」で、点を動かしたら次々と点が出てきて「いじりようがなかった」という結果にならなかったでしょうか。
その理由がコレ↑なんですね。1カ所に4個も5個も点が折り重なっています。
▼ ↑この図について、頂点の順番はどうなのかと探ったメモ
▼図形描画を使って把握しようとしたけど断念。これこそ嵐のようだ!

▼いろいろ苦労した結果の最終的なメモ。
点には種類があって、その種類の並びのパターンによって、「一筆書きが中断」されたり、「別の場所から再開」されたりと、変化します。
上図の下部に並ぶ「 L 」が線を引く、「 J 」が一筆書きを中断して別の場所へジャンプするという意味です。
その上には "33LC" とか "34Ln" とか記号が並んでいますが、
33LC は「33番目の点であり、ラインを引く。種類は "msoEditingCorner"」という意味、
34Ln は「34番目の点であり、ラインを引く。種類は未設定 null」という意味です。
点の種類とは、たぶん、

これのことかなと思います。
| Excel 画面 | VBA |
|---|---|
| 頂点を中心にスムージングする | msoEditingSmooth |
| 頂点で線分を伸ばす | msoEditingAuto |
| 頂点を基準にする | msoEditingCorner |
…かなぁ。
このほか VBA の設定値として上記3つではなく「未設定 null」だと、ハンドル(上図の菱形図形の右端カドの2方向に伸びた白い■のついた棒)を動かすと、そのとき初めて未設定から「msoEditingSmooth」、「msoEditingAuto」、「msoEditingCorner」のいずれかの値に変化するみたいです。
以降(図形8種類のメモ)は私の徹夜の証です。夜を徹してと書いて徹夜です。
この図を解析。
研究、研究…
この図を解析。
Office で使われる「ドローデータのフォーマット」というものが Microsoft から資料公開されていないので、自分で解析します。

ある一つの図形について
「JavaScript で正しく再現できた!」
と思っても、他の図形では崩れていたりします。

だから崩れている図形を一つ一つ調べて、
地道に考えてプログラムしていきます。

↑図を見ると、簡単に色分けをしていますよね。
←解析すると、すべての図形が「一筆書き」で作られています。
一筆書きで、色分けをどうやって判定して塗るのか??
…を考えたときゾッとしました。
そこまでできない。。。。やりたくない。。。キガトオクナル

ノンノンノン☝☝☝ 大丈夫さ。
プリセットの図形だけが、「一筆書き&色分け」になっていて、ユーザーが作る図はそういう変態的な形式にはならないので、たぶんそんなに恐れることはないと思います。
徹夜したから疲れてるな。

こんな解析を一晩中続けて、朝の6時を過ぎてしまい、
もう51歳になったのに、そんな無茶なことはマズいよ、、と思った。

この図だけ、Microsoft のミスが2つありました。
点の種類が他と違うイレギュラーな順番で並んでいて、「ミスじゃないのか?」と思いました。プログラムの中で特別対応が必要でした。
また、同じ場所に点が複数置かれている場合、それらの点はすべて同じ座標値のはずですが、この図形だけある点に重なる2つの点がズレていました。
2番目の点 points : [ 200.2499, 1444.185 ],
19番目の点 points : [ 200.25, 1444.185 ],
このちょっとのズレにより、よーくみると線の太さがちょっと違っていました。
わずかな差でずれるんですよね。Excel のドローって。
たぶん日本全国1億人でこれを発見したユーザーは私一人だけ。1/100,000,000。
ワン・ハンドレッド・ミリオン。ぶんのいち。
つっ…つかれた…
せっかくなので、ちょっとやってみるか。どーかなー
▼「3Dお姉さん」は Excel で描かれているんですが、、
▼おー!これは、、

いけね、もっと疲れる。。。
わすれてたわ。
回転とかその他、「いろいろ図形を動かすプロパティ」があるんだった orz

(訪問者のどんなニーズと この記事がつながるか)
以下のような構成で話をしています。
最近、Wi-Fi ルーターについてのニュースが目立っています…
目立っている、、と思ったんですけど、よくよくニュースを探してみると上記2点だけで、そんなに目立っているというほどではありませんでした。
「でも無視できない内容だなー」と思いました。
サポートが切れたルーターは脆弱性が直されず、セキュリティ上危険です。
ァゥァゥと思いましたけど、でもメーカーがそうするって言うならしかたないでしょう。
メーカーも業務を改善、効率化しなければならず、その一環なのかなと思います。
注:私のこの記事の後半では「古い機器でもメーカーがサポートしている」と判明しています。各家庭で確認が必要なんですね。
ニュースを読んで、自分が使っている Wi-Fi ルーターの発売年を調べたら、
「Wi-Fi 7 だと何が良いのか」というと、単純に「速度、安定性が高まった」ということのようです。
中でも MLO(Multi Link Operation)というのが新しい追加機能のようで、
2.4 GHz帯、5 GHz帯、6 GHz帯と、これまでは Wi-Fi に接続するときに「何 GHz から一つ」を選んでいましたが、Wi-Fi 7 ではこれら複数に対して同時に接続できるようになったのだそうです。
>2.4GHz・5GHz・6GHz帯域に同時に接続することでスループットや信頼性が向上し、遅延が減少。VR/AR・オンラインゲーム・リモートオフィス・クラウドコンピューティング等の新しいアプリケーションに最適です。
https://www.tp-link.com/jp/blog/1067/wi-fi-7のmlo-multi-link-operation-とは-/
…だそうです。
「2.4GHz 帯でアップロード、5GHz 帯でダウンロード」というような用途別の振り分けができ、アップロードとダウンロードが別々の周波数帯域で同時に行われるので、速度向上されたり、データ干渉がなくなったり、まぁ、とにかく速くなるそうです。
でも私はネットワークゲームはやらないし、映画も SD 画質(標準画質)で見られれば満足なので、単純にセキュリティ上の更新として Wi-Fi ルーターの買い換えを行う、ということです。
今回の調べ物をするなかで、「am I infected?」というサービスを知り、試してみました。これ
(最初のニュース箇条書きの「INTERNET-Watch」の記事で紹介されています)
>自宅のWi-Fiルーターが感染しているかどうかを診断できる
のだそうです。
アクセスしてみると、こんなトップページ。
横浜国立大学、と書いてあります。
メールアドレスを入力し、環境(自宅、勤務先、外出先、その他)を選んで、「感染診断をはじめる」ボタンを押します。
すると5分後にこのようなメールが届きます。
「以下のリンクにアクセスしてください」、と。
問題があったらやだなーと思って、おそるおそるリンクをクリックすると、、
セーフでした。
でも、、
『16年前のルーターについてメーカーはサポートしている?』
…と思ってその商品ページを確認したら、「販売終了」とは書かれているけど、「サポート終了」とは書かれていなくて、ソフトウェアのダウンロード(ファームウェアなど)ができる状態でした。
ソフトウェアがダウンロードできるということは、そのメーカーがサポートを行っている、ということにたぶん等しいので、サポートされているということですね。
ふーん、そうか。。
メーカーのサポートはあるし、管理者パスワードも設定してある。
ファームウェアもちゃんと毎回更新しているので、だから「問題はありませんでした」と表示された、ということだと思います。
「セキュリティ上問題ないんだったら、今回買わなくても良かったんじゃないのー」って思うけど、、、
「もう通販の方は出荷しちゃったかな」と思って注文履歴を確認したら、、

なんと、勝手にキャンセルされていました。
「商品ページは表示するけど、在庫は無い」ってやつかな。有名な販売店なのに。(コジマ電機)
お客さんを甘く見てる店ってダメだと思う。
私も遊びでこういうセキュリティ更新とかやってるわけではないので、買わなくても良かったんじゃないかと後から結論し、その購入が勝手にキャンセルされていて結果的に好都合だとしても、そのとき「買う」と決めたのだし、十分に調べものもした、ということもあるので、買うことにします。
同じ商品を「Amazon が販売し発送」の種類のページから購入しました。
16年前は古すぎ、セキュリティは向上(結局は向上することになる)、最新の Wi-Fi 7 環境、そういう理由での購入です。
2日後くらいに Amazon から届き、設定して使えるようになりました。
パソコンはもともと有線接続だったので特別変化なし。
スマートホンは Wi-Fi のアクセス認証方式がもともとは WPA2-tkip でしたが、今回 WPA3 にバージョンアップできました。WPA3 にすることでセキュリティがさらに拡張されるそうです。あと上記の通り、速度向上もしたのかな。
(訪問者のどんなニーズと この記事がつながるか)
「Excel で作図した図形を変換し JavaScript のデータとして出力しよう」という取り組みです。
前回の結末は、Excel に最初から入っているいろいろなプリセット図形は正しく変換できたものの、
|
▼Excel のこういう図形を変換してみたら…
|
▼JavaScript 上でこんな表示に。
|
原因は以下の5点。
そのほか、Excel(バージョン 2010)には図形に関するバグがあり、「特定の操作を行った図形」はデータがバグっているため、今回の VBA プログラムを実行すると「オートメーションエラー、原因を特定できません」とエラーが表示される、、、という問題も発生しました。
その「特定の操作」というのは、
このとき、図 F に含まれる図 A, B, C は、図 F の子であるから「child」プロパティが本来「真」になるはずだが、これがバグにより「偽」になってしまう。
それに関連して、各図形の親図形(グループ図形)を表す「parentGroup」プロパティも「存在しない」という状態になってしまう。
つまり、入れ子になっている図形のコピーをとると、その子図形の「親子関係を示すプロパティ」がバグり、今回のプログラムで親子関係を調査するときに「オートメーションエラー、原因を特定できません」となってしまう、ということです。
私はそういうバグに直面すると「なんで」と誰にともなく責めたくなるんですけど、それであきらめるとやりたいことが実現できないので、しぶしぶ、バグ回避対応を行いました。
その対応とは、図形がバグっているかどうかを判定して、バグっている場合はそのグループをグループ解除して、再度グループ化するとプロパティのバグが直るので、、と、そういう対応を行いました。
バグバグっぽい動きをしますが、それでうまくいっています。
|
▼改めて変換、、、
|
▼ただしく変換できました★
|
他にやることは
その2点かな。
Excel の図形描画の「グラデーション」だとか「3D表現」だとか「点線」とか「太線」とか「影」とか「パターン塗り」とかいろいろ図形の書式とか効果があるんですけど、そこまでやると私の寿命も容易に尽きるので、基本的なところだけとします。

(訪問者のどんなニーズと この記事がつながるか)
それで、「ZOrder」と「色づけ」も続けて行いました。
線画の状態から…

VBA の fill プロパティを見て、色を決めて塗り、、

頭頂部に不明な白図形がありますが、もともとの図形グループにいらない図形が混ざっていてその図形が「透明」で、今回作っている JavaScript のほうで透明に対応してなかったので白く表示されていたのでした。
VBA での Shape.Fill.Visible を JavaScript データに盛り込み、「それが false なら描画しない」としました。
あと「線の書式」にも対応して、、
|
▼もともとの Excel の図
|
▼JavaScript 上で遜色なく再現
|
▼そして4時間かけて作ったもの。
このように Excel で描いたものをボタン一つで ~.js のデータファイルに落とせるので、Excel でイラストを少し修正してボタンを押し、ブラウザの方で更新ボタンを押せば、修正はすぐに反映される、、ということができます。
お試しで作ったおかげで、本番の「人体描画システム」のほうで、使うときのヒントが得られました。
人は、、X, Y, Z 軸の動きと u と u の 180° 回転の n だけで3種類の基本意思(Yes, No, ?)を伝える生き物であるww
(訪問者のどんなニーズと この記事がつながるか)
一人で気の向くままにいっぱい書いています。
最近はまず、これを聴きます。
それぞれ、ファイナルファンタジー3の "洞窟"、"フィールド"、"中ボス戦" の曲ですね。
ファイナルファンタジー3は同シリーズの最終ファミコン版作品で、「タマネギ剣士」とか出てきました。
(4からはスーファミ)
「クリスタルのある洞窟」(リンクは iTunes webプレビュー)は何かを反復して打ち鳴らすような曲調が特徴的。
「悠久の風」は洞窟からフィールドに出たときに開放感を感じるような曲です。
「悠久」という言葉は時々聞きますけど、意味がはっきりと分からない人も多いと思います。
>果てしなく長く続くこと。長く久しいこと。また、そのさま。「—の歴史」「—の大自然」
「悠」は「うれう」(心配する、悲しみ憂鬱になる)を意味する漢語(日本語の中でも特に中国に由来する語)で、日本語としては「長い、遠い、離れている、ゆったりとした」という意味があるそうです。
悠も久も「遠い、長い、昔から」という意味があり、どこかノスタルジー(懐かしさ)を感じさせる語です。
曲を聴くと確かにそんな気がします。
「バトル2」はファイナルファンタジーらしくも、どこか虚を突かれるような個性的な戦闘曲。
次にこれを聴きます。
1980年代、夜7時半からの「ハウス食品 世界名作劇場」のあのシリーズ(全26作品)の主題歌群(4曲)です。
昔のアニメは昔のアニメなりに内容の良さがあります。
主題歌の出来も、質が良かったです。
「花のささやき」は『小公女セーラ』の主題歌。Love with You は『牧場の少女カトリ』。
「裸足のフローネ」は『南の島のフローネ』、「アンネットの青い空」は『アルプス物語わたしのアンネット』。
『南の島のフローネ』は家族で大型客船に乗って旅をしている途中、大変な大嵐にあい、転覆、遭難するが、家族全員、無人島にたどりつき、、という大冒険を描いたアニメ。その主題歌も印象的でした。
「セーラ」という名前は一般に「サラ」(sara, sarah)の別の読み方であり、セーラの声優はめぞん一刻の管理人さんやナウシカと同じ人。
「裸足のフローネ」と「アンネットの青い空」は歌手が同じです。透明感のある印象的な歌声。
『牧場の少女カトリ』のカトリとはカトリーナ(Katrina)の略名かな。カトリーナはキャサリン(Catherine, Katherine)の異形名だとか。だから『牧場の少女キャサリン』略して『牧場の少女キャシー』、『~ケイト』、『~ケイティ』(どれもキャサリンの略名)でも良かったのかもしれません。
…でももう少し調べてみると、とにかく「カトリ」(katri)なのであって、私が連想したカトリーナという名前はいっさい出てきませんでした。たとえばここ。
でも英語で katri で、Katrina にだいぶ近いから、本当はカトリーナなのかもしれません。
昔の曲は柔らかい様子があって、過激ではなく、子供に聴かせられるところがアニメなどの作品の質を高めるのに一躍買っていた、と言えます。
私がゲーム(RPG)を作りたいと言っているのは、大人向けではなく、どちらかというと子供向けであって、趣味というよりはどこか仕事のつもりで作ろうとしている部分があります。
有名な『ドラゴンクエスト1』も大人向けではなく、もともと「小学生たちのために海外 RPG の内容を調整した」と言われています。それでヒットしたゲームです。
"剣と魔法のファンタジー" の原点である『指輪物語』(1954年、J.R.R.トールキン)も、もともとは子供向け。
また、雑誌の記者のあいだでは「子供が読んで理解できない記事は大人も理解できない」ということも言われているそうで、子供向けに作ることがヒット作につながりうる、、という考えが私にはあります。
だから子供向けの曲を選別するようなところがあります。
最後に聴くのはこれです。
自分で作った「高評価」プレイリストを聴きます。
コメントに注目で、コメントに * を書くと無条件で「高評価」プレイリストに載るようにしています。
購入したばかりの曲とかはとりあえず * を付けて「高評価」プレイリストに無条件で入るようにしています。
コメントの 55555 とか、45545 というのは、時間軸での評価です。
曲中のどこにノリノリがあったかを示しています。55555だと、時間の流れで 5→5→5→5→5 ということで、
3分の曲だとすれば、3分は60秒×3で全180秒。5で割ると36秒。まぁだいたい30秒。
最初の30秒を聴いていてサイコーだと思えば 最初に5段階評価の5が入り、その後の30秒もサイコーなら続いて5。
そんな感じで最後まで曲のすべてがサイコーなら最高評価連続の 55555 となります。
55544 だと出だしはサイコー、後半から良いけどまぁまぁ、みたいな評価。
時間軸で 5 桁の数字を作ってコメントの先頭に置くと、自然と高評価が上に来るんですよね。
画像中の 55555 である「Beginning (教会、町、墓場ステージ)」(リンクは iTunes webプレビュー)
FM 音源や PSG 音源のゲーム音楽好きはこういうのを好むんですね。
でも最近は画像中のリストの 23 番目の「LA VALSE POUR XANADU(ザナドゥのワルツ)」のほうが 55555 って感じがしていて、時とともに私自身の好みや評価も変わってきます。時々この数値を変更しています。
日本ファルコムの PC ゲーム「ザナドゥ」は、
>日本国内のパソコンゲームとして約40万本の売り上げ本数を記録し、発売から30年が経過した2015年時点でもこれを超える記録は国内PCゲームでは無いとされる。
https://ja.wikipedia.org/wiki/ザナドゥ_(ゲーム)
…だそうです。
単純計算で、40万本/日本人口1億2500万人=0.0032 で、1000人中 3.2人がザナドゥを買ってた、ということになります。当時のパソコン人口は今の1/10以下だと思うので、それを考えるとかなり高い数字です。パソコンユーザーのたぶん6~7割が買ってたんですかね。
(※ 曲の XANADU NEXT はその続編です)
画像リストの数値末尾の + は5段階評価とはまた別に、「特別にちょっと思うところがある」というものに + を付けています。
画像には載っていませんが、- を付けたものは「ちょっといやな感じがする」というものです。
また、曲タイトルの末尾の「(自分調整)」は、曲データ自体(波形)を編集して不要な部分をカットしたり、ゲームの演出とかでつながりのある2つの曲を1つにつなげたり、耳障りなステレオ効果をモノラルに直したりと、自分好みに調整したという意味です。
「オリビアを聴きながら」は多くの人が知っている名曲ですが、ヘッドホンで聴いていると冒頭のステレオのユラユラが聴いててつらいので、冒頭だけモノラルにしてしまいました★
プレイリストのタイトルの下に曲数が「484 曲」とあります。そのほとんど 9 割がゲーム音楽です。
ファミコン、メガドライブ、マスターシステム、PC-9801、PC-8801 など PSG 音源や FM 音源などを中心に聴いています。
高評価プレイリストのルール

* を付けると無条件でリストされるのとは対照的に、/ を付けるとたとえ 55555 のような評価をしていても無条件でリストから除外されます。
高評価に限らない「ゲーム音楽すべて」だと

1400 曲オーバーで、全部聴き終わるのに 2 日もかかるゲーム音楽の応酬、パレード、山、山脈の状態です。
観光ガイド「あそこに見えるのがゲーム音楽山脈だよ」
観光客「知ってるべ。標高1400曲だと聞いてるべ。頂上までの480曲が見晴らしよく高評価だっぺさよ」
2 日で思い出しましたが、まったく関係ないんですが、最近似たような変な計算をしました。
私が1週間のうち、平日はパソコンに向かう時間が1日3時間だとします。
休日の土日は8時間。(最高記録は19時間の日がありました)
1週間あたり (3時間×平日5日) + (8時間×休日2日) = 15時間+16時間 = 31時間/週。
1ヶ月は4.5週間くらいなので、31時間×4.5週間=139.5時間/月。
1年は12ヶ月なので、139.5時間×12ヶ月=1674時間/年。
私は小学校5年生(11才)のころからパソコン(プログラミング)をやっていて、今51才なので、40年。
1674時間×40年=66960時間/生。
1日24時間、1年365日なので、24時間×365日=8760時間(=1年)。
さぁ、とうとう変な計算結果が出ます。
私の一生のプログラミング時間66960時間÷1年8760時間=7.64年。
飲まず食わず寝ずにプログラミングしたとしたら、その時間は7.64年でした☆
うーん、感覚的に分かりづらいですね。
たとえば20才を迎えたその日から27才のなかばまで結構長い時間のはずですけど、その期間、飲まず食わず寝ずにプログラミングだけをやっていたことに等しい、と言いますか。。まだわからない。。
春が来て、夏が来て、秋を迎え、冬を越す、それを7回繰り返すあいだ、やっていたのはプログラミングのみ。6万時間。
いったい全体、何を作っていたんだよ=3
1つの曲、いや、プログラム作品のプログラミング作業の開始から終了までを1曲として時間軸で分けて 55555 みたいな数字を作ると、
気持ち的にはいつも 55555 だったと言いたいところだけど、
たとえば最近やっている「3DCG 人体表示システム」の下準備のプログラミングだと、
3みたいなときもあって、特に楽しいわけでもなく、ひたむきにもくもくとプログラミングしているな、と思いました。
でも目的の結果が出ると一気に5となります。
数日間3で もくもくとやっていて、のち5です。33435 みたいな感じかな。
1や2はいつも無いです。
知恵袋のプログラミングカテゴリを見ていると、この時間軸が、43111 みたいな人がいます。
軌道に乗っていないんですよね。
面白さが分からないまま、終わり。
それ(プログラミングの面白さ)を教えるのが私の仕事だと思います。一人で楽しんでいたってしょうがないし。
私に子供がいたら特別なことをしなくても、自然と面白さが分かると思います。
でもこれは親の身勝手だから、子供がスポーツをやりたいと言うならパソコンは倉庫にしまってスポーツですね。
それに旦那さんがパソコンばっかりやってると奥さんもあきれるだろうから、、。
子供やニャンコたちの重さに比べたら、6万パソコンなんて紙切れのようなヒラヒラとしたものなんです。
でも、RPG とか作りたいんだけど、、ヒラヒラなんですかね。
6万のまねなんかしないで、夜寝る時間には寝た方がいいです。
社会的な生活(不摂生のない生活)をしている人こそ、社会の中でそのプログラミングの力を生かすことができると思います。
(訪問者のどんなニーズと この記事がつながるか)