数学
数学は大切ですが、数学的な思考はもっと重要です



ゲーム開発のための数学・物理学入門 改訂版
ウェンディ・スターラー 山下 恵美子
4797356774

★★★★★

 ゲームに必要な数学&物理学の知識を、基礎から解説しています。

数学や物理学の世界は膨大ですが、本書はその世界からゲーム開発に必要なものだけピックアップして解説しています。そのおかげで、ゲーム制作に関わる数学&物理の知識が効率良く身に付きます。

実際のところ就職作品としてのゲームなら、この本の5割程度の内容で十分制作できます。そんなわけでゲーム業界を志望する人にはお釣りが来るほど役立つ本です。
豊富な例題とサンプルコードを収録しているので、中学校教科書レベルから段階的に学べるのも良いです。ちなみに私は高校も大学も文系でしたが、本書を抵抗なく読む事ができました。

読むコツとしては、先頭から順に読み進めるより興味のある章から学ぶのがオススメです。


ツキの法則―「賭け方」と「勝敗」の科学
谷岡 一郎
4569557635

★★★★★

 これは純粋なプログラミングの本ではありません。しかし論理数学的な思考を学びたい人には、最高のテキストになると断言できます。

内容はギャンブルの迷信や必勝法を科学的に検証し、謎めいた印象が強い「ツキ」とは何なのかを客観的に解き明かしています。私は学生時代に本書を読み、私を含めた人間の感情がいかに流され易いかを痛感させられました。それ以来、本書に世の中全体を眺める時の指針を教わったと思っています。

特に印象的だったのは次の設問です。あなたはAとBどちらを選びますか?
 A:(100%確実に)80ドルもらえる。
 B:抽選で85%は100ドルもらえる。しかし15%はゼロである。
私を含めた多くの人はAを選んでしまいがちですが、実際はBの方が期待値は高いのです。うーん、人間の主観って当てにならないですね。
「なんだそんなの当たり前じゃないか」と思った賢い人なら、本書をより一層楽しめると思います。

宝くじ、競馬、ルーレットなど様々なギャンブルの事例を一つ一つ取り上げ、主観を排除し論理的に判断する過程はそのままプログラミングに通ずるものがあります。

プログラムやコンパイラは論理的に動こうとしますが、往々にして人間はそのルールを忘れてしまいます。
昔の話ですが、何の疑問も持たずに超絶遅いループ処理を書いていた先輩がいました。また不具合の原因を論理的に考える時間を取らず、いきあたりばったりにソースを修正して直そうとする人もいました(あ、私の事です)。彼らが特別愚かだとは思いません。人間とは想像以上に判断を誤り易いのです。

本書から得た教訓は
まずは自分の主観を疑い、論理的に考える!
これに尽きます。そしてこれは多くのプログラマに当てはまる黄金律だと思います。

そんなわけで、読めばプログラミングスキルが上昇する一冊です。


プログラマの数学
結城 浩
4797329734

★★★★

 効率的なプログラミングに必須な「数学的な思考」を、とても平易に説明した良書。

私のような文系出身者でも読めるように、難しい数式とかは全くありません。
本書を読む事によって、「問題を単純化し、ソースに落とし込む過程」すなわち「数学的な思考」を身に付けられます。

私の専門であるゲームプログラミングでも、パターンを見極めシンプルなアルゴリズムに収束させる能力は強力な武器となります。
というか、私が出会った達人クラスのプログラマは皆その能力値が半端なかったです。
そういった人達が書いたソースは、まさにエレガントなものでした。

この本はそういったスキルを、親切な語り口・分かり易い図・面白いパズルで楽しく学べます。
プログラミング初心者から一般の人まで、幅広くオススメします。


数学ができる人はこう考える―実践=数学的思考法
シャーマン スタイン Sherman Stein
4826901135

★★★★

 本書はプログラミングの本ではなく、純粋な「数学的な思考」の本です。

プログラミングの話は一切出てきませんが、一風変わった例題(例えば野球の勝敗とか)を通して「問題を解きほぐし、単純化する過程」を鑑賞する事ができます。
問題へのアプローチは、斬新かつ創造力豊かなものが多く、かなり脳を刺激されました。

本書を読むと「より柔軟な頭の使い方」が学べ、アルゴリズムを生み出すスキルが向上するでしょう。
ちなみにこの本は文系向けに書かれているので、読むのに高度な数学の知識は全く要りません。


ゲームアプリの数学 Unityで学ぶ基礎からシェーダーまで
久富木 隆一
4797384263

★★★★

 ゲーム開発の為の数学をUnityで学べる一冊です。

本書のポイントは、数学の知識を解説するだけでなく、実際にUnity上で動かして確認する点です。
つまり数式や法則を並べて終わりではなく、それをUnity上でソースコード(C#)として記述します。

数式は色々出て来ますが、それを実現するソースは(かなり)単純なものばかりです。
だから分からない部分があったら、とりあえず飛ばして、まずソースを見て確かめるのが良いかと思います。

3Dプログラミングに必要な事は一通りカバーしているので、数学を学び直したい人にも有用な本だと思います。






もどる