樱之冰羽

平凡的每一天都是奇迹。

今天的计算机图形课,老师讲解了上周四的实验三,也是我刚刚顺利完成的实验,利用ArcBall实现几何图形的三维旋转(平移和缩放是之前就做好了的)。

第一次看到老师从新建一个工程开始手把手教学,代码仿佛是自动生成一般流畅地显示在编译器里。

先是整体框架,再具体实现各个类和函数,不断的build检测错误,然后75分钟左右完成了旋转部分的代码。

原来一个程序可以这样被完成,不像自己,东拼西凑,整出一大坨再直接编译,报很多错还得海底捞针一般,挨个解决。

思维,编程的思维还没有形成。其实自己还是很重视整体框架的,也自认为掌握了面向对象的思维方式,可是自己写程序的时候,偶尔还是会让变量和方法散落在各处。

老师说,你们基础太差了,连面向对象的方法思维都还没有形成,只会写过程式的……确实,上学期的java期中考试,我想了很久类与类之间的关系,但有很多人写的很快,后来问了才知道,很多都是直接塞到一个class里甚至一个main里边儿。那时候还是有点小自豪的。(可是并没什么卵用,期末只给了我92分,老师对我明明还比较和善的。班上大把的95以上……想不通。某些同志期末考试来不及,copy了我的代码,得分比我高。至今耿耿于怀……毕竟上个学年我的评奖成绩比第一名低0.1分。)

扯远了。虽然形成了这种思维,还是没有自顶向下书写代码的习惯,写起代码好像是盲目搜索,尤其是在MFC框架里或者win32框架里,整体框架还没搞清楚就找网上的代码段凑了。不出错才怪。

下午终于完成了旋转。

错误依旧很愚蠢,数学式是对的,但是我太执着于数学算式的正确性而忽视了代码语句之间的关系……

thisR=thisR*lastR.

单看3*3矩阵的运算是没错。

但是,语句里thisR[]的值已经被更新了,后面的运算就全都错了。

真的是想了很久……就想着式子是对的……分别赋特殊值调试看到矩阵后面8个数都是错的才恍然大悟……

哭笑不得。

在那之前跳了很久的错误是手滑,把类似于{x=x0;y=y0;}的赋值用的函数写成了{y=x0;y=y0;}。图形显示不出来,追溯了好久才查清源头。


这个实验真的,花了太多时间,做出来的时候,如释重负……


一件事情算是了结了。

但是高老师又让我周三上去报告。

我想出国留学不是想搞语义啊……

什么动词事件,什么BML,高老师你真的以为我很感兴趣吗……这学期还有五周,熬完了我就投奔自己的导师去了,高大仙您就继续修仙吧。只是为选了他做导师的人默哀一秒。

今天的两份日语真题还没写。

冷静,事情很多,尝试着高效率地完成吧。

评论

© 樱之冰羽 | Powered by LOFTER