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

私が今かかりきりで作っている「人体描画システム」。
知恵袋の回答の添付画像でさっそく使い始めましたね。

SAVE/LOAD 機能でポーズを呼び出すと、吹き出しはそのままにポーズだけが変わりますね。
たとえばこう、
▼寝ながらめんどくさそうに。

知恵袋の質問者たちを見ていると、こういう気楽なスタイルの方が良いのかもしれません。
▼やれやれポーズなのに言葉が逆。

いるんだよなぁ、こういう回答者。頑張ろうとも言わずに。┐(´∀`)┌ヤレヤレ
▼お願いポーズで言われると…

こういう感じのシングルマザーとかたくさんいそうだな。
以上、どのようなポーズに切り替えても、吹き出しは自然な位置を保っています。
吹き出しのデータは Excel で作っていて、そのときに、点線の四角形は「HTML で文字を表示する部分」を示しており、
赤い矢印が「吹き出しの "尾"(話者に向けられた尾状の印)の方向」を示しています。

Excel の図は、Excel VBA で操作することが可能で、点線の領域の位置とサイズ、矢印の位置と方向などをテキストファイルに落とすことができます。(図形自体は .png へ落とすメソッドがあります。私が使っている Excel 2010 では図を一度グラフの枠に入れて、グラフの枠に .png へ落とすメソッドがあるのでそれを利用します。最新の Excel ではたぶんグラフでなくても標準で .png へ落とすメソッドがあるんじゃないかと思います)
というしくみになっています。
しかし、Excel の図形で「直線の矢印」を作り、それを VBA で内部データを見ると、矢印の方向を示すデータは見当たりません。矢印の矢がどっちを向いているのか分からないと困ります。
なぜ方向データが無いのかというと、、

このような矢印を、
上下反転すれば、

左右反転すれば、

上限反転+左右反転すれば

…のようにすべて表現可能です。
微妙な角度は縦横サイズが変わることで おのずと表現されます。
だから「左上の開始点」と「矩形のサイズ」で直線の形を表現し、そして「上下反転する/しない」、「左右反転する/しない」というデータで「線の方向」を示しています。
だから矢印の方向を示すデータはないんです。
この説明をここに書かないと、私の記事を読んで「VBA で直線データを使おう」と思った人が、いざやってみると分からなくて困る、、ということになるので書いておきました。
3D キャラ画像を知恵袋で活用し始めた、という話をしましたが、アメリカの「プログラミング知恵袋」である「Stack Overflow」は
下図グラフの左端が 2008 年 同サイト発足、
>Jeff Atwood and Joel Spolsky launched Stack Overflow for the public in 2008 as a programming Q&A website.
(ジェフ・アトウッドとジョエル・スポルスキーは、2008 年にプログラミングに関する Q&A ウェブサイトとして Stack Overflow を一般公開しました。)
ピーク時には 20 万件の質問を受付けていましたが、2022 年 11 月に ChatGPT が公開され、放物線を描くような落ち方を見せて、その後は斜め 45 度の降下が続き、グラフ右端の 2026 年では言葉通り「雀の涙ほど」となっています。

これが日本の「Yahoo!知恵袋」でも同様だとすれば、「知恵袋、知恵袋」と話題にするのも、なんだか時代遅れという感じもします。残念ですね。。
(下記窓の杜の記事より)
という文化が知恵袋には多かれ少なかれあるので、それが ChatGPT 以前の若干の降下原因のひとつと言われています。
私のように「頑張ろう」みたいなメッセージを出す人は少数派ということですかね。
このグラフはここ、
https://data.stackexchange.com/stackoverflow/query/1926661
にアクセスして、「Run Query」ボタンを押し、「ロボットではありません」の認証を行って、再度「Run Query」ボタンを押して、「Graph」タブをクリックすることで誰でも表示できます。
↑この私が書いた「グラフ表示方法の案内」を、AI が人間に代わってできるかどうか試したら、まぁ多少の操作の差異はあるものの、AI の案内通りにやってみたら普通にグラフにたどり着けましたね。
もはや「波」といえるほどの AI 波(えーあい・なみ)が人間社会に押し寄せていて、人間の仕事がなくなる勢いですね。
こうやって記事を書く意味もなくなっていくのかなぁ。
「人体描画システム」でプログラミングを教えようとしているんですけど、、
AI や他の人にはできない私なりの教え方がたぶんあると思うので、その線でやってみるか…
| 窓の杜: | 2026年1月9日 |
| IT開発者向けの質疑応答(QA)サイト「Stack Overflow」で投稿数が激減、ユーザー戦慄 | |
| GigaZine: | 2023年7月27日 |
| IT技術系Q&Aコミュニティ「Stack Overflow」のトラフィックがわずか1年半で半減、チャットAIによる影響か? | |
(訪問者のどんなニーズと この記事がつながるか)
1. レトロ環境で円を描こう(FD や Vz)
2. レトロ環境に見る宇宙
3. レトロ環境にはなぜ宇宙があるのか?
3-1. 宇宙の実演(単なる円)
3-2. 可能性があるから宇宙がある
3-3. GUI が宇宙(可能性)を消しているのか?
3-4. Linux に宇宙はあるか
4. レトロ環境の宇宙の起源
※私は物書きのプロではなく、この記事は素人(の中の、中か下)の内容です。
この記事の価値は、
・古い時代の懐かしいアプリや、新旧のプログラミングの様子を見ることができる
・レトロ環境に熱が入るのはなぜなのかあれこれと探っている
・レトロ環境の宇宙の起源は何か
の 3 点です。また、長文で読みにくいというデメリットがあります。
古い道具を使って、画面に円を描きましょう。
エミュレータの「VirtualBox」で PC DOS を起動して、ファイラーの FD を起動します。
FD は Windows のエクスプローラーに相当するものです。
WORK ディレクトリに移動して、作業を始めます。
●
テキストエディタの「Vzエディタ」を起動しました。
PC DOS J6.1/V が英語モードなので Vz エディタも英語版が起動します。DOS が日本語モードなら Vz も日本語版。
FD も同じで、英語版と日本語版があります。
Vz エディタは最近オープンソースになりましたね。
そして、Turbo C に同梱の BGIDEMO.c を参考にグラフィック関係の設定を書き、
最後に circle( 320, 240, 240 );
と書く。円を描く命令です。
closegraph(); を最後に書かないと、実行後に画面が乱れてフリーズしました。これも BGIDEMO.c を見て学びました。
●
tcc -c test.c
というコマンドでコンパイルします。
tcc は「Turbo C のコンパイラ」という意味で tcc。
-c は「コンパイルだけして、実行ファイルは作らなくてよい」という意味です。test.exe ではなく test.obj が作られます。
.exe には実行するときに必要な「スタートアップ」コードと、「外部ライブラリの関数」コードが含まれているので実行できますが、.obj にはそれらが入っていないので実行できません。
そして、
tlink ① /x ② c:\tc201\lib\c0s ③ test ④ , test ⑤ ,, c:\tc201\lib\cs ⑥ c:\tc201\lib\graphics ⑦
というコマンドで .exe の実行ファイルを作ります。
これを読んでいる人が tlink を使うことは基本無いはずですが、記事として意味不明な記述を避ける意味で、コマンドの説明を行います。
これらを毎回コマンド画面に書くのは面倒なので、まとめて m.bat に書いて、
m と書いて Enter キーを押すだけでこれらのコマンドが実行され、test.exe ができる、という感じにしてあります。
m は make の m です。
実は以上と全く同じことが、以下のコマンド1つで行えます。
tcc test c:\tc201\lib\graphics.lib
tcc はメモリの使い方をデフォルトで small を選ぶようになっており test.c をコンパイルし test.obj を作ります。続いて tlink を適切なスタートアップコードと test.obj、tcc に指定されたgraphics.lib を指定して呼び出し、test.exe を作ります。map ファイルの出力は省きます。
リンカを自前で呼び出すことで、実行ファイルのしくみを垣間見ることができます。(とはいえ、最近の gcc などの Cコンパイラだと、リンクするスタートアップやその他のコードが複雑で難しくなっています)
メモリの使い方が small だとか large だというのは古い x86 CPU 特有の方式で、現代の intel core シリーズでは廃止されています。
●
test.exe を実行すると、
きれいな円が描けました。
たのしすね。
でも最初、
tcc test.c
とだけやってエラー出していました。
できないから、後から、
c0s.obj とか必要なんだっけ、、と思い出したり、
「グラフィクス関係の関数が無い」というエラーが多発して、
えーーーっと??
と思って FD で探したら、graphics.lib があったので、これ付ければいいのか?と思って付けたら動いた、って感じです。
クールに最初から全部知ってるわけじゃないんですわ。
これは lasm(多摩ソフトの Light Macro Assembler)というアセンブラでテキスト画面をいじる関数を作って、そのアセンブリ関数を C 言語から呼び出す、ということを「どうやればいいのか」と思っていろいろ調べてやってみたものです。
●
こちらはアセンブラでグラフィクスを描いたところです。
これをやりたかったのは中学生~高校生の頃で、
実際にできたのは 51 歳になってからの、つい先日のことです。
エミュレーター内ではあるけど、最速の超高速で描かれるわけですね。ここに可能性と宇宙とロマンがあります。
VRAM や BIOS、ファンクションコールに、I/O など、メカ的な物が当時の古いコンピューターでは丸出しになっていて、ユーザーがいじって自由にあれこれできるんですね。
●
今の Windows はセキュリティでガチガチに固められていて、自由があるようで無い(宇宙が無い)んです。
左上図はまったく同じことを JavaScript でやったところです。
64bit core i5(8gen)3GHz なので、たぶん上記の VRAM アクセス(16bit、16MHzくらい)よりも速いと思います。
以上は、
| ◎ | PC DOS J6.1/V(有料) | → | フリーウェアの『FreeDOS』 |
| ◎ | lasm(有料) | → | フリーウェア『OpenWatcom』の wasm |
| ◎ | 『FD』はもともとフリーウェア | ||
| ◎ | 『Vz』は有料だったけどオープンソースになった | ||
| ◎ | 『Turbo C ver 2.01』(英語版のみ)もアンティークソフトとして無料公開されています。 アンティークソフトのページは無くなったけどソフトウェアへの直リンクのみ(2026年3月2日現在)生きています これ | ||
なぜ古いパソコンを動かして、円を描くだけとか、VRAM にアクセスして直接四角形を描くという作業を行って、「宇宙」とまで言えるのか。
謎ですね。
ここまで記事を書いて試しに PC-9801 というレトロパソコンの「N88 日本語 BASIC(86)」という BASIC 環境を起動して「円」を描きました。(以前に宇宙を感じたから)
これがなぁ、困ったことに、普通に面白いんだなぁ。
横方向に走査線が入っていて、1ドットが縦長(縦2ドット)なところとか、可能性を感じてしまう。
ここに宇宙があると言うなら、それって単なる懐古ではないのかな。
昔、若いころに趣味の開発に夢を持って入れ込んだ、そのときの思い出にすぎない。
だから、その思い出が無い人にはわからないのも当然。
この BASIC の赤い円の画面には先があって、さまざまな命令があり、マシン語さえも備えている。。
でも今の Windows だって、プログラミング言語の画面一つには先があって、さまざまな命令があり、マシン語(アセンブリ言語)も可能。
Windows には感じない宇宙を、どうして BASIC には感じるのか。
▼命令を打ち込み、高解像度で描きなおしたところ(1ドットが通常通り、横1ドット縦1ドット)
別の話をしますが、昔子供のころ、ファミリーベーシックのあの赤と白のキーボードを見て、「ほしい」と思ったけど、ほしいと思ったのはそこに可能性を見たからです。
このページで「BASIC で円を描いた画面を見て可能性を感じた」と言うのと、おそらく同じ種類の可能性です。
何かが出来そうだ、という可能性です。
ファミリーベーシックは手に入らず、代わりにもっと高性能な MSX2 を手に入れて、
可能性を感じて MSX2 に求めたのは、「BGM はどうやって鳴らすのか」、「ファミコンみたいな画面スクロールはできないか」ということでした。
今に至るまでそれらは実現されていないけど、ノウハウは別のところで学んだので、たぶんやろうと思えば(インターネットという情報の宝庫もあることだし)できると思います。
音楽 IC や画面 IC に 2 進数を使って命令を出すんですよね。
そんな高度なこと小中学生にできるはずもないのに当時はそうとも知らずに追いかけていました。
可能性に引かれるんですね。
さらに別の話をしますが、私は「厚紙」を見ても可能性を感じます。
厚紙に切り出しの線を鉛筆で引いて、はさみで切り、立体的な何かを組み立てる。
そういうペーパークラフトも私は好きだったんですね。
厚紙の上に思い描いた可能性に引かれ、意気揚々と何かを作っていました。
「BASIC の画面」も、「ファミリーベーシックのあの見た目」も、「ペーパークラフトの材料である厚紙」も、「こうすれば、これができる」という見当が付く、つまり可能性があるんですよね。
でも繰り返しになりますが、それは Windows だって「こうすれば、これができる」という見当は付き、可能性があります。
BASIC や厚紙にはモノづくりの宇宙(可能性に引かれること)があるのに、Windows や macOS、Linux には(多少はあるけど多大には)宇宙を感じません。感じるものに差があるんですね。
| ▼古いパソコンの BASIC 画面には宇宙あり | ▼最近のパソコンの JavaScript には宇宙なし |
![]() BASIC を使って円を描いただけ。 ここに可能性を感じる。 |
JavaScript を使って、スピン回転+通常回転を両立。 でも、自分で頑張って作っているものなのに、それが動く環境について「いろいろできるだろうけど」という冷めた言い方をしている。 |
ではもし BASIC の画面で「いろいろできるだろうけど」とため息交じりの冷めた言い方をするとしたら、それは何を付け足すとそうなるのか。
また逆に Windows(JavaScript)の画面で「可能性を感じる」と愛情交じりに言わすには、何を引けば?そうなるのか。
…わからないけど、たぶん「GUI」(グラフィカル・ユーザー・インターフェース)かな。。。
昔、DOS から Windows や MacOS に移行したとき、なんか残念な気がしました。
やっぱりウィンドウという GUI の枠にはまってしまって、自由がないっていうのかな。
じゃぁ、GUI が自由を阻害してダメだと言うのなら、Windows から GUI を外してみたら、、
でも、cmd.exe をフルスクリーンにして昔のパソコンのような GUI 無しにしてもあんまり宇宙は感じませんね。
面倒くさいだけみたいな。
じゃぁ、、、
Windows 3.1 は DOS の上で動く
「GUI 無しから始まる、アプリな Windows」
だったけど、それだとどうだろう。
| ▼コマンド入力で win とやれば、 | ▼Windows 3.1 という名のアプリが起動。 |
![]() |
![]() |
ややっ
なんだか、この Windows 3.1 で C 言語とかの GUI アプリを作ったら楽しそうだな、と可能性やら宇宙やらを何となく感じるぞ…!
もしここで、win と入力して立ち上がるのが Windows 11 だったら、可能性感じないとかかな、、、
もしかして、Windows 95, 98, Me まではこの Windsows 3.1 のように可能性や宇宙のある環境であって、Windows NT をベースにした Windows XP あたりからどこかつまらなくなったのかな??
…わからんけど、
ところで、Linux はどうなんだろう?宇宙はあるのだろうか?
Ubuntu とか Linux って標準で gcc( C 言語コンパイラ)が使えるんですね…
| ▼Ubuntu ですけど、宇宙無い気がする。決して悪くはないけど… | |
![]() |
|
▼画面に円を描いたらどうかなと思って、GTK3 というライブラリを導入。まずはウィンドウ作成。 |
▼そして、これまでとまったく同じ円を描きました。 |
![]() 参考にさせてもらったサイトさんはこちら 大変ありがたいですね。 |
![]() 参考にさせてもらったサイトさんはこちら こちらも大変ありがたいですね。 |
▼…で、この中になんぼの宇宙があるんですかって話ですけどぉ、、

よーく見ると、、宇宙が見えます…!! 来てます!
発言がうさんくさいですね。(疲れてきた)
両者を並べてみましょう!さぁどや!
うーーーーーーーーーん。(こんなことやってるのがなんか笑える。ただの円でしょう、みたいな)
左!BASIC の赤い円!宇宙!あーーーー疲れて見えなくなってきたわ。
右!Linux の C 言語の赤い円!宇宙!あーーーー、あるんじゃぁ、ないですかねぇ。
もうええわ…(なんで関西弁なのかと言うと、ボクシング漫画「はじめの一歩」の千堂の影響です)
あーー、BASIC の赤い円、宇宙見えたわ。
こころ踊る楽しさなんですよね。
Linux には、、C 言語だしなぁ、Linux だしなぁ、宇宙見えそうだけど、
不思議だなぁ、やっぱり違うな。Linux にも無いぞ。
奥にハードウェアが見えるかどうかなのかもしれない。
BASIC のほうはエミュレートされたとはいえ PC-9801 というハードウェアの存在があるんですよね。
古い機械というのはそのしくみが単純で分かりやすいです。
やはりハードウェアなどのメカニカルなところが手の届くところにシンプルに見えていて、把握できるところが可能性や宇宙につながっているのかなと思います。
高度な技術が蓄積されれば、やりたいこと(アプリ)はいくらでもできるけど、いざしくみを見ると高度過ぎて何をやっているのかブラックボックスになってしまっていて、手が出せなくてどこかつまらないんだと思います。
GUI(ウィンドウ)はハードウェアとソフトウェアの間に割り込んでいて、先がどうなっているのか見えなくさせています。宇宙を遠ざけているんですね。
古い機械を勉強することは、現代の高度な機械の基礎部分を勉強することに等しいと言えます。
技術的にレベルアップしたい人は古い機械を教材として少し学んでみると良いかもしれません。
比較的単純なので学びやすいと思います。
▼下図は関係ないけど萌えポーズ

orz 力尽きました
(訪問者のどんなニーズと この記事がつながるか)
人体描画システムは昨年 2025年4月14日 の日記からずっと続けています。
小学生のころから追いかけている RPG 開発を完全停止して、付きっ切りという感じです。
「人体描画システム」の日記記事をざっと並べるとこんな感じ。。。
とりあえずラジオ体操をやろうということで、やり始めたらうまくいきませんでした。(2026年2月8日の日記)
動画の最後でおかしな動きを見せています。
このうまくいかない原因は、自分の認識不足でした。
人が腕を上にあげて下ろすとき、ただ肩の角度を下げているのではなく、腕を少しひねりながら下げているんですね。
じゃあということで「下ろす回転」と「ひねる回転」を1つの回転としてやろうとしたんですが、ここが間違いだったんです。
腕を下すときは肩を中心にその回転軸は Z軸。
腕をひねるときは肩を中心にその回転軸は「直立状態のときの Y軸」。
だったんです。
鉄棒で逆上がりするとき、その回転軸は鉄棒ですよね。
それと同じで腕を下すときは肩を中心に肩に前後に走る軸、Z軸を中心にして横に腕を下ろしていきます。
ひねりは腕をあげたことはちょっと忘れて、普通に立っている状態で、肩を中心に肩に上下に走る軸、Y軸を中心にして腕を回転するとひねったことになります。
それらは別々の回転だと気づかなければ1つの回転として行い、上記の動画となってしまいます。
気づいて修正をすると下の動画となります。
赤を中心に緑がひねりながら時計回りに回転しています。
そして青は緑を中心にひねりながら時計回りに回転しています。
それぞれのパーツは親のパーツの回転を自分にも適用してから、そこから自分の回転を行うので、このような複雑な回転が実現されます。
ひじを曲げたとき、その状態で肩を回すと、ひじの回転はそのまま維持されながら肩の回転が行われますよね。
それを人体モデルにも適用したところが下の動画です。
アニメを終えると GUI を表示するようにしています。
プログラムとしては今まで1つのパーツに quaternionL というプロパティを持たせていましたが、それを
quaternion1L と、quaternion2L と、ダブルで持たせるようにしました。
quaternion1L は時計回りをさせるような回転用に、
quaternion2L はひねりをさせるような回転用に、という役割です。
上の動画でも GUI 操作の画面で、KAITEN1 と KAITEN2 とに欄が分かれています。
ひねりが必要なときにだけ操作するように、KAITEN2 にはチェックボックスを設けてオンオフできるようにしてありま
うぉぉぉ!なにィィィ何だこの回転ワぁぁぁ!ちゃんとできるようなったんじゃあ、ないのかぁぁぁ!
スッ、スタンド攻撃を受けているぞッ!
動画撮影の前にツールバー隠すの忘れてた。
疲れた…
なんでそういう回転になるのか、なんとなく見当は付いているけど、、

(訪問者のどんなニーズと この記事がつながるか)