数学分形之谢尔宾方毯
谢尔宾方毯
绘图库: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;
}
数学分形之谢尔宾方毯相关推荐
- 数学分形之谢尔宾三角形
谢尔宾三角形 绘图库:Easy Graphics Engine (EGE) 编程语言:c++ 代码: #include <graphics.h> #include <stdio.h& ...
- python与分形0009 - 谢尔宾斯基地毯
分形介绍 分形是一个悖论. 它惊人的简单,却又无限的复杂. 它很新,却又比尘埃更古老. 分形是什么?它们是从哪里来的?我们为什么要在乎? 20世纪非传统的数学家Benoit Mandelbrot在19 ...
- 混沌分形之谢尔宾斯基(Sierpinski)
本文以使用混沌方法生成若干种谢尔宾斯基相关的分形图形. (1)谢尔宾斯基三角形 给三角形的3个顶点,和一个当前点,然后以以下的方式进行迭代处理: a.随机选择三角形的某一个顶点,计算出它与当前点的中点 ...
- 简单分形(谢尔宾斯基三角形和地毯)
对于分形,我的理解就是:由小元件组成整体,然后再用另一或相同整体替换元件形成的循环迭代图形. 下面以谢尔平斯基三角形为例,介绍下最简单的分形思路. 第一步,先构造一个正三角形,取正三角形三边中点并连线 ...
- 分形之谢尔宾斯基(Sierpinski)地毯
前面讲了谢尔宾斯基三角形,和这一节的将把三角形变为正方形,即谢尔宾斯基地毯,它是由瓦茨瓦夫·谢尔宾斯基于1916年提出的一种分形,是自相似集的一种. 谢尔宾斯基地毯的构造与谢尔宾斯基三角形相似,区别仅 ...
- sierpinski三角形的维数_谢尔宾斯基(Sierpinski)三角形
分形之谢尔宾斯基(Sierpinski)三角形 谢尔宾斯基三角形(英语:Sierpinski triangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出,它是一种典型的自相似集.也有的资料将 ...
- 分形——谢尔宾斯基三角形
分形--谢尔宾斯基三角形 普通几何学研究的对象,一般都具有整数的维数.比如,零维的点.一维的线.二维的面.三维的立体.乃至四维的时空.在20世纪70年代末80年代初,产生了新兴的分形几何学(fract ...
- 混沌与分形(一):谢尔宾斯基三角形与门格海绵
研究混沌运动,少不了对分形理论的探讨.分形:通常被定义为"一个粗糙或零碎的几何形状,可以分成数个部分,且每一部分都(至少近似地)是整体缩小后的形状",即具有自相似的性质. 本篇将从 ...
- python绘制分形图基础_Python 绘制分形图(曼德勃罗集、分形树叶、科赫曲线、分形龙、谢尔宾斯基三角等)附代码...
1. 曼德勃罗集 import numpy as np import pylab as pl import time from matplotlib import cm def iter_point( ...
最新文章
- UVA122 树的层次遍历 Trees on the level(两种方法详解)
- python用二分法求平方根_Python使用二分法求平方根的简单示例
- 使用akka构建高并发程序_如何使用Akka Cluster创建简单的应用程序
- HDU 4548 美素数 素数题解
- 从Maven远程存储库下载
- 数字通信同步技术的matlab与fpga实现_数字通信电缆行业规模情况及趋势分析(附报告目录)...
- python字典是什么数据结构_数据结构-Python 字典
- LeetCode:递归思想的延伸,从斐波那契数列到爬楼梯模型
- java的编程规范_JAVA编程规范-OOP规范
- AIX添加ASM的裸盘
- Php clearstatcache() 函数详解
- 使用Rufus制作系统启动盘
- Labview 气体/温度检测系统
- tcp/ip协议栈总结
- 【uniapp】小程序添加通过卡号查找银行名并添加绑定等逻辑
- python交互式日历制作_python tkinter制作日历界面的简单步骤
- 北京办理互联网经营许可证(ICP证)的要求
- Python学习(二)列表,for循环,切片,元组
- 独立操作按钮操作后自动失焦
- 校园网GiWiFi模拟登陆