数学研发论坛

 找回密码
 欢迎注册
楼主: 无心人

[转载] 精美几何美图

[复制链接]
发表于 2009-1-1 13:55:55 | 显示全部楼层
漂亮!数学真的很美
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-4-13 18:00:14 | 显示全部楼层
太美了,楼主辛苦了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-4-21 10:29:05 | 显示全部楼层
我用matlab画过一个分形的,虽不如前面那些精致,但也朴素好看

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?欢迎注册

x
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-6-21 20:41:21 | 显示全部楼层
我也发几张漂亮的图片供大家欣赏

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?欢迎注册

x

评分

参与人数 1鲜花 +1 收起 理由
winxos + 1 精彩!

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-6-22 07:36:01 | 显示全部楼层
啊,这是立体的分形图。
虽然分形本身的维数就是“分数”维的。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-6-22 15:48:54 | 显示全部楼层
本帖最后由 数学星空 于 2009-6-22 15:53 编辑

[呵,我再几张极小曲面图供大家欣赏







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?欢迎注册

x

评分

参与人数 1鲜花 +1 收起 理由
winxos + 1 最后一个曲面像接头O(∩_∩)O~

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-7-24 20:58:50 | 显示全部楼层
感觉上面,有一张图是openGL的作品,其他的都是Mathematica画出来的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-9-21 18:59:27 | 显示全部楼层
怎么做出来的啊?很想知道,\(^o^)/~
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-12-18 22:56:53 | 显示全部楼层
好东西,要分享。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-12-19 14:33:33 | 显示全部楼层
本帖最后由 KeyTo9_Fans 于 2009-12-19 14:46 编辑

我的头像挺精致的吧?

其实做这样的图片只需写短短的几行代码就可以了:

  1. #include<cstdio>

  2. char hd[54]={66,77,38,106,0,0,0,0,0,0,54,0,0,0,40,0,0,0,0,8,0,0,0,6,
  3. 0,0,1,0,24,0,0,0,0,0,-16,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  4. int i,j,k,l,n,m,B,G,R;
  5. double a,b,x,y,z,p,px,py;

  6. int main()
  7. {
  8.         printf("宽度 高度 横坐标 纵坐标 放大倍数: ");
  9.         scanf("%d%d%lf%lf%lf",&m,&n,&px,&py,&p);
  10.         FILE *f=fopen("KeyTo9_Fans.bmp","wb");
  11.         hd[18]=m&255;
  12.         hd[19]=m>>8;
  13.         hd[22]=n&255;
  14.         hd[23]=n>>8;
  15.         for(i=0;i<54;i++)
  16.                 fprintf(f,"%c",hd[i]);
  17.         for(i=0;i<n;i++)
  18.         {
  19.                 if((i+1)*80/n>i*80/n)printf("|");
  20.                 for(j=0;j<m;j++)
  21.                 {
  22.                         a=(j-m/2+0.5)/m/p+px;
  23.                         b=(i-n/2+0.5)/m/p+py;
  24.                         l=1;x=0;y=0;
  25.                         for(k=-64;k<1024;k++)
  26.                         {
  27.                                 z=x*x-y*y+a;
  28.                                 y=2*x*y+b;
  29.                                 x=z;
  30.                                 if(x*x+y*y>4)
  31.                                 {
  32.                                         if(k<=0){B=255;G=191-k;R=255;}
  33.                                         if(0<k&&k<64){B=255;G=191;R=255-k;}
  34.                                         if(63<k&&k<128){B=255;G=127+k;R=255-k;}
  35.                                         if(127<k&&k<256){B=383-k;G=255;R=127;}
  36.                                         if(255<k&&k<384){B=383-k;G=255;R=k-128;}
  37.                                         if(383<k&&k<640){B=0;G=639-k;R=255;}
  38.                                         if(639<k&&k<768){B=k-639;G=0;R=895-k;}
  39.                                         if(767<k&&k<896){B=127;G=0;R=895-k;}
  40.                                         if(k>895){B=1023-k;G=0;R=0;}
  41.                                         fprintf(f,"%c%c%c",B,G,R);
  42.                                         l=0;break;
  43.                                 }
  44.                         }
  45.                         if(l)fprintf(f,"%c%c%c",0,0,0);
  46.                 }
  47.         }
  48.         return 0;
  49. }
复制代码
附件是该代码编译出来的可执行程序,即使没有编程工具也可以运行。

运行程序,按如下格式输入5个参数就可以生成一张图片:

896 672 -0.16143 1.03879 20000

这5个参数分别是图片宽度、图片高度、中心点横坐标、中心点纵坐标、放大倍数。

我的头像正是用这组参数生成的。

放大倍数理论上多大都没问题,但由于计算机进行实数运算的精确程度有限,所以最高放大倍数只能达到10万亿倍左右,再放大就变成巨大的方块了。

注意:图片宽度和图片高度必须是4的倍数,不然生成出来的图片好像会囧掉*_*

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?欢迎注册

x

评分

参与人数 1鲜花 +5 收起 理由
wayne + 5 谢谢你的代码,收藏了

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2019-6-19 03:39 , Processed in 0.057084 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表