カレンダー

06 | 2017/07 | 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -

カテゴリー

プロフィール

drednote(Mr.Ty)

Author:drednote(Mr.Ty)
既にいい年しているにも関わらずエロゲをプレイしているヤバイおっさんです。きっと還暦になってもプレイしてそうな気がする。

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

ブロとも申請フォーム

この人とブロともになる

主にエロゲのプレイ日記。他レビューっぽい事とか色々
エロゲプレイ記
  当サイト内記事にはゲームのネタバレが含まれる場合があります。
  ネタバレをみたくない方は、当サイトの閲覧をご遠慮願いますようお願い致します。
  また、当サイトの記事自体は全年齢対象ですが、
  扱っている評価物は基本的に18歳未満プレイ禁止の物が殆どですのでご注意願います。
[------]
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--------(--) --:-- スポンサー広告 | 編集 |
[20070517]
プログラムを組むという作業をする上で数学は果たして必要か?もう既に数多の人が数多の結論を出しており、またその結論も多種多様に存在するだろうがここで私も書いてみたいと思う。
まず結論から書くと、必要となる分野が少なからずある、という事になる。けして特殊な分野ではなく、寧ろ一般的な分野であっても必要となるケースが少なからずあるだろう。但し暗号プログラム等は数学の塊のような分野だが、これは除外しても構わない。何故ならそもそも暗号理論自体数学の分野に属する物で、元々コンピュータに何かをやらせるとかそういった概念の分野では無いからだ。コンピュータがあってもなくても暗号理論は存在し、そしてそれは数学を必要とする(というか数学そのものだ)。だから暗号理論はプログラミングに数学が必要かどうかには関わらない。それ以外の分野で数学が絶対に必要な分野といえばまず私が思い浮かべるのはサウンドプログラミングの分野だ。サウンドプログラミング、つまり音を操るプログラムだが何もDirectSoundで既に用意されているWAVE波形を垂れ流しにする事がサウンドプログラミングだとは思わない。これはただのストリーミング処理であってサウンドの要素はかけらも存在しない。サウンドプログラミングというのは、波形そのものを自ら計算して生み出したり、或いは既存の波形に対して何らかの変形操作を行うという分野となる。波形を生み出すにはサイン波ならSin関数さえしっていればどうとでもなるので、あまり数学と感じない人も多いかもしれないが、しかしナイキスト周波数の範囲に収まる形で矩形波を作成したり或いはとある周波数帯域の信号を抑えたり増幅させたりといった操作は数学の理解無くしてありえない。
今の時代、多くの人が数学の必要なプログラミング分野として思い浮かべるのが3Dグラフィックス描画だろう。確かに座標計算で普通行列演算を使い、またライティングや特殊効果の為の計算等が存在している。しかし実際には3Dに限らず2Dであっても同様の計算は必要となるのでここでは3Dグラフィックスではなく、グラフィックス描画には数学が必要となると書かせてもらおう。どのようなグラフィックス描画であれ、ただ用意された絵を用意された状態のままで貼り付けるだけというわけでは無いのであれば、そこには少なからず数学的演算がなされている。数学の理解が深まればそれだけ使用出来るグラフィックス効果は増えるだろう。最新のDirectGraphicsでは各種シェーダーをプログラムする事が出来るが、このシェーダーを自ら作るには数学的理解が必要となる。何故なら各頂点が、或いは各ピクセルがどのように描画されるかを数学的に表現しなければならない為だ。シェーダーでは基本的に、条件分岐によって描画する物を変えるような処理はしない。その代わり、演算によって一般的にどのような計算でそのピクセルの色が、或いは頂点座標が導き出されるのかを記していく。その事が理解出来なければ自分でシェーダーを作る事は出来ないだろう。
人工知能分野では集合理論を理解しなければならない場面が多数ある。集合理論もまた数学の一分野である事を考えれば、やはり人工知能分野であっても数学の知識が必要となるという事である。実際人工知能の本を読み解くには数学的知識が必要となる。集合理論での計算式が大量に出てきたり、確率統計の計算知識全般が必要となる。少なくとも今の人工知能の本は大抵の場合、これらの知識があることを前提にして書かれているように思うし、実際これらの知識があることでこそ理解出来る概念といった物も存在する。まぁ、本格的な人工知能を組むような世界にいる人が基礎的な数学の知識を持ってないとは思わないけどね。
そして何よりも数学が必要な分野こそゲームプログラムだろう。上記に書いたサウンド、グラフィックス、人工知能全ての要素を兼ね備えている上に、更にゲーム中に出てくるオブジェクトの振る舞いや軌道計算などにおいても数学的知識が必要となる。実際ゲームプログラミングの為の数学や物理に関して書かれている本が結構多く出ている。これはゲームプログラミングに数学/物理の知識が必要となる証拠であろう。ついでに書けば単純なエロゲであっても数学的知識の有無により表現出来る演出が異なってくる事は理解しておかなければならない。無論、吉里吉里等を使って単純なトラジションや用意された演出しか使わないというのであれば別だが、少しでも特殊な演出効果を出したいのであれば必ず何らかの数学的知識が必要となる事は理解しておきたい。行列演算、信号処理、物理で必要となる全ての数学的知識、集合理論、確率統計、これらは全てゲームを作る上で知っておいて得こそあれ損は無い。ゲーム分野こそ数学を理解していなければならない分野であるとも言える。
駆け足で数学が必要となる分野について書いてみた。実際にはビジネス系プログラム等は私の専門外である為詳しい事は判らないのだが、確率統計理論や集合理論位は必要となる場面も多いだろう。金銭を扱う類のプログラムであるなら税金計算の時に数学が必要ともなろう。どのようなプログラムであるにせよ、数学は知っておいて得にこそなれ損にはならない。だから、全てのプログラマは基礎的な数学知識を理解しておくべきだというのが私の見解となる。

閑話休題:このブログへのコメントが今まで一度も書かれた事が無いし、トラックバックも殆ど来ないんだけど誰も読んでないのかな~とか思ってしまう。何か思うところがあるならば是非コメントを残していって欲しい。
スポンサーサイト

□ ネタでいってる? by 名鏡 恵

とりあえず通りすがりにこの記事を読んでみた感想をいうと、
読みずらいし、
とくに面白いことが書いてあるわけでもないし、
内容も無難すぎて突っ込みどころもないしで、
非常にコメントしずらい文章であることは確かです。

また、文章の構成や文体が
読み手のことを考えていないという印象を受けます。

正直いってしまうと、
『一人よがりの文章だ』
という感想です。

ふつうの人はそういう文章を最後まで読むこともありませんし、
読んだとしても、内容も前述のようにコメントしづらいので、
コメントをするまでに至らないのではないかと思います。

2007-05-19(Sat) 19:30 | URL | #6urEx/7U [ 編集 ]
□  by drednote

そうですね、確かに読み辛いし特にどうという事が書いてあるわけでもないと読み返してみて思います。書き始めた時はもうちょっと書く事あった気もしたんだけど、オフラインで落ち着いて書いてるわけでもなく直接fc2のエディタに書いていっているので色々無理があるのかもしれませんね。単に、世間一般のプログラマ的にはどう思ってるのかな~と思って書いただけなんで特に深い意味がある記事というわけでもありませんし。

2007-05-19(Sat) 22:02 | URL | #- [ 編集 ]
□  by 高橋シカジカ

数学の難しい話は分かりませんが、OggVorbis再生講座は
大変勉強になりました。メモをたくさん取ってついでにブクマ
させてもらいましたので、度々訪問するかと思います。
コメントがないとお嘆きだったので足跡を残してみました^^
それでは

2007-05-20(Sun) 15:32 | URL | #- [ 編集 ]
□  by drednote

コメント有難うございます。OggVorvis再生関連の記事は、実際私が少し前に再生しようとしてGoogleで色々検索してみたところ、どうも判りにくいページしか見つからなかったので、自分で色々と試行錯誤して発見した事やわかり難かった事などを書き留めておこうと思って書いたものです。ここの記事だけで1から10まで全部判るという類の物でもありませんが、少しでも参考になったのでしたら幸いです。

2007-05-21(Mon) 22:10 | URL | #- [ 編集 ]
□ 参考になりました by 攸游

プログラミングで数学が大事なことがなんとなくわかりました。
下手なコメントで申し訳ない。

2008-12-27(Sat) 02:25 | URL | #- [ 編集 ]
□ 安心しました。 by

一部で「プログラミングに数学は必須でない」というのを見てショックを受けていました。
私は数学だけが得意で他は何もできないので、この先どうなるんだろうと思っていました。
この記事を読んで数学の知識が生かせる場所があるとわかって安心しました。

2009-07-12(Sun) 10:04 | URL | #IcoZuuQ6 [ 編集 ]
□ Re: 安心しました。 by drednote(Mr.Ty)

> 一部で「プログラミングに数学は必須でない」というのを見てショックを受けていました。
> 私は数学だけが得意で他は何もできないので、この先どうなるんだろうと思っていました。
> この記事を読んで数学の知識が生かせる場所があるとわかって安心しました。

まぁ数学が必要なプログラミングのジャンルもある、という程度ではありますが、それでも数学が出来て困る事はありませんしね。
ただ、数学が必要なジャンルというのは、物にもよりますが中には本当に高度な数学が必要な場合もあるので、中途半端に出来る程度ではあんまり役に立たないのが実情ですがw

2009-07-21(Tue) 22:17 | URL | #- [ 編集 ]
□ そんなに難しく考えなくてもいいように世の中が変わってほしい by 通りすがりの人

正論としては、非常に賛成な内容だと思います

ただし、僕ももう少し違った見解を持っています

プログラミングと数学の関係について
いくつか言いたいことがあります

プログラマーの人口は、いまや数十万はいるのではないかと
思います。
IT黎明期のように非常に数学のセンスが高いような人ばかりが
プログラマであることは稀だと思っています

また、ハードの性能も、どんどん向上しています


たとえば、中高生の頃、数学が不得意な人でも
ぶっちゃけ、高卒で専門学校に通って、税理士・会計士
の資格を取得し、普通に税金の複雑な計算をしている人もいるでしょう。

文系だろうが、高卒だろうが。
電験3種の資格をとっている人もいるでしょう。



ただし、彼らは、一応は、その分野で必要とされる
数学について、高校数学を部分的に復習していると思います
本人に復習している自覚がなくても、
結果的に復習していると思います

たとえば、電験3種であれば、三角関数、複素数がでてきます

ただ、それは、電験3種に必要な形で利用できる程度に
復習されるだけだと思います


なにも理工系の学生になるための大学入試の勉強や、
理工系の学生が在学中にしている勉強のように。

数学の定理や、公式の成り立ちを深く理解し、
証明問題を解いたり、
ある程度の応用的な内容でも、
対応できるような数学的なセンスが
必ずしも必要であるともいえないと思っています


ある分野に特化し、ある分野の問題解決に必要な程度に
理解するだけであれば、数学の勉強量は
かなり激減すると思っています

そういう意味では私はもっと、
国の情報処理試験が多様化すべきだと思っています

・3Dゲームに必要な数理とプログラミングの試験
・3GCADに必要な数理とプログラミングの試験
・人口知能に必要な数理とプログラミングの試験
などなど。

どのように区分けすれば効果的なのかは、わかりません。
たとえば話として、あげました


難解な理論は必要ないと思います
その応用分野で最低限しっとかなければならない
知識をピックアップする
実際のプログラミングの中で、どういうときに
どのような点に注意し、そのときどのような数式を
使えば、スムーズに解けるか。

なにも超一流になる必要はないのです。
超一流を目指すのであれば話は別ですが。
二流の人間にもそれなり仕事はあるでしょう。

数学そのものよりも、必要最低限の数学知識を
使って(覚えて無くても試験の問題用紙に書いてあるなどの配慮も必要)
どうプログラムを組み立てるか。

分野別に細分化していけば、
文系や、高卒で税理士になったり、電験3種を取得したり
できるほどの勉強熱心な人であれば、
どんな分野でもある程度は克服できるのではないでしょうか。


よくプログラミングの参考書で、いろいろなノウハウが辞書的に
網羅されたものがよく売られています

でも、3Dゲームで使う数理とそのときアルゴリズム的に
注意すべき事項を、細かくTIPS形式でまとまった
辞書的な書籍ってないですよね。

そんな付け焼き刃でも実務の中で、スキルがつけば
より詳細に理解しようともっと難しい専門書も読むでしょう

ピンポイントで必要な資格試験もないから
なにをどう勉強すればいいのやら。。

という感じになります。

どこが、どれだけ、必要かどうかもわからないのに、
数学の一般的な参考書をめくったり、

その分野の分厚い専門書(それも数式がたくさんあるような)
を見ろというのは、無理があると思います

僕が言いたいのは、今の世の中
いろんなタイプの人がプログラマになっています

もっと、いろんな意味でチャンスがあっていいんじゃないかと思っています

できる人より、できない人のことのことを考えた意見とか。

配慮をできる人が考えてくれれば(その人にとっても書いた本が売れる)

と、おもっている次第です

2010-05-21(Fri) 12:36 | URL | #- [ 編集 ]
□ 承認待ちコメント by

このコメントは管理者の承認待ちです

2011-11-10(Thu) 22:55 | | # [ 編集 ]

管理者にだけ表示を許可する
Top
http://drednote.blog92.fc2.com/tb.php/36-b1caa678

Windowsサウンドプログラミング―音の知識×プログラミングの知識 サウンドプログラミングについて書かれた本。 文章はかなり使いま...
2009-09-14(Mon) 13:52 | もぼなもな書房 
HOME
copyright © 2005 drednote(Mr.Ty) all rights reserved.

Template By innerlife02

RSS1.0 ,
RSSフィード

応援バナー

検索フォーム

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