スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

私男だけど、数学ってちゃんと勉強しないといけないと思うの

ネタが特に思い浮かばなかったので、
なんとなくぼんやり考えたことを文章にしてみたら長くなったという。。
そのまま掲載するのも長さ的にアレでしたので、折りたたんでみました。

最初はゲームプログラミングでの数学の話を書こうと思っただけだったんだけど、ううむ。
とりあえず、決して難しい話じゃないから、小中学生の方は是非読んでくださいお願いします。
 
--------------------
 
小学生の頃は算数という名前だったものの、
中学生になると名前が変わって苦手意識がわき始め、高校生でこんな物分かるかあぁぁぁぁ、
という状態になってしまう科目はなんでしょう。

数学ですよね、数学しかないですよね。
「苦手意識? 何それおいしいの」と言えちゃうほど理系な頭な方には関係ない話なので、
今すぐブラウザバックしなさいこんちくしょうぅぅ。

社会科のように公式を暗記しても解き方が分からず、
国語のように問題文中に答えが載っていないのが数学。
文系の学生の最大の天敵にして最強の宿敵。
理系? 何それおいしいn(ry

高校受験を行うときは、おそらくほとんどの方が試験で数学を使ったと思います。
と言うか、使わざるをえませんでした。
しかし、大学受験ではなんと憎き数学を使わなくても、一応大学受験に臨むことができるのです。

ということで、中の人はそんな安易な道を選択してしまったわけなのでした。
なので、高校数学はほとんど覚えていない状態。ふげぶー。



大学に入ってからは「Java」というプログラミング言語を勉強しながらゲームのような物を作る毎日です。
まぁ、他にサークルやアルバイトからお仕事が来ていたり来てなかったりするんだけど、そっちの方は後回……ゲフンゲフン
いやいや、順調ですよ?(--;

しかし、ここで数学をろくに勉強しなかったツケが回ってきまして。
だって、三角関数が分からないと弾を発射するプログラムさえ作れないし、
円の方程式を覚えていないと、当たり判定だって上手く機能しないんですよ。

ちょっと具体的な話をしてみます。
例えば、シューティングなんかでよくある「特定の角度へ弾を発射するプログラム」を作るときは、
こんな風に記述します。

~変数解説~
vx:X座標の移動量 vy:Y座標の移動量
x:弾のX座標 y:弾のY座標
theta:角度(度数法) speed:弾の速度

theta = 適当な角度;
speed = 適当な弾速;

vx = Math.cos(Math.toRadians(theta))*speed;
vy = Math.sin(Math.toRadians(theta))*speed;

x += vx; y += vy;


やる気のない解説になりますが、まず、Math.toRadians()という関数でthetaを弧度法(ラジアン)へ変換し、
次に、Math.cos()やらMath.sin()という関数で、弧度法に直した角度をsin、cosへ変換しています。
あとはそこに弾速をかけてやれば、X、Y座標の移動量が算出されるということらしいです。

このプログラムを、thetaの値を変えて何回も実行させれば、
弾幕シューティングでよく見る「周囲何方向へ弾を同時発射」みたいなことができるんですよ。
細かい書き方は違うかもしれないけど、みんな大好き東方でも、おそらく同じ考え方の元で弾を動かしていると思う。

……どうですか? 特に数学が苦手な人は頭が痛くなる事間違いないですよね。
そんなこと書いている自分も頭が痛いです。気が狂いそうです。
でも、これぐらいの構文も書けないと、シューティングゲームすら作れないみたいなんですよ。うぎぎぎ。

ちなみに、ここに書いた「弧度法」やら「三角関数」やらは高校の内容になりますが、
中学校で習う数学ができていないと正直な話、理解不能です。日本語以外の何かです。



高校生諸君はよく分からないけど、中学生・小学生諸君の中でゲームが好きだからゲームプログラマになりたいという安易な考えを持っている輩は、今でも何人かはいるはず。多分。
実際、自分もそうだったし。

そんな人のために言っておきたい事は、「ゲームを作る人になりたいなら数学やりましょう」
中の人のように趣味や道楽で作る分には、後から勉強すれば大丈夫かもしれないけど、それでも辛い。
ゲームを作ってメシを食べていきたい人は、なおさらじゃないのかな。

中の人も、中学生の頃は何のために二次関数を勉強しているのか分かりませんでした。
先生方の意図通りかそうでないかはともかくとして、まさか後で必要になってくるなんて……。
人生、どうなるもんか分からないものですね。

月並みな言葉だけど、何かしら将来やりたい事がある人は、後で必要になるか分からなくても、
せめて学校の勉強ぐらいはしっかりやっておくべきだと思う。
数学に限らず、国語も英語も社会も理科も。

そのときは表面上では受験の道具にしかならなくても、何かしらの副産物は身につくはずだし、
もしも後で必要になってしまった時に勉強し直すのは本当に大変。
時間がとれないし、吸収効率も悪くなっているはず。

中の人も先程述べた数学は言わずもがな、
イラストを描くために筋肉骨格ぐらい覚えればよかったと悔やんでいるところだし、
小説を書くために熟語や世界史ぐらいは暗記すればよかったと嘆いているところだし。
思い出せば出すだけキリがない状態。

タイムマシン的な装置があれば、過去の自分にキリキリ勉強するよう言いに行きたいなぁ。
でも、今の自分は何もしていないから、それが成功しても今現在に影響は何もなさそうだ。
ううむ、超未来科学に頼ろうとしても、結局は今の自分でどうにかするしかないんだな……。
あぁ、しっかり勉強すればよかった。

後々こんな後悔をしないためにも、
今チャンスがある方には是非頑張ってもらいたいです。
こんなよく分からない生き物に説教されても何も思わないけど……というのはごもっともですが。

さぁて、今の学校での勉強にもちょっち力を入れてきますか。
スポンサーサイト

コメントの投稿

Secre

プロフィール

あおかび

Author:あおかび
眠ってばかりいる謎の生き物。
好物は、青いカービィ、厨ポケモン、ななちゃん。
カービィ新作はまだなのかなぁ。

フレンドコード:4984-4629-6150
ポケモンのシングル対戦随時募集
希望者は、ツイッターか拍手かコメントに書き込みお願いします

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
ついったー
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
カウンタ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。