「学問」に関する日記(3)

<前 次>

微妙なものを作ってみたいものです

「パネルγ」はマウスを激しく動かすという特性上よほどのことがない限りフルスクリーンモードでの利用になるのですが、そのときBackBufferFormatをD3DFMT_A8R8G8B8にするとREF(要するに一応動くが重い)モードでデバイスが作成されたので、本当にA8R8G8B8が必要かと考えると、バックバッファはそのまま画面に表示されるんだからA値なんて不要ということで、X8R8G8B8にするとTnL(要するに速い)で動いてくれたようで、一応対応しているディスプレイモードを調べてみたら、R5G6B5の65536色モードも使えるようなので、どちらかを設定から選べるようにしてみたいと思います。

「Bomber丸」の32bit版を作りました。
VB6でVB2のプロジェクトを読み込んでコンパイルしなおしただけですが、VB2ランタイムのない新しいコンピュータでもVB6ランタイムがあれば動きます。
そこまでしてやりたくなるかどうかは微妙なところですが…

そういえば「微妙」って「美しさや味わいがなんとも言えずすぐれているさま」って意味もあるようですね。
「美妙」と同じ意味ですが。
ということは、良いか悪いか聞いたときに「う~ん、微妙。」と答えてもらったらすぐれていると言ってもらったことになるので喜ばしいことなのです。
ついでにいうと、「微妙」には「微」という文字があるにもかかわらず「少ない、小さい」といった意味は本来なく、強いて言うなら、比較対象との差が小さいことが微妙ということらしく、数学的な表記をあえて使うなら、x≒0ではなくdx≒0ということであるようです。

リコチキ&ラプラス

ダウンロードのその他にひとつ追加しました。
ついでに、そのページを改装して簡単な説明も付け加えました。

ラプラス変換を使って次の微分方程式を解く。
y" - 2y' - 3y = 0, y(0) = 1, y'(0) = 5
fのラプラス変換をLfとして
Ly = Y
Ly' = sY - y(0) = sY - 1
Ly" = s^2 Y - sy(0) - y'(0) = s^2 Y - s - 5
L1 = 1/s
これらを与式に代入
(s^2 Y - s - 5) - 2(sY - 1) - 3Y = 1/s
(s^2 - 2s - 3)Y = s + 3 + 1/s
Y = (s^2 + 3s + 1)/[s(s + 1)(s - 3)]
 (途中式は省略)
= 19/12(s - 3) - 1/3s - 1/4(s+1)
逆ラプラス変換により
y = (19/12)exp(3t) - (1/3)exp(t) - (1/4)exp(-t)

タグ使えばよかったんでしょうが、時間も根気もないのでこのへんで。
途中式はファイル置き場にあります。

解析学にて

日本語プログラム言語「ひまわり」のバージョンが1.87になったようです。
で、ちょっと2つほどひまわりを使ってグラフを描いてみました。
本来ならVB6でやっていたところなんですが、学校のPCでやっていて、そこに入っていたのがドットネットやらジャーバやらなんやら本格的なアプリケイシヨン開発みたいのばっかだったんでひまわり使ってみました。
なんだか理不尽なエラーが出たりもしましたが、目的はグラフだけなんでとりあえずのエラー回避だけで済ませてみました。

なんだかラプラス変換がいまいち理解できていないようなので自分で勉強しなおすことにしました。
もしかしたら近々ラプラス変換の例題を日記で解いてみるかもしれません。

フーリエ変換がコンピュータ関連でよく使われるの、わかる気がします。
デジタルデータの場合、積分はある範囲内の全データの和を計算すればすぐに出るわけですから、計算上非常に都合がいいのです。

ドアが変わった

複素関数のテストがありました。
よく分かってなかった割にはよくできていたような気がします。
きっと今回も気のせいでしょう。

人生、にんにくが大事です。
さあ、国語辞典でにんにくの意味を調べましょう。

円の曲がり方

とりあえず、曲率を計算してみました。

座標平面上の円周上での運動を考える。
運動する点Pの位置ベクトルをr、円の中心の位置ベクトルをA、半径をa(>0)とすると、時間tの関数f(t)(>0)を使って
 r = A + a{icosf(t) + jsinf(t)}
と表すことができる(ijはx軸、y軸方向の単位ベクトル)。
時間t0からの弧長sは、Pが円周上を運動していることから直ちに
 s = a{f(t) - f(t0)} = af(t) - C
と表すことができ(C=af(t0)は定数)、
 f(t) = (s + C)/a
 r = A + a{icos(s + C)/a + jsin(s + C)/a}
曲率半径ρは、
 1/ρ = |d2r/ds2|
 = |(d/ds){-isin(s + C)/a + jcos(s + C)/a}|
 = |{-icos(s + C)/a - jsin(s + C)/a}|/a
 = √{cos2(s + C)/a + sin2(s + C)/a}/a
 = 1/a
 ρ = a

当たり前と言っちゃ当たり前だけど、実際に考えてみることが大切。
とたまには言ってみたい。

折っちゃだめですか・・・

HPマナーの「日記って・・・・」を書いています。
一応HPマナーの更新は、旧サイトでレスがあったものを優先して更新しています。

朝、JRで何か事故があったらしく、山陽電車で学校まで行くことになりました。
山陽電車の切符を買うことになったら損することになるので、振り替え切符で行くことになりました。
山陽電車はほぼ1年ぶりです。

解析の「析」って「折」じゃなかったんですね。
数学の授業で先生に指摘されて初めて気が付きました。

優等生?

更新しました。
内容は・・・・見ればわかりますよね?
ついでに「HPマナー」の移転先も作っておきました。

急に偏差値というものに興味を抱いて、偏差値を計算するプログラムを作ってしまいました。
それを使って240人分のデータ(テストの点ではない)を入力したところ、一位の人の偏差値が109、最下位の人の偏差値が44、私の偏差値が82という結果になりました。
でも、もう240人分のデータを入力するのはこりごりです。
将来的にはランキングCGIに偏差値表示機能を付けるかも。

気が向けばもっと作るかも

うむ、やっぱ微分方程式を解くときは定数変化法だな。
未定係数法もいいけど。
今日は講義が早めに終わりました。

「ふにゃふにゃ」のステージを作っていました。
「不倫した神父」はほぼ完成だけど「ビーチ城」はまだまだ。
「不倫した神父」は回りまくり、「ビーチ城」はアイス砲が飛んできたりスイッチで床が現れたりします。
他に予定しているステージは、「始点」、「ブラックゾーン」、「アイスシックマウンテン」、「バカモン亜空間」、「いけにえの帝国」、などなど・・・・
って! 本当にこんなにやるわけじゃありませんよ!
ただ名前を思いついただけです。

自己紹介とか、掲示板とか、微妙に変わりました。
あとダウンロードも。
その他も。

普通です

「電気回路演習」のテストがありました。
なんか人をナメきった問題が。
コンデンサとコイルに電圧を加えました。電流はいくらでしょう。
図のように抵抗が繋がっています。流れる電流はいくらでしょう。
中学生や高校生の問題ですか?
計算ミスという小学生並みの間違いさえなければ100点取れるでしょう。

ダイオードに逆電流を流そうとしても流れない理由で、一般に良く知られている理由は俗説で、本当の理由はもっと違うらしいです。
詳しいことは省きますが、キャリアーがなくなるのが原因ではなく、接合部での電界の変化が原因であるということだそうです。

最悪御神籤

細川教授、本日の講義で「ホット・スロー・テク」をついに公表!
ホット=熱、エネルギー、そして情熱
スロー=速さに必ずしもこだわらない、投げる
テク=技術
ということだそうです。
えーっと、詳しいことは忘れたので、後は各自の想像にお任せします。

学校のパソコンで御神籤を作ってみました。
ただし、何回引いても超特大凶級のメッセージしか出ません。
しかもラッキーアイテムも到底用意できない(したくない)ようなものばかり・・・・
自分のペットで作ったから揚げなんて・・・・

積分因子とか全微分とか

今日は微分方程式の、完全なんたらかんたらとか一次線形ナントカとやらをやりました(いや、ナントカっていう名前ではなく)。
うん、なかなか意味不明。
チンプンカンプン。
ワケわかんない。
やってることは全微分の逆っぽいのでその辺をどうにかこじつけて解けるようにして無理矢理納得させましたが。

ときおのやつ、今度はプログラミングに「超リアルプログラミング」とかいうわけのわからんもんを追加するとか抜かしております。
何やら実物を目で見るか映画並みの画質でCGを描いたり減衰回折干渉まで考慮に入れたサウンドを再生したりと、どこぞのスーパーコンピューターでもてこずりそうなことをやってみようという無謀極まりない企画だそうです。
つーか当の本人にそのプログラムを書く気はまるでなし。
これこれこういうことをするときには、細かいけどこういうところにまで気をつければ限りなくリアルになるよ、ということだそうです。
まるっきりバカじゃん。

実は日記に書くために用意していました

ミニゲーム「パズル15」をこっそり公開しました。
学校の情報リテラシーの授業の空き時間にチョイチョイっと作ってみたものです。
名前の通り15パズルです。
代数学の授業で15パズルについての話があり、それを確かめるために作ったものです。
したがって、ゲームクリアはありません。
ちなみに、15パズルの話には次の内容もありました。
"_*.bmp"の画像と同じパネルを使って、

┏━┯━┯━┯━┓ ┏━┯━┯━┯━┓
┃D│E│A│D┃ ┃D│E│A│D┃
┠─┼─┼─┼─┨ ┠─┼─┼─┼─┨
┃P│I│G│S┃ ┃P│I│G│S┃
┠─┼─┼─┼─┨→┠─┼─┼─┼─┨
┃W│O│N│T┃ ┃F│L│Y│ ┃
┠─┼─┼─┼─┨ ┠─┼─┼─┼─┨
┃F│L│Y│ ┃ ┃T│O│W│N┃
┗━┷━┷━┷━┛ ┗━┷━┷━┷━┛
のように並べ替えるというものです。

学問ってのはわからないところがわかったりするときには感動がありますね。
それ以外は苦痛以外の何ものでもないけど。
学校に行くのは昔から好きじゃないけど、こういうときは嬉しいです。

虚数の虚数乗

「ふにゃふにゃ」のキャラクター紹介を作りました。
まだまだ中途半端な状態ですが。
あと、日記過去ログもアップしました。
これまた中途半端な状態ですが。

学校でこんな問題が出ました。

ある商人が品物に j j ドル(j は虚数単位)の値段を付けた。
あなたはそれに喜んで20セント支払うべきか。
ej α = cosα + j sinα であることを利用して、次のように解きました。
j j
= (cosπ/2 + j sinπ/2) j
= (ej π/2) j
= e-π/2
≒ 0.2099688
つまり、約21セント。
ただし、どうせこんなものは、10セント程度で仕入れたに決まっているので、買うなら5セントまで値切ります。

風呂敷文化と袋の文化

中国語をかなり忘れていた・・・・
ということはおいといて、
エネルギー論のレポート、「自由課題」だってさ・・・・
これもおいといて、
代数学は寝ていてもわかるらしい・・・・
これもいいとして、
途中丸2時間開いた・・・・
いえいえ、本当に言いたかったことは、
総合科目英語、英語ちゃうやん!
ってことです。
なにしろ、教科書はオール日本語(112ページにやっと「hebri」が・・・・)!
しかも先生によれば、昔の人は、「あなたが好きです」を伝えるには、直接言うのが恥ずかしいらしいので、「小石を三つに卵の黄身」で思いを伝えたそうです。
「小石、小石、黄身小石」、つまり、「恋しい、恋しい、君恋しい」とのこと。
こっちのほうがよっぽど恥ずかしいやん!
しかも先生自身、英語じゃなくて比較文化論だとはっきり言い切ってるし!
他、「親切→親を切るのか!」とか。

Perlの勉強中

今日の代数学は、もう授業内容がすべて終わっていたので、痴漢置換の応用をしました。
その名も、
「ルービックキューブ解法講座」
じゃないですけど、そんな内容でした。
「これがルービックキューブです。」
そう言いながら、先生は4x4x4の難解ルービックキューブと、一見何の関係もなさそうなキティちゃんを取り出しました。
「何のためのキティちゃんだ?」と不思議に思っていると、先生は徐にキティちゃんを掴み、ああ、恐ろしい、キティちゃんの体を真っ二つにしてしまったのでした。
「これもルービックキューブの一種です。回しますので見てください。」
そして回ってきた頃にはキティちゃんは見るも無残な姿になり、その上私がさらに見る影もない姿にしてしまったのでした。
とりあえず教えてもらったのは2x2x2の解法でしたが、どうやらただのルービックキューブとキティちゃんは解法が異なるらしいです。

分かった!

住気候論で二次元温冷感モデルというものを教わりました。
日本人の誰か(忘れた!)が作ったモデルです。
詳しい説明は省きますが、このモデルによると、ある直線に沿って環境を変えていくと快適感が増すのですが、そのうちモデルの外側に出てしまって、その部分は致死域と言われています。
つまり、こうです。
「快適さを追求しすぎると、死んでしまう。」

リーディングが最後の授業でした。
というのも、次の授業は、いまさら悪足掻きしても無駄だということで、休講になったのです。
それも密約によって。
休講案内には出ませんし、学生も先生も勝手に休むということみたいです。
ちなみに、今日は「Eureka」をやりました。
今迄で一番長い文章(とはいってもそう長くない)で、内容的にも最後に相応しいかなーと思いました。
アルキメデスが素っ裸で走り回る話です。
"Eureka"はあえて訳しませんでした。
そうしないと、「Eureka! Eureka! ("I have it!" "I have it!")」が、「分かった!分かった!("分かった!" "分かった!")」という頓珍漢な訳になってしまうからです。

引っこ抜いて~戦わせて~食べさせて~

学校での話です。

「電気エネルギーの先端技術」で、関西電力の社員の方が来ました。
普段の講義とは違った視点から説明をしてくれました。
その中で最も印象的だった言葉、
「弊社の社員2万5千人は節電に努めています」
オイ、普通逆じゃないか?
電力会社の人が節電を呼びかけて自分でも実践しているなんて物凄く違和感がないか?
まあ、現在は電力の需要を電力会社が追いかけている状態なので減ったほうが仕事が楽になると思うけど。

「熱・統計力学」の先生によりますと、
「このように定温変化をするときは、ある体積以下になると液体になり始めるのです。~中略~つまり、大数学者のように積分をして、その値になったら気体分子が『おい、液体になろうぜ』と言って液体になり始めるというわけです。」
フムフム、そうか…
そうだったのか!!!
気体分子、ただ者ではないとは思っていたがここまでとは…!

ここから家での話です。

「ピクミン」で、今まで散々ピクミンに協力してもらっていたので、今度はピクミンのためのプレイを始めました。
パーツ集めそっちのけでひたすらピクミンを増やす、増やす、増やす!!
実はゲームオーバーを見たいという考えが根底にあったりして。
ゲームの特性上どうしてもそうなってしまいがちなのですが、とにかくやろうと思えば初めての人や下手糞な人でもある程度余裕を残してクリアできてしまうんですよね。

エンタルピーとは明らかに違うものです。

エントロピーの話です。
エントロピーは初めて学ぶ人には非常にわかりにくい概念で、私のその理解に苦しむ人の一人でした。
そこで先生(教授といったほうがいいのかな?)が言いました。
「エントロピーを直感的にわかる量として考えるからわからないんです。エントロピーは計算の過程で出てきた数値だから何か直感的にわかる量と結びつける必要はないのです。」
そうか、そうだったのか・・・そうだったんです。
エントロピーとは、同じ温度で何か変化が起きたときの、吸熱量÷絶対温度だったのです。
エントロピー増大の法則も、計算したらそうなった、ただそれだけのことだったのです。
とりあえず、交流電流の複素数表示同様、なるもんはなるという方向で。

ドット絵が一応完成しました。
折角なのでアップしました。
が、ここではありません。
探さんでいいよ、どうせここを見てるあんたにゃ見つからないから。

無題

今日は「爆ボンバーマン(以下爆ボン)」をやっていました。
「爆ボン」は私の最も好きなゲームの一つです。

昨日日記に書き忘れていたことを今日書きます。
昨日万有引力について勉強していたんですが、その中で全く理解不可能な式が出てきました。
今まで問題の解き方がわからないことはあっても物理の性質や現象について全く理解できないことは無かったのに!
その問題の式は、次のようなものです。

万有引力定数をGとする時、質量M[kg]の地球の中心からr[m]の距離にある質量 m[kg] の物体が持つ万有引力による位置エネルギー U[J] は無限遠の点を基準に取ると、
U=-GMm/r

こんなもん、「こんな公式があるから覚えてね。」なんて言われても自分で全く理解できないことを覚えられますか?
エネルギーが負なんですよ!
一秒当たり Gmm/r[N] の地球から遠ざかる力を受けるんですよ!

私は考えました。
帰宅中歩きながら考えました。
家で宿題をやりながら考えました。
ゲームをやりながら考えました。
風呂に入りながらも考えていました。

そもそもなんで基準点が無限遠なんかにあるの?!
と思いながら、地球上のちっぽけな空間で考えた場合の位置エネルギーを万有引力の公式から求めてみると…
あら不思議、矛盾無く見慣れた E=mgh という公式が出てきたじゃありまえんか。

そこで私はまた考えました。
確かに引力は距離の関数だ。
しかし、その力が地球に向いているからには普通の重力と本質的には代わらないのではないか。

例えば、普通の位置エネルギーの公式 E=mgh は mg[N] の力でh[m] 上に持ち上げたという意味だ。
それと同じように考えれば、U=-GMm/r という公式の意味は平均 GMm/r*r[N] の力を外向きに加えながら、しかし r[m] だけとんでもなく遠い場所から内側に引きずり込まれて、その時に外側から引っ張った力が行った仕事が E=-GMm/r だったのでは?
ちなみに、引きずられる時に行う仕事の符号は負です。

それで最後に万有引力の公式のせいでプログラミングが出来なかったんだと言い訳をしてみたり(ゲームのせいだろ!)。

無題

今日は何か複雑な関数のグラフを描いていたんですが、第二次導関数を求めると、明らかにグラフの予想図とは矛盾する式が出てきました。
普通はグラフを描くために第二次導関数を求めるものなのですが、グラフから第二次導関数の間違いが判明したのです。
グラフを導くために求めた導関数がグラフに導かれてどうすんだ!!
こんな出鱈目な導関数なんて無視だ!!!!
・・・・とはいえ、やはりそれでは納得がいかないので、もとの関数を良く見てみると・・・・そうだ、すっかり忘れていた!
このグラフはy軸に対して対称だったんだ!!
ここからわかることはつまり、第一次導関数は原点対称で(これはあっている)、第二次導関数はy軸に対して対称であるということです。
ということは第二次導関数にxの一次式が出てくるはずはないから・・・・わかった!
合成関数の合成関数の導関数だったから少々混乱していたようです。

こんなことで数学が得意なんて言ってていいのか・・・・?

グラデーションの処理を高速化することが出来ました。
表示をする前に予めソース画像にグラデーションを施したものを作っておくという方法をとりました。
[白黒画像読み込み]→[マスク作成]→[グラデーション]→[普通に表示]
というプロセスで表示をしています。つまり
[毎回グラデーション]→[最初だけグラデーション]
ということです。

<前 次>