谢尔宾方毯

绘图库:Easy Graphics Engine (EGE)
编程语言:c++

n=1

n=2

n=3

n=4

n=5

代码:

#include <graphics.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
#include <time.h>
const double pi = 3.1415926536;struct Point
{double x;double y;
};Point Rotate(Point p1, Point p2, double A)
{Point r;r.x = p1.x + (p2.x - p1.x) * cos(A) + (p2.y - p1.y) * sin(A);r.y = p1.y + (p2.y - p1.y) * cos(A) - (p2.x - p1.x) * sin(A);return r;
}Point Zoom(Point p1, Point p2, double a)
{Point r;r.x = p1.x + (p2.x - p1.x) * a;r.y = p1.y + (p2.y - p1.y) * a;return r;
}
void Draw3(Point p1, Point p2,int n)//方毯
{if(n>0){Point p3,p4,p5,p6,p7,p8;p3.x=p1.x+(p2.x-p1.x)/3;p3.y=p1.y+(p2.y-p1.y)/3;p4.x=p1.x+2*(p2.x-p1.x)/3;p4.y=p1.y+2*(p2.y-p1.y)/3;p5=Rotate(p3,p1,270*pi/180);p8=Rotate(p3,p1,90*pi/180);p6=Rotate(p4,p2,90*pi/180);p7=Rotate(p4,p2,270*pi/180);//setcolor(RED);setcolor(CYAN);line_f(p1.x,p1.y,p3.x,p3.y);line_f(p4.x,p4.y,p2.x,p2.y);line_f(p3.x,p3.y,p8.x,p8.y);line_f(p3.x,p3.y,p5.x,p5.y);line_f(p4.x,p4.y,p6.x,p6.y);line_f(p4.x,p4.y,p7.x,p7.y);line_f(p7.x,p7.y,p8.x,p8.y);line_f(p5.x,p5.y,p6.x,p6.y);//setcolor(WHITE);setcolor(BLACK);line_f(p3.x,p3.y,p4.x,p4.y);Draw3(p1,p3,n-1);Draw3(p3,p8,n-1);Draw3(p8,p7,n-1);Draw3(p7,p4,n-1);Draw3(p4,p2,n-1);Draw3(p4,p6,n-1);Draw3(p6,p5,n-1);Draw3(p3,p5,n-1);}
}
int main()
{int n=5;struct Point p1,p2,p3;p1.x=300;p1.y=10;p2.x=300;p2.y=590;printf("             谢尔宾方毯\n");printf("\n\n");initgraph(600,600);Draw3(p1,p2,n);getch();closegraph();return 0;
}

数学分形之谢尔宾方毯相关推荐

  1. 数学分形之谢尔宾三角形

    谢尔宾三角形 绘图库:Easy Graphics Engine (EGE) 编程语言:c++ 代码: #include <graphics.h> #include <stdio.h& ...

  2. python与分形0009 - 谢尔宾斯基地毯

    分形介绍 分形是一个悖论. 它惊人的简单,却又无限的复杂. 它很新,却又比尘埃更古老. 分形是什么?它们是从哪里来的?我们为什么要在乎? 20世纪非传统的数学家Benoit Mandelbrot在19 ...

  3. 混沌分形之谢尔宾斯基(Sierpinski)

    本文以使用混沌方法生成若干种谢尔宾斯基相关的分形图形. (1)谢尔宾斯基三角形 给三角形的3个顶点,和一个当前点,然后以以下的方式进行迭代处理: a.随机选择三角形的某一个顶点,计算出它与当前点的中点 ...

  4. 简单分形(谢尔宾斯基三角形和地毯)

    对于分形,我的理解就是:由小元件组成整体,然后再用另一或相同整体替换元件形成的循环迭代图形. 下面以谢尔平斯基三角形为例,介绍下最简单的分形思路. 第一步,先构造一个正三角形,取正三角形三边中点并连线 ...

  5. 分形之谢尔宾斯基(Sierpinski)地毯

    前面讲了谢尔宾斯基三角形,和这一节的将把三角形变为正方形,即谢尔宾斯基地毯,它是由瓦茨瓦夫·谢尔宾斯基于1916年提出的一种分形,是自相似集的一种. 谢尔宾斯基地毯的构造与谢尔宾斯基三角形相似,区别仅 ...

  6. sierpinski三角形的维数_谢尔宾斯基(Sierpinski)三角形

    分形之谢尔宾斯基(Sierpinski)三角形 谢尔宾斯基三角形(英语:Sierpinski triangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出,它是一种典型的自相似集.也有的资料将 ...

  7. 分形——谢尔宾斯基三角形

    分形--谢尔宾斯基三角形 普通几何学研究的对象,一般都具有整数的维数.比如,零维的点.一维的线.二维的面.三维的立体.乃至四维的时空.在20世纪70年代末80年代初,产生了新兴的分形几何学(fract ...

  8. 混沌与分形(一):谢尔宾斯基三角形与门格海绵

    研究混沌运动,少不了对分形理论的探讨.分形:通常被定义为"一个粗糙或零碎的几何形状,可以分成数个部分,且每一部分都(至少近似地)是整体缩小后的形状",即具有自相似的性质. 本篇将从 ...

  9. python绘制分形图基础_Python 绘制分形图(曼德勃罗集、分形树叶、科赫曲线、分形龙、谢尔宾斯基三角等)附代码...

    1. 曼德勃罗集 import numpy as np import pylab as pl import time from matplotlib import cm def iter_point( ...

最新文章

  1. UVA122 树的层次遍历 Trees on the level(两种方法详解)
  2. python用二分法求平方根_Python使用二分法求平方根的简单示例
  3. 使用akka构建高并发程序_如何使用Akka Cluster创建简单的应用程序
  4. HDU 4548 美素数 素数题解
  5. 从Maven远程存储库下载
  6. 数字通信同步技术的matlab与fpga实现_数字通信电缆行业规模情况及趋势分析(附报告目录)...
  7. python字典是什么数据结构_数据结构-Python 字典
  8. LeetCode:递归思想的延伸,从斐波那契数列到爬楼梯模型
  9. java的编程规范_JAVA编程规范-OOP规范
  10. AIX添加ASM的裸盘
  11. Php clearstatcache() 函数详解
  12. 使用Rufus制作系统启动盘
  13. Labview 气体/温度检测系统
  14. tcp/ip协议栈总结
  15. 【uniapp】小程序添加通过卡号查找银行名并添加绑定等逻辑
  16. python交互式日历制作_python tkinter制作日历界面的简单步骤
  17. 北京办理互联网经营许可证(ICP证)的要求
  18. Python学习(二)列表,for循环,切片,元组
  19. 独立操作按钮操作后自动失焦
  20. 校园网GiWiFi模拟登陆

热门文章

  1. python绘制图形微格课_什么是微格教学-海天清泓                          -51CTO博客...
  2. 如何清理占用计算机内存,win10如何清理电脑内存占用高怎么办
  3. Windows驱动开发入门 -- HelloWorld
  4. IDEA总结 磨刀霍霍向代码
  5. 设计数据密集型应用之数据系统基础知识
  6. 基于微服务的司机注册与实名认证(活体检测)
  7. 继承2019.06.13
  8. 【身份证识别】基于matlab GUI身份证号码识别【含Matlab源码 014期】
  9. Luckysheet的使用
  10. FCKeditor配置与使用