Algorithm 程序纹理算法中的清晰度?
在本页的大图部分给出了一个表格,用于比较3种不同功能的不同组合。让左边的函数为Algorithm 程序纹理算法中的清晰度?,algorithm,math,textures,procedural-generation,Algorithm,Math,Textures,Procedural Generation,在本页的大图部分给出了一个表格,用于比较3种不同功能的不同组合。让左边的函数为y=f(x)那么函数的平均值、差值、加权和、4%阈值呢?我需要一个数学方程,用y这一页解释了一切: 这里有一些简单、枯燥的函数,当它们与越来越小的版本反复组合时,会创建非常有趣的模式。下表显示了基本的源模式(左),以及使用各种组合方法将该模式与较小版本的模式进行组合 平均值(1/n)-这只是所使用的所有刻度的平均值,“n”是刻度的总数。因此,如果有6个刻度,每个刻度贡献最终值的16%(1/6) 差异-使用每个比例的颜色
y=f(x)
那么函数的平均值、差值、加权和、4%阈值呢?我需要一个数学方程,用y
这一页解释了一切:
这里有一些简单、枯燥的函数,当它们与越来越小的版本反复组合时,会创建非常有趣的模式。下表显示了基本的源模式(左),以及使用各种组合方法将该模式与较小版本的模式进行组合
平均值(1/n)-这只是所使用的所有刻度的平均值,“n”是刻度的总数。因此,如果有6个刻度,每个刻度贡献最终值的16%(1/6)
差异-使用每个比例的颜色值之间的差异作为最终纹理颜色
加权和(1/2^n)加权和与平均值非常相似,只是较大的刻度有更多的权重。随着“n”的增加,该比例的贡献减小。最小的刻度(n的最大值)的影响最小。这种方法是最常见的,并且通常是视觉上最令人愉悦的
4%阈值-这是加权和的一个版本,其中低于48%的灰度值变为黑色,高于52%的灰度值变为白色
让我们使用平均值和检查器函数。您正在平均多次重复的不同图像,在其示例中为6个,但在以下示例中为3个:
因此,输出图像的每个像素是来自其他图像的像素值的平均值。您可以拥有任意数量的这些图像,并且它们的构建方式始终相同:级别n
的图像由4个平铺组成,这4个平铺是级别n-1
的图像大小的四分之一。然后,从所有这些图片中,应用上述函数中的一个,只得到一个
现在清楚了吗?然而,通常很难给出定义每个图像的函数f
。然而,即使伪码和数学中的1个输出(y=f(x1,x2,.xn)
)存在n
输入(x
s),也定义了“复合”函数:
- 平均值(1/n)-对于
级别,n
最终_像素[x][y]=图像_i[x][y]/n从1到n的i之和
- 差异-对于
级别,n
--对此不完全确定最终像素[x][y]=图像从2到n到n的i之和[x][y]-图像\u i-1[x][y]
- 加权和(1/2^n)-对于
级别,n
final_像素[x][y]=图像从1到n的i的和[x][y]/(2**n)
- 4%阈值-对于
级别n
value=图像i[x][y]/(2**n)从1到n的i之和
如果值/最大值>0.52,则最终像素[x][y]=白色
否则,如果值/最大值<.48,则最终像素[x][y]=黑色;
else final_像素[x][y]=值
其中,2**n
是n的幂的2
value = sum for i from 1 to n of image_i[x][y]/(2**n)
if value/max_value > .52 then final_pixel[x][y]=white
else if value/max_value < .48 then final_pixel[x][y]=black;
else final_pixel[x][y]=value