四维分形函数实现:将三维分形代码转换为四维
这段代码实际上是一个三维分形函数,而不是四维分形函数。要将其改为四维分形函数,需要在计算过程中添加第四个维度的计算。以下是修改后的代码示例:
float map(in float4 p) {
float res = 0.;
float4 c = p;
for (int i = 0; i < mapstep; ++i) {
p = .7 * abs(p) / dot(p,p) - .7;
p.yzw = csqr(p.yzw);
p = p.wxyz;
res += exp(-19. * abs(dot(p,c)));
}
return res / 2.;
}
在这个修改后的函数中,将输入参数 p 改为了四维向量,即 float4。在循环过程中,计算第四个维度的值,将其与前三个维度一起进行操作。其余部分与原始代码保持一致。
请注意,四维分形函数的具体实现可能因用途而异,上述修改仅是将原始三维分形函数添加了一个维度。具体的四维分形函数实现可能需要根据具体需求进行更多的修改。
原文地址: https://www.cveoy.top/t/topic/p1N0 著作权归作者所有。请勿转载和采集!