针对上一章节的最后输出图片,进行debug。
中间那个白色夹杂着红色的圈是什么鬼???
第一步:去掉绿圆环
第二步:将单个像素点的采样次数改为1
那个多余的白色夹杂着红色的圈的颜色之所以是白色偏红色,是因为:多次采样中可能一次出现红色而其他其次都是白色,所以作为最终像素点颜色的多次采样的平均值就是白色偏红色。之前单个像素点采样是100次。
放大5倍后截图:
第三步:针对下方多余像素点进行分析
图中多余的红色像素点,我们认为是多余的。但是,计算机之所以在某个位置生成一个红色像素点,是因为,它认为光线和圆环在这个位置相撞了。也就是说,这个位置对应这光线方程和圆环方程联立后的一个有效实根。
在代码中添加如下红色字体代码,去掉Y坐标小于3.4的“有效实根”
for (int k=1;k<int(roots[0])+1; k++) {
if (roots[k]< t_max && roots[k] > t_min) {
r