入門編『三次元空間』
「『速度』は物質のスピード。1秒間に何メーター進んだかを表す値。『加速度』はその『速度』の変化量。1秒間に速度がどの位速くなった、または遅くなったかを表す値」
魔導書は術式を表示しながら説明する。
<SCRIPT>
master.onthrow=function(event){
var stone=event.projectile;
var ax=100*stone.vx;
var ay=100*stone.vy;
var az=100*stone.vz;
stone.accelerate(ax,ay,az);
}
</SCRIPT>
「速度は英語で『velocity』、加速度は英語で『acceleration』。『velocity』の『v』が付いてるプロパティ『vx』『vy』『vz』は速度の値が入っていて、『acceleration』の『a』が付いてる変数『ax』『ay』『az』は加速の値が入ってる」
エイダは困った顔で質問する。
「『速度』はわかるけど、『加速度』がよくわからない。それに何で三つも値が必要なの?」
「『加速度』は、追い追い理解すればいいと思う。普通に『加速度が大きければ大きい程スピードがどんどん速くなる』と理解すれば充分。三つの値が必要なのは、三次元空間で『大きさ』と『方向』を表しているからだ」
「三次元空間?」
あまり耳慣れない言葉に、エイダは聞き返す。
「『縦』『横』『高さ』の三つの次元で構成された、今エイダがいる世界の事。ちなみに紙は二次元だ。『縦』『横』の次元しかなく『高さ』がないからな」
「魔導書さんの世界は二次元って事?」
「うん、まぁ、そういえなくもないかな?う〜ん」
魔導書は何かをやっているようで、話半分で答える。
「よし出来た。エイダ、ページの何処でもいいから触れてみてくれ」
エイダが指で触れると、二つの数値がページに表示された。
x=56 pixel
y=100 pixel
「xとyの文字と数が現れたよ、魔導書さん」
「xは横軸、yは縦軸。指を移動させたら数値も変わるぞ」
エイダが指を右に移動すると、xの値が大きくなっていく。下に動かすとyの値が大きくなった。指をグルグル回したり、指の速さを変えたり、エイダは楽しそうに数値の増減を確かめる。
「これが二次元。エイダの指が何処に触ったかは、横軸『x』と縦軸『y』の値を覚えておけば再現できる」
魔導書は一呼吸置いて、説明を続ける。
「そして三次元だが。エイダ、そこら辺の適当な石を拾ってくれないか?」
エイダは辺りを見渡し、手にすっぽり収まる大きさの小石を手に取る。すると魔導書のページにまた文字が現れた。
x=4002637.921123 m
y=3358612.004822 m
z=3658635.306172 m
「今度は三つの値が現れた。なんか、すごい数」
「それがエイダが持っている小石の、エイダの世界での位置。この数値も小石を動かせば変わるぞ」
エイダは手を回したり、左右に振ったりして、上に放り投げたりして確かめる。しかし何か納得してないのか、質問を魔導書にぶつける。
「三次元空間は『縦』『横』『高さ』って言ってたよね?」
「あぁ、そうだ」
「いくら頑張って石を真っ直ぐに上に投げても、『高さ』以外の『縦』『横』も全部変わっちゃうよ?」
エイダは石を落としたりして、再確認する。まっすぐ落としても、やはりダメだった。そんなエイダに魔導書は答える。
「これはそうだな。エイダは地球が丸いのは知ってるか?」
エイダは魔導書の質問に、満点の笑みで答える。
「うん、教わったよ。『地球って丸いの?』って本の内容をお母さんに聞いたら、次の日お父さんとお母さんと一緒に、二日がかりですっごく高い山を登って、雲の上から『海の水平線が丸いでしょう? これは地球が丸いからだよ』って教えてくれた。他にも『高い所は空気が薄くなる』とか『水の沸点が低くなる』とか『高山病の事」とか色々教えてもらったよ。登るの本当に大変だったけど、すっごく景色が綺麗だったし、キャンプも楽しかった」
「おぉ、身体を張った教育だな」
魔導書は感心しながらエイダの語りに耳を傾けていた。エイダはもっと楽しかった思い出を喋りたそうにしていたが、心を鬼にして説明を続けた。
「地球が丸いのを肌で感じたようでなにより。さてこれらの『x』『y』『z』は、『横』『縦』『高さ』で合っている。しかし『エイダ視点』ではなく『地球視点』でだ」
「地球視点?」
エイダ可愛く首をかしげる。
「球体の地球の中心が(x=0,y=0,z=0)。そこから3つ軸『x』『y』『z』が伸びてるイメージ。『z』軸上にある北極は(x=0,y=0,z=6356751.9)で南極が(x=0,y=0,z=-6356751.9)。『x』軸上にあるのは、確か有名な大神殿で位置は(x=6378136,y=0,z=0)だったような気がする。『x』軸の反対側の(x=-6378136.6,y=0,z=0)には魔王殿があったかな?まぁ要するに、北極や南極で上に投げたら『z』軸の値だけ動いて他の『x』『y』は動かない。大神殿があるところならx軸だけ動く。エイダが今いる所は、緯度は35度ぐらい赤道から離れていて、経度は40度ぐらい大神殿から離れている。『x』『y』『z』軸からずれている為、一つの値だけ動く事はない」
「う〜ん、何となくわかるような、わからないような」
「まぁ、そうだよね、私も何言ってるかわかんなくなってきた」
魔導書も同意した。
ーーーーーーーー ログ ーーーーーーーーーー
エイダは『三次元空間』を理解した。
エイダは『二次元空間』を理解した。
『デカルト座標系』スキルがLV1になった。
ーーーーーーーーーーーーーーーーーーーーーー
登場人物
エイダ・ラブレス
冒険者に憧れている9歳の普通の女の子。
説明だけより、実際に体験した方がわかりやすい模様。
職業:術者 LV1
称号:初心者
スキル:『関数 LV4』『構文 LV1』『文字列 LV1』『コメント LV1』『算術演算子 LV1』『文字列演算子 LV2』『変数 LV2』『代入演算子 LV1』『オブジェクト指向 LV1』『イベント処理 lv1』『デカルト座標系 LV1 new』
関数:『alert()』
HTMLタグ:『<script>』
イベント:『mousedown』【throw】
(【】は魔法に関連し、従来のjavascriptにはない)
喋る魔導書
エイダが森の奥で出会った喋る魔導書。
説明ばかりしてちょっと反省し、体験学習を増やそうと決意する。
作者より
授業にjavascriptの他に、初歩の『物理学』が入ってきました。『速度』と『加速度』を理解していないと、魔道書さんの魔法を操る事が出来ません。エイダには頑張って勉強してもらわないと。
参考にしたページ
地球半径
https://ja.wikipedia.org/wiki/地球半径
神奈川県 市区町村の役所・役場及び東西南北端点の経度緯度 横浜市の値を使ってます。
http://www.gsi.go.jp/KOKUJYOHO/CENTER/kendata/kanagawa_heso.htm
直交座標系
https://ja.wikipedia.org/wiki/直交座標系
日本の標高
http://ww3.ctt.ne.jp/~seijiham/butai/shizen/chikei/chikmain.html