自然密码,数学之美-IFS分形图

发布于: Android转发:4回复:10喜欢:2

IFS分形图体现了作为自然密码的数学之美。简单的ax+by+c坐标变换,通过几百万次迭代竟可以产生如此美妙的图形,充分体现了自然的神奇。

儿子学习C++算法比较枯燥,搞点神奇的数学分形图,又激发了他学习编程的浓厚兴趣。

原创C++通用IFS分形图程序和各图形的IFS码如下,感兴趣的可以自己探索神奇的分形图计算机绘图。程序生成DXF图形交换文件,可以直接在AUTOCAD中打开,图分四个图层,可自行修改颜色。

#include<bits/stdc++.h> 

#include<iostream>

#include "stdio.h"

#include<cstdio>

#include "math.h"

int main()

{

float x,y,u,x0,y0;

float xs[5][8];

int e,k,n,j;

for (int i=1;i<=4;i++)

for(j=1;j<=7;j++)

scanf("%f",&xs[i][j]);

scanf("%d",&n);

printf("输入 ok\n"); getchar(); 

x=0; y=0;

freopen("ifscya2.dxf","w",stdout);

printf("0\n");

printf("SECTION\n");

printf("2\n");

printf("ENTITIES\n");

for(int i=1;i<=n;i++)

{

srand((unsigned int)(time(NULL))*(unsigned int)(time(NULL))*rand()+rand()%100);

e=rand()%100;

if (e<xs[1][7]*100) j=1;

else if (e<(xs[1][7]+xs[2][7])*100) j=2;

else if (e<(xs[1][7]+xs[2][7]+xs[3][7])*100) j=3; 

else j=4;

x0=x;y0=y;

 x=xs[j][1]*x0+xs[j][2]*y0+xs[j][5]; 

 y=xs[j][3]*x0+xs[j][4]*y0+xs[j][6]; 

printf("0\n");

printf("POINT\n");

printf("8\n");

printf("%d\n",j);

printf("10\n");

printf("%10.4f\n",x*100);

printf("20\n");

printf("%10.4f\n",y*100);

}

printf("0\n");

printf("ENDSEC\n");

printf("0\n");

printf("EOF\n");

fclose(stdout);

}

第一个原创蕨叶的ifs码:0.333 0 0 0.333 0 0 0.25  0.167 -0.288 0.288 0.167 0.333 0 0.25  0.167 0.288 -0.288 0.167 0.5 0.288 0.25  0.333 0 0 0.333 0.667 0 0.25 2000000

第三张云图的ifs码:0.787879 -0.424242 0.242424 0.859848 1.758647 1.408065 0.90  -0.121212 0.257576 0.151515 0.053030 -6.721654 1.377236 0.05  0.181818 -0.136364 0.090909 0.181818 6.086107 1.568035 0.05  0 0 0 0 0 0 0 2000000

树冠的IFS码:

-0.04 0 -0.19 -0.47 -0.12 0.3 0.25  -0.65 0 0 0.36 0.06 1.56 0.25  0.41 0.46 -0.39 0.61 0.46 0.4 0.25  0.52 -0.35 0.25 0.74 -0.48 0.38 0.25 2000000


全部讨论

2021-08-08 00:38

IFS分形图真的很强大,学习了三维仿射变换终于搞定了三维分形图。三维IFS码由平面的28个增加到了65个,手工设计计算三维树的分形码,向量矩阵转换,空间旋转总搞晕,整整一个晚上才搞好。
著名的平面谢尔宾斯基三角,拓展到三维的正三棱锥和四楞锥反倒是没那么复杂。

2021-08-08 00:38

图片评论

2021-08-08 00:37

三维树

2021-08-08 00:37

图片评论

2021-08-01 19:53

ifs分形图很神奇,通过研究真正理解了仿射变换,开始是搜现成的IFS码,用程序绘出图形欣赏。
百度搜索阅读了大量相关文章和论文,彻底搞懂后,现在可以按照向量仿射变换和迭代规则,自己先设计计算出IFS码按自己的意愿想法去生成图形了。
上面两张树木和风中的野草就是先根据构思设计,然后计算得出IFS码后用程序生成的。

2021-08-01 19:40

图片评论

2021-07-29 07:47

行情不好,放松一下,欣赏一下数学之美。数学真的是蕴藏着自然奥秘的神奇密码。
有好看分形图的IFS码和图的可以共享一下。
@邢台草帽 @ice_招行谷子地 $宁德时代(SZ300750)$ $招商银行(SH600036)$ $中芯国际(SH688981)$