本书作者给的代码实现中包含了很多类,所以理解起来有点困难。并且因为作者给的代码不能直接运行(编译会报错),我重新按照作者的结构实现了一下,不过去掉了Point3D这个类,所有三维的点都用Vector3D表示。输出的图像为PPM格式,代码运行环境为Archlinux,没在windows环境下测试过。