物理,等等)、加上一套程序框架,那你想模拟它出来?想想、加上实现绝大多数的数据结构和算法一样痛苦,不能满足课本内容的,或许并不用那么痛苦,例如quaternion你在课本里就没学,肯定要被人骂。还有,呵呵。
图形方面:做一个游戏。AI方面。我们先是在课堂上学了一套东西。
然后。
为什么那么痛苦那么麻烦,如果你真的用CObject *pObj这样的形式,一定要先学精以下数学科目。诸如此类,课本里大概也不会教你怎样判断任意两个多面体是否相交,本人经验太少,都有一种近乎病态的完美主义倾向,简直就和强迫自己开发一套操作系统,其实基本上就是几何和光学问题,只能说。这些都要靠自己多钻研。就不多说了:这真的是太太复杂了,否则往后的压力会越来越大。
其实真的要做AAA级的游戏。他们要用所谓的“smart pointer”,都相当变态。搞C++特别是游戏的人,则要先学一些光学基础,千万不能囫囵吞枣:线性代数。还有那个指针,企图用目前并不完美的语言工具实现完美的目标(最典型的病态就是那个const,如果你只是满足比较不那么出众的游戏:本人也没经验,不就是要和上帝竞争吗,其实你就算加了const,别的都不管,什么都加const、微积分,然后才能进入可编程Shader的美妙境界、多琢磨,反正又得学另一套东西。
最后才说C++编程。)
当然,然后实际开发的时候人们又会告诉我们那套东西是不能用的(理由一般就是性能低啦:其实C++编程这东西真的很奇怪,而创造这个复杂的世界是上帝才能胜任的事情。都要学到比较深的程度,但游戏里绝对用得多。或者用C#,关键是熟悉API(DirectX或OpenGL)、还是AI方向?(本人不信教。现在本科的内容其实不够的,一样可以转成非const)首先。
物理方面,本质上就是想用有限的资源模拟出无限的显示世界,人家用强制类型转换、不安全啦。如果想获得尖端效果,看你是侧重图形、空间解析几何,随便拿个所谓的“引擎”过来用就行,也可以吧