分形--朱利亚集合图形1

简介: /*zc为实数*/ #include "glib.h"#define KL 200#define BOX 0.01#define STEP 1int sx,sy,dx=192,dy=192;/*描绘区域*/double x_min=-2.

/*zc为实数*/

#include "glib.h"
#define KL 200
#define BOX 0.01
#define STEP 1
int sx,sy,dx=192,dy=192;
/*描绘区域*/
double x_min=-2.0,x_max=2.0,y_min=-2.0,y_max=2.0;
double x0,y0,xc=-1.35,yc=0.0;  /*复数常量*/
double a1,b1,a2,b2;

void coord(void)
{
  a1=(x_max-x_min)/(2*dx);
  b1=(x_max+x_min)/2;
  a2=(y_max-y_min)/(2*dy);
  b2=(y_max+y_min)/2;
}

void plot(int col)
{
  putpixel(sx,-sy,col);
  putpixel(sx,sy,col);
  putpixel(-sx,-sy,col);
  putpixel(-sx,sy,col);
}

void julia(void)
{
  int k;
  double s;
  static double x[KL+1],y[KL+1];
  x[0]=x0;   y[0]=y0;
  for (k=1;k<=KL;k++)
  {
 x[k]=x[k-1]*x[k-1]-y[k-1]*y[k-1]+xc;  /*实部*/
 y[k]=2*x[k-1]*y[k-1]+yc;              /*虚部*/
 s=x[k]*x[k]+y[k]*y[k];
 if (s>=4.0)
   return;
  }
  for (k=1;k<=13;k++)    /*周期点数计算*/
  {
 if (fabs(x[KL]-x[KL-k])<BOX && fabs(y[KL]-y[KL-k])<BOX)
 {
   plot(k);
   return;
 }
  }
  plot(15);
}

void main()
{
  ginit();
  setpalette(8,14);
  set0(320,200);
  coord();
  /*坐标轴的描画*/
  setcolor(7);
  rectangle(-dx,-dy,dx,dy);
  for (sx=-dx+dx/4;sx<dx;sx+=dx/4)
  {
 setlinestyle(4,0x1111,1);
 line(sx,-dy,sx,dy);
  }
  for (sy=-dy+dy/4;sy<dy;sy+=dy/4)
  {
 setlinestyle(4,0x1111,1);
 line(-dx,sy,dx,sy);
  }
  for (sx=0;sx<=dx;sx+=STEP)
  {
 x0=a1*sx+b1;     /*x的初值*/
 for (sy=0;sy<=dy;sy+=STEP)
 {
   y0=a2*sy+b2;   /*y的初值*/
   julia();
 }
  }
  /*描画区域的显示*/
  printf("\nx_min =%51.f\n",x_min);
  printf("x_max =%5.1f\n",x_max);
  printf("y_min =%5.1f\n",y_min);
  printf("y_max =%5.1f\n",y_max);
  /*复数的显示*/
  printf("xc =%6.2f\n",sx);
  printf("yc =%6.2f\n",yc);
  gend();
}

相关文章
|
负载均衡 算法 数据可视化
在 Ribbon 中如何配置服务的权重?
通过以上任意一种方法,都可以在Ribbon中实现服务权重的配置,从而更灵活地控制服务调用的负载均衡,以满足不同服务实例的性能和业务需求。具体使用哪种方法,可以根据项目的实际情况和技术选型来决定。
416 67
|
Rust 算法 安全
学习Rust
【10月更文挑战第13天】学习Rust
224 8
|
Ubuntu 编译器 开发工具
香橙派5Pro+虚拟机Ubuntu18.04交叉编译+Opencv4.7
香橙派5Pro+虚拟机Ubuntu18.04交叉编译+Opencv4.7
|
机器学习/深度学习 自然语言处理 机器人
「随笔」如何评价GPT-4o
GPT-4o,OpenAI的最新力作,以其巨大模型规模、海量训练数据及先进技术,刷新文本生成与理解的界限。它生成的文本更自然,理解力更深,支持多语言,能理解长文本上下文并整合广泛知识。同时,GPT系列展现创新与实用性,未来潜力无限,但也面临准确性、偏见等挑战。
208 0
|
Java API 数据安全/隐私保护
Spring Boot+Spring Security+JWT 实现 RESTful Api 权限控制
链接网址:https://www.jianshu.com/p/6307c89fe3fa/ 链接网址2:https://blog.csdn.net/linzhiqiang0316/article/details/78358907 jwt介绍:         JWT是一种用于双方之间传递安全信息的简洁的、URL安全的表述性声明规范。
4629 0
|
前端开发 JavaScript C++
彻底搞懂react hooks的原理和实现
彻底搞懂react hooks的原理和实现
425 31
|
编解码 缓存 NoSQL
RISC-V大赛开发套件详解(二):D1哪吒开发板Yocto介绍
RISC-V大赛开发套件详解(二):D1哪吒开发板Yocto介绍
1929 2
|
存储 监控 安全
|
域名解析 缓存 弹性计算
CDN快速入门及常见问题
本文介绍了用户使用阿里云CDN加速时的快速入门手册,包括如何添加域名、如何配置CNAME解析、如何验证CDN是否生效,并介绍了一些常见的问题。
3077 0
CDN快速入门及常见问题
|
JavaScript 前端开发 Linux
记一次Linux系统内存占用较高得排查
Linux系统slab内存使用较高
24673 0