百科问答小站 logo
百科问答小站 font logo



计算机图形学是不是计算机专业方向中对数学要求最高的? 第1页

  

user avatar   feng-dong 网友的相关建议: 
      

Programming 里需要的所谓「数学」能力,和我们从初中到大学谈论的数学能力不是一回事。我更倾向于把 programming 需要的能力叫做 encoding 能力。

什么叫 encoding 能力呢?比如说一个公式,写在黑板上可能初中生都能理解。现在需要把这个公式分成两部分,一部分写在 C++ 里,一部分写在 GPU shader 里。两个之间的交互不是相在黑板上用符号一连,而是需要用一个二维数组(就是 bitmap,或者说 GPU 的 texture)。

现在一个系统可能要三四个这样的公式配合。这三四个公式写到黑板上就是大括号一括而已。写到代码里就要分到三四个文件里。这是对你分层能力,符号变换和短期记忆的惊人考验。但是和我们上学时候说的数学能力关系不大。

有人评论里问怎么训练。这是个好问题,也是我以前想得比较少的方面(以前只是觉得下到苦功夫就能 figure out)。现在总结一下:

第一是要让程序的结构尽可能清晰。Keep it simple and stupid. 不要急着加优化。不要急着避免重复计算。需要公式的地方就用过程代码 on-the-fly 算一遍。整个过程正确之后再整体考虑优化。第二是想好清晰可验证的重构步骤。如果你需要把两个新公式加到代码里,要构思好可不可以分成两步,甚至更多步,而且每一步都是可以从外部结果进行验证。这也许类似于设计复杂的物理实验。第三是 don't duplicate yourself。需要依赖相同数据的代码,就要从 one single truth 取数据。需要依赖相同逻辑的地方,就要调用一个函数。有时候你觉得「这里也是除 3 那里也是除 3,我就赶紧在两个地方都写 『/3 』 就行了」。这种 debt 多了你就破产了。


user avatar   minmin.gong 网友的相关建议: 
      

当然了,如果能兼容android,又不比android慢,那为啥不用。系统这东西,本身好不好是第二的,第一的永远是生态好不好。有了生态,系统本身可以进化。没了生态,系统再好也会直接凋零。更何况,没生态表示没人用,没人用表示没人发现问题,没人发现问题表示好不了。

当年年我加入astoria,也是因为如果做出来了,就既能保留android的生态,又不是android本身,性能也可以有保证。结果呢,astoria一挂,wp随即也挂了。




  

相关话题

  哪些命令行工具让你相见恨晚? 
  为什么没有普及128位操纵系统的计算机? 
  系统的学习计算机图形学,有哪些不同阶段的书籍的推荐? 
  计算机语言是如何做到靠0和1就表达出这么多东西的? 
  如何评价清华大学新设立的计算机与金融双学士学位? 
  如果中国被美国禁止使用 Android、iOS、Windows 系统,会对中国造成怎样的影响? 
  哪里可以买得到程序员使用的竖长型显示器? 
  如果象棋的必胜或必和策略假如存在并被发现,那现在的众多职业棋手将何去何从? 
  理论计算机图形渲染技术是否已经到了没有什么可以研究的地步了? 
  在耳机相同的情况下,电脑的音质会比不上 CD 机吗?为什么? 

前一个讨论
一个人地理好,说明这个人什么能力强?
下一个讨论
为什么知道的越多,明朝那些事这书越看不下去了?





© 2025-01-03 - tinynew.org. All Rights Reserved.
© 2025-01-03 - tinynew.org. 保留所有权利