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




  

相关话题

  计算机领域未来的趋势是什么,如果想成为那些领域的人才,现在需要做什么? 
  为什么 Linux 可以同时兼容 x86 和 ARM ,一个操作系统不是只能对应特定的硬件系统吗? 
  如何评价「线程的本质就是一个正在运行的函数」? 
  为什么图形学人才这么少? 
  向下扩展的段,为什么偏移量是从limit+1 ~ 0xFFFF? 
  dos时代的doublespace磁盘压缩现在是windows的什么程序? 
  智能手机的流行,是否会造成年轻人不会用电脑只会用手机的现象? 
  98年586电脑多少钱? 
  如何阅读PBRT3? 
  在以前没有计算机的时代,列车是怎样运行的? 

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





© 2024-05-19 - tinynew.org. All Rights Reserved.
© 2024-05-19 - tinynew.org. 保留所有权利