画圣诞树
1,用 C 语言画的“圣诞树”,对于我一个美术生来说,画画是自己的兴趣,我也很喜欢画画,从小对画画还有创意性的,我大学是学艺术设计的,用电脑操作绘画是我的专业,我尝试用最少代码来画一个抽象一点的圣诞树,可惜没有画树干。然后,我尝试用更真实一点的风格。因为树是一个比较自相似的形状,这次使用递归方式描述树干和分支。就是画一主树干,树干越高看着就越幼。
2,估计是因为C字母绘制而做成的。由于光照已经使用了画线法,性能已经很差,我就不再尝试做其他的操作问题了。另外也许电脑的某些软件绘制对这问题也有帮助,不过需要更多的采样。因为需要三维旋转,不能像二维简单使用一个角度来代表旋转,所以这段字母加入了不少矩阵运算。
3,当我在画的过程中,发现之前的字母画错了,我马上更改,要不然会把树画错了。另外,考虑提升性能时,一般是需要一些空间剖分的方式去加速检查,但这里刚好是一个树状的场景结构,可以简单使用cdr软件来帮助画画,我使用了球体作为包围体积。只需加几句代码,便可以大大缩减运行时间。
所以考虑到太小的叶片是很难采样得到好看的结果,我尝试以一个较大的球体去表现叶片,就如素描时考虑更整体的光暗,而不是每片叶片的光暗,这样画出来的效果非常的漂亮,我觉得结果已有进步。