- BACKNUMBERS -
2024 / 5
2024 / 6
2024 / 7
2024 / 8
2024 / 9
2024 / 10
2024 / 11
2024 / 12
2025 / 1
2025 / 2
2025 / 3
2025 / 4
2025 / 5
2025 / 6
2025 / 7
2025 / 8
2025 / 9
2025 / 10
2025 / 11
2025 / 12
2026 / 1
最新月

web6047 - 2026年 2月

ここは個人の趣味のページです。

昭和49年生まれ、血液型B型、男。

名前は、かわ、kawa、d_kawakawa、cookiepuddingman、平行四辺形 などいろいろあります。

工場で働いており、モノ作りが好きで小学生のころからプログラミングをやっています。

文書を書くときの助詞や助動詞、副詞などが苦手で、記事を書いて後から「不自然だな」と思ったりします。

iTunes real time information:
now loading...

注: ここに表示される氏名、名称と当ホームページはなんら関係ございません.


私がプログラミングを好むのは、プログラミングは私の「物づくり」に対する探求心創造性を十分に満たしてくれるから、、です。

憧れに向かう、形にするのが楽しくて好きだ。そんなわけで、この個人ページではプログラミングの話をすることが多いです。


ここの管理人、
AI の利用やめるってよ。

AI の問題点:

  1. 自分で考えずに AI を利用することで、考える力が減退する。
  2. 人と人との交流(教える、教わる)が減る。
  3. 創作物のオリジナリティが無くなる。(自分の力で作ることの喜びが減る)
  4. 犯罪に使われている。
  5. AI のハルシネーション(幻覚を見ながら語ることがある)により、人間が間違った知識を AI から学んでしまう。
  6. 公序良俗に反するコンテンツの氾濫。(2025/10/18追加 ChatGPT の OpenAI がそのような方針をとったから)

これらが向こう10年解決されないだろうと見込んで、やめることにしました。(2025年5月23日~)

私は AI に頼らず「自分の力」を大切にしたいです。

…とはいえ、人間は新しく見つけた技術を手放すということは基本的にやらないと思います。

だから私も後々 AI を利用することにはなると思います。

でも上記の問題点は確かなもので、将来 AI ロボが私の家の扉をコンコンと叩いて

「市からの要請で、お手伝いするため おうかがいしました」

と言うまでの間は、この AI 技術を導入せず、頑張ってみようと思います。

でもこの考え方、キツイと思うのでマネしなくていいです。

- Special Documents -

特別な記事へのリンク

3DCGプログラミングの方法
書籍「はじめて読む486」の
サンプル動作環境の作成方法
3Dお姉さんによるプログラミング解説
RPG のルーツ(PDF)
4コマ/機動戦士初心者ガンダム

ゲームコーナー 

クレイジーバルーン
(↑, ↓, ←, →)
テトリス
(←, →, ↓, z, x)

その他 単発のアプリ

矩形波は複数波形の合成です
SVC: 簡易的な試作
SVC: パーツ連結のみ
SVC:パーツ連結,ポーズ補間

- 以降は日記です -

2026年2月6日

生活 オークション

PC DOS J6.1/V

30年前の OS、「IBM PC DOS J6.1/V」に入札中ですね。

バージョンの異なる、PC DOS J6.3/V ではダメで、

PC DOS J7.0/V でもダメ。

PC DOS 2000 でもダメ。

「J6.1/V」でなければダメなんですね。

2024年6月8日の私の日記で

『486 オークションで「IBM PC-DOS J6.1/V」を買った』

と題して、同じ 「IBM PC DOS J6.1/V」を買っているんですが、買ったものは「プリロード用」というもので、インストールディスクは 9 枚あるはずなのにパッケージに入っていたのは 1 枚だけでした。

「プリロード用」という表現が何を意味するのかいまだにハッキリと分かりませんが、たぶん、パソコンにプリインストールされた OS のために、「紙製のマニュアル」と、何かあったときの「救済用ディスク」(インストールディスク 9 枚のうちの最初の 1 枚が救済用として使える)を1つのパッケージにして提供するもの、で、売り物ではなく、プリインストール済みのパソコンに同梱させる種類のものだと思います。

だから開封されることなく企業の倉庫にまとめて保管されている、、、

それを今の時代になってオークションで競売にかけているんですね。

1 枚だけでインストールを行うと、途中で「2 枚目をセットしてください」と言われ、でも 1 枚しかないのでそこでインストールは中止。

その状態でシステムを再起動すると一応 OS は起動する。。でもインストールディスク残り 8 枚分の機能はナシ。

「プリロード用」に付属してた冊子類が部屋に転がっていて、その冊子の中に「日本語入力マニュアル」なんてものがあるけど、日本語入力の機能はインストールされないので、あっても困る。でも買ったものなので捨てられない。。

そういう、期待に対して半端な状態、散らかった状態で前回終わっていたので、その半端、散らかりを解決すべく今回また購入したわけです。

6.1/V ではなく 7.0/V とかだと似た OS がダブることになるので、ちゃんと同じ 6.1/V を選んで半端状態を直す必要があるんです。

「購入した」と書いたけど、まだオークション中です。(気が早い)


オークションで競うつもりはゼロなので、私が入札した金額 6,000 円よりも高い金額が入札されたらそれで終わりです。

自分が出して良いと思った上限金額で入札して「自分一人で無事購入できるか」、または「覆されて(高値入札されて)一度も反撃せず(私から再入札せず)に終わるか」の2つしか私は見ていなくて、

オークションの醍醐味である「競る」というのは私は全然やりたくない。

競売で白熱して自分の制御を失うと分かっていて、分かっているなら最初からやらないって感じかな。

私が私のためにではなく、誰かのために私がいくらでもお金を出して買い上げて、その誰かに品物を渡してあげる、というのであればやるけど。

ゲームブック

他にオークション/フリーマーケットでほしいと思っているのは、

イギリスの J.H.ブレナン氏著「グレイルクエスト(聖杯探求)シリーズ(日本シリーズ名はドラゴンファンタジーシリーズ)全8巻」のうち、6 巻目「宇宙幻獣の呪い」と、8 巻目「ゾンビ塔の秘宝」。

それぞれ当時は 700 円程度の本でしたが、今では普通に 5,000 円 ~ 10,000 円で取引されています。

シリーズのあとのほうの巻ほど、当時の購入者が少なくて、出回っていないせいか、特別高価になっていて、10,000 円くらい出さないと手に入りません。

本の内容は、冒険の場面ごとに番号が振ってあり、読み手の意思によって行先 番号を選ぶことができ、冒険を疑似体験できるというもので「ゲームブック」と呼ばれています。

ヨーロッパのアングロ・サクソン時代に生まれた「アーサー王伝説」という物語が舞台で、現代の読者が魔法使い「マーリン」の魔法によってこの物語の中に呼び出され、ピップという名の若者に成り代わって、ドラゴンを倒したり魔術師を倒したりと冒険することになります。

剣と魔法の世界であり、数々の冒険にあふれており、当時の小学生たちの心をつかんでいたので、私の RPG 開発の助けになると考えて、集めている次第です。

当時私は小学生で全巻そろえていましたが何かのきっかけで処分してしまったんですね。

全 8 巻のうち 6 巻は購入済みで残り 2 巻ですが、10,000 円前後で高すぎでなかなか買えず、出品されてもスルーしている状態です。

カビてるプロファイラ

その他「Turbo Profiler」というプログラミングツールも、この前バージョンの低いものを 2,500 円で購入しました。

5インチフロッピーディスクで、中の磁性体はしっかりとカビており、そのままディスクドライブに入れるとカビをまき散らし他のディスクにうつって次々とディスクを破壊していく大惨事が起こるので、カビを除去する処置(マイクロファイバーの布に IPA(イソプロピル・アルコール)という溶剤を染み込ませ、磁性体をゴシゴシと拭く)をしてからドライブで読み取れるかどうかこれから試すところです。

それら3つは事業展開ツールであ~る

以上の通り、PC-DOS、ゲームブック、プロファイラと、どれも私がやろうとしている事業に関係するものばかりです。

古いパソコン環境でゲームを作り、売り出すことを考えています。

PC-DOS や MS-DOS は今でも普通に値段が付いているし、それがカビていれば利用できず、ゲームで遊ぶのは困難となります。

でも、DOS を使わずに直接パソコンのハードウェアにアクセスする方式(マシン語)であれば、「エミュレーター+そのゲーム」で完結でき、実現可能です。

その手法(マシン語)が困難な場合は、FreeDOS というフリーウェアの DOS を利用することも可能です。

古いパソコンで性能が低いからそのゲームは面白くないということはないはずです。

本当に良い物であれば、人々はその作品に対して価値を認め、お金を払ってくれると思います。

できないと思っている人にはいつまでもできることはなく、できると思っている人にこそ その道が開かれる(できる)、古い友達が昔そんなことを言っていました。

それは確かにそうだと思います。

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

  • 日記を読みたい

2026年2月8日

プログラミング 人体描画システム

ラジオ体操

  1. ♪腕を前から上にあげて、大きく背伸びの運動 からっ
    背筋を十分に伸ばしましょう
  2. ♪手足の運動~
    さあ、かかとの上下運動をしっかりと行いましょう
  3. ♪腕を回します
    外回し、内回し、5,6,7,8

人体にラジオ体操をさせようと思って、この3番の「腕を回します、外回し」のところで、ラジオ体操、人体の動きというのは意外と複雑な動きだということに気づきました。

この動画では最初の部分は編集の都合で高速動作でシャキシャキ動いて飛ばしてます。

最後で外回しをやろうとして途中で動画は終わります。

正面だと分かりにくいですけど、横から見るとこう。

最後の方で変な動きになっています。

ラジオ体操で「腕を上にあげて降ろす」という動きは意外と複雑で、

上にあげて降ろすとき、腕は降ろしながら「ひねりも加わっている」んですね。

そこでラジオ体操の作成は一時止めて、別途試作を行ったのが下の動画です。

現状のシステムでなんとか再現できないかとやってみたんですが、この動画ではひねりが一瞬で行われています。

見分けがつかないほどに一瞬です。

ひねりながら降ろすという動きは、現状のシステム、私の考え方では、「そのままではできない」ということが、システムがほぼ完成に近づいた今の時点で発覚してしまいました。


そこで、現在作成中のシステムとは別に新しく一から試作プログラムを作って、ひねりながら回すというものを冷静になって作ったのが下の動画です。

緑の小さな物体を中心にして、赤い大きな立方体が左右に振子運動をしていますが、同時にスピン(ひねり)の回転をしています。

プログラムとしては、

  1. まず「回転の無い静止状態」にひねりの回転を行い、

    model.quaternion = makeRotationQuaternion( [ 0, 1, 0 ], theta );

    「クォータニオンを使って」みたいに言うと、クォータニオンを使ったことがない人や、使い方がよく分かっていない人にとっては、"時代は先行くメガドライブ" じゃないけど、「わかんない話されちゃってるよ」みたいに思うと思います。
    私のホームページって、私が分かっていていろいろ説明するわけですが、なるべく何も知らない人にも分かるようにという思いはあるものの、結局、難しい感じになっているみたいです。たぶん。
    「Y軸を中心に、点を何度回転する」ということをやりたくて、

    makeRotationQuaternion( [ 0, 1, 0 ], theta )

    という命令を出すわけです。
    Y軸 [ 0, 1, 0 ] を中心に、点を theta 度回転する、という意味でその命令を出し、その結果が
    model.quaternion に代入されます。
    クォータニオンは「魔法の鍵」みたいなデータで、点に対して魔法の鍵を「当てる」と、その点は回転するんですよね。
    不思議なもんです。
     
  2. そこへ「左右に回す回転」を加えます。

    multiplyQuaternions( model.quaternion, furikoQ );

    その魔法の鍵にさらに別の魔法の鍵を掛け算します。
    model.quaternion は「ひねりを加える回転」となっていますが、そこへ fuirikoQ という「左右に回すクォータニオン」を別途用意して、掛け算します。
    掛け算すると、「ひねりつつ、左右に回る」ということができるって話です。


…で、この furikoQ はさらに特別な魔法で作られていて、それは「球面線形補間」(スフィアリカル・リニア・インターポレーション)という必殺技みたいな技術なんです。

furikoQ = shpericalLinearInterpolation( leftQ, rightQ, time );

もうついてこれている人はほとんどいないと思うんですけど、

回転していない状態から、振り子として左にいっぱいに回転した状態の leftQ と、

振り子として右にいっぱいに回転した状態の rightQ を指定し、左を 0、右を 1 としたとき、どのあたりまでの回転がほしいのかを time で指定します。

time が 0 なら左いっぱい、0.25 ならやや左、0.5 なら真ん中(回転していない状態と同じ位置)、0.75 ならやや右、1 なら右いっぱいといった具合です。

sphericalLinearInterpolation() は二つの回転状態のあいだを time を指定することで、「そこまで回転するクォータニオン」を都合よくゲットできる、というものです。

time が 0 から 1、1 から 0 へスムーズに動けば、「そこまで回転するクォータニオン」をその都度得ることができ、そしてそのクォータニオンを継続的に点に当てれば、その点は振り子運動をする、という寸法です。

sphericalLinearInterpolation() は略して、slerp() 、スレープと呼ばれています。

私は略さないほうが好みなので、フルネームで呼んでいます。

sphericalLinearInterpolation() はクォータニオンを使った代表的な機能のひとつなので使えたほうが良いでしょう。


私は鳥山明が好きなんで、同氏の絵柄がちょっと入っています。

だから亡くなったときはガタンって心の中で何かが崩れる感じがしました。

※この漫画は WEB カメラを使って私が演技したものを撮影し、その写真を下に敷いて、上からなぞる形で描いたものです。私は立体的構造をソラで描く力はこれほどにはありません。

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

  • クォータニオンの話
  • 面白いものを見たい
  • 日記を読みたい