很多天之前:
我终于开始决定做计算机图形学的实验五了,一番疯狂的代码输入之后,变成了这个样子。(附加一句,我有个编程的坏习惯,写程序恣意妄为,往往只凭一时兴起,缺乏全局思考)
直到程序做到这里,我才让发热的头脑冷静下来,我开始觉得有必要重新规划一下,因为操作起来很不方便,不利于后续功能的实现。最重要的是,我找不到现成的B样条生成函数。
两天之前: 我从头再来,照着教材上的算法编写了B样条的生成算法,并且将点的输入方式改为鼠标操作,重新写了一个程序。
做到这一步,又遇到问题,我用自己的方式实现的从二维坐标到三维坐标变换的方法,以及控制点拾取操作其实是有缺陷的,我只能在XOY面上单击输入控制点,一但场景旋转一个角度,我的输入就变得不准确,选择也出现偏差。
今天上午:
昨晚的程序做得我头疼,休息一宿,今天继续。
经过两番折腾,我不再轻举妄动了。今天一早奔图书馆来,在网上搜到一些资料。并欣喜地发现许多成熟的坐标变换发,和拾取法。
再一次决定,对程序进行手术!直到满意为止
周日晚上:
有奋战了一个周日!!还好,在午夜 12点之前搞定。。。。。。
之前的问题都已经搞定
核心代码:一是任意输入的二维坐标,转换为三维坐标
二是用鼠标选中并拾取三维场景中任意远近的物体,并拖拽
三是B样条曲线生成的deBoor-cox算法
四是OPENGL的曲面生成器,没办法,我在实验五上的时间花费太多,只好偷个懒,用现成的OPengl生成器做曲面
一身是汗~·。。。
终于悟到--------------------------------编程就是体力活