我下载了POV-ray,并渲染了这种有光泽的90年代金属球体样式:
您的任务是做同样的事情,但要通过自己以尽可能少的字节实现渲染引擎来实现。您不必复制此精确图像-只要符合以下条件,无穷棋盘上方反射球的任何图像都可以。
规则:
该图像必须描绘出一个悬在无限棋盘上方的反射球体。图像本身必须同时显示棋盘本身及其在球体中的反射。必须在视觉上清楚地知道这就是我们所看到的。除此之外,几何形状,颜色,材料属性等的详细信息取决于您。
场景中必须有一些照明:球体的某些部分应该比其他部分更暗,并且在视觉上应该可以大致分辨出光线的来源。除此之外,照明模型的细节由您决定。(如果愿意,可以发明自己的简化照明模型。)球体不必投射阴影。
以上两个标准-是否真的看起来像是被光源照亮的棋盘上方的发光球-将由社区使用投票进行判断。因此,答案必须有一个积极的分数,才有资格获胜。
输出必须至少为300x300像素。可以将其显示在屏幕上或写入文件,也可以。
您的代码应该在一台合理的现代计算机上运行不到一个小时。(这很慷慨-POV射线实际上是在瞬间渲染上述场景。)
不能使用内置的光线跟踪功能-您必须自己实现渲染器。
这是code-golf,因此具有最短代码(以字节为单位)的正得分条目将获胜。但是,也欢迎您玩一幅通过画一幅漂亮的图画来获得最多选票的元游戏(同时当然要使代码尽量简短)。
这个挑战看似很难,但由于几何形状是固定的,因此通过光线跟踪渲染这种场景的算法非常简单。这实际上只是在输出图像中的每个像素上进行迭代并评估数学表达式以查看其应为哪种颜色的情况,因此,我很乐意看到一些好的答案。