我正在尝试创建一个使用不常见的多边形渐变填充的应用程序。这个想法是,多边形的每一条边都有一种颜色,这些边缘颜色用来填充平滑渐变中多边形的其余像素。
我有一个工作程序,它通过为每个像素确定它离所有多边形的边有多远,并根据到它们的距离对所有边的颜色进行加权平均,来执行这种渐变。以下是示例输出:
问题是,当多边形有很多边时,算法非常慢,也就是说,因为对于每个像素,它必须计算到每条边的距离。有什么想法可以加速这一过程吗?
当前算法:
for pixel in polygon: # predetermined using a basic scan-line polygon-fill algor
对于学校作业,我需要创建一个.ppm文件,它是一个从一种颜色到另一种颜色的渐变,使用C++。我还必须定义.ppm文件的列和行数。我不知道如何从数学上创建渐变颜色。有人能帮助数学和代码来实现这一点吗?
到目前为止,我已经能够输出颜色,我只是不知道如何使它渐变。
到目前为止,我的代码如下:
#include <iostream>
#include <fstream>
using namespace std;
struct Color{
int r;
int g;
int b;
};
void Grad(int rows, int cols, C