原创:daode3056
如何求得高次方程的根、超越方程的解?现在,无论用PC、还是网络上,都能顺利解决这些问题。以下是作者创作的一些二元的方程,因一个方程中包含有两个未知数所以都有无数解,于是可以用曲线来描述它们的解空间:
使用 “并行+指针”方式,并给定一个适当的误差,在图片框中获取的图像如下:
C#语言程序关键代码:
Parallel.For(0, height, Y =>
{
//扫描行的指针:
PixelData* outPixel = fastOut.GetInitialPixelForRow(Y);
PixelData* startPixel = fastStart.GetInitialPixelForRow(Y);
//各像素处理:
for (int X = 0; X < width; X++)
{
表达式或等式:
float dx = 4*(X - ww / 2f)/(float)ww, dy = 4*(Y - hh / 2f)/(float)hh;
float rs1 = (float)Math.Pow(Math.Pow(dx, 6) - Math.Sin(5 * dy), 2);
float rs2 = (float)Math.Pow(Math.Pow(dy, 6) - Math.Cos(7 * dx), 2);
float rs = Math.Abs(rs2 - rs1);
rs = rs < 0.1 ? 0 : PI/3f;
//配色方案:
double Red = 127 + 127 * Math.Sin(rs);
double Grn = 127 + 127 * Math.Sin(2*rs);
double Blu = 127 + 127 * Math.Sin(3*rs);
outPixel->R = (byte)Red; outPixel->G = (byte)Grn; outPixel->B = (byte)Blu;
//指针移动:
outPixel++; startPixel++;
}
});
同样的方程,也在三维环境中试试:
现在,将三角函数中的两处角,用互质的整数以提高频率,让图像更丰富:
再提高x,y的幂到六次方,进一步增加图像信息丰度:
对换x6、y6位置,让图像更加清晰:
再提高三角函数角变量处的倍数到17、19,以提高频率,以模拟芯片的外形:
有诸多超越方程的解空间都很美,只是我们要去发现它。
算法设计与编程:
daode3056
2022年10月22日