本篇文章记录一下自己在编写贝塞尔曲线和blinn-phong模型实验中遇到的问题
一、贝塞尔曲线
(1)实验内容
①使用de Casteljau和Bernstein多项式编写Bezier曲线的代码
②成功运行程序,生成Bezier曲线
(2)基本原理
相关公式
(3)实验结果
三阶四阶以及高阶结果
(4)问题记录
错误图像
问题原因:
在程序编写的过程中,进行运算时,小数点后的低位会产生误差,在控制点较小的时候,这种误差对实验的最终结果不构成影响,当控制点数量过多,则会产生数值问题,导致最终结果不可控。以往学习数值分析课程的时候确实听说过这种错误,但只有一个概念,今天才算是直观的观测到这个错误。
二、blinn-phong光照模型
(1)实验内容
依据blinn-phong光照模型正确生成物体图像
(2)基本原理
(3)实验结果
环境光、漫反射、高光
(4)问题记录
错误图像
其实看起来很明显,是其中一个分量的计算有问题,检查后发现是高光的向量方向反了,导致着色出现问题。