百科问答小站 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随即也挂了。




  

相关话题

  一个光速无限大的宇宙会是什么样的? 
  怎么知道电脑是32还是64位的? 
  WIN7网络连接成功后,有个白框一闪而过,这方面的大神能帮忙看看,给个原因或可能有效的探索方向么? 
  私人网站能看到用户的密码吗? 
  相同的硬盘条件下,ext4能存储比NTFS更多的文件吗? 
  土木就一定比计算机差吗? 
  c语言中的sizeof()是如何分辨数组名和指针的? 
  计算机图形学是不是计算机专业方向中对数学要求最高的? 
  笔记本散热排出的气主要是什么成分,有毒吗? 
  不太喜欢计算机,不喜欢编程,但是学了一段时间老师觉得我还可以,还建议学吗? 

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





© 2024-11-09 - tinynew.org. All Rights Reserved.
© 2024-11-09 - tinynew.org. 保留所有权利