matlab雪花图形,koch曲线与koch雪花的MATLAB实现

代码

% --

function koch(Ax, Ay, Bx, By)

% 控制递归深度

Deepth = ;

% 控制图画大小

Size = ;

if ((Bx-Ax)^ + (By-Ay)^) < Deepth

plot([Ax, Bx], [Ay, By], '-r')

hold on

axis([ Size Size]);

else

Cx = Ax + (Bx-Ax)/;

Cy = Ay + (By-Ay)/;

Dx = Bx - (Bx-Ax)/;

Dy = By - (By-Ay)/;

koch(Ax, Ay, Cx, Cy);

koch(Dx, Dy, Bx, By);

L = sqrt((Dx-Cx)^ + (Dy-Cy)^);

alpha = atan((Dy-Cy)/(Dx-Cx));

% 数学

if (alpha>= && Dx-Cx

alpha = alpha + pi;

end

Ex = Cx + cos(alpha + pi/)*L;

Ey = Cy + sin(alpha + pi/)*L;

koch(Cx, Cy, Ex, Ey);

koch(Ex, Ey, Dx, Dy);

end

end

% matlab的单步调试有助于理解该递归

% 可通过设置断点观察图形是如何一步一步被画出来的

koch曲线

matlab雪花图形,koch曲线与koch雪花的MATLAB实现_第1张图片

koch雪花

matlab雪花图形,koch曲线与koch雪花的MATLAB实现_第2张图片

Koch曲线

Koch曲线是一种分形,完整的Koch曲线像雪花,维基百科上记录Koch曲线最早出现在海里格·冯·科赫的论文中,它的定义如下,给定线段AB, ...

JavaScript图形实例:Koch曲线

Koch曲线的构造过程是:取一条长度为L0的直线段,将其三等分,保留两端的线段,将中间的一段改换成夹角为60度的两个等长直线:再将长度为L0/3的4个直线段分别进行三等分,并将它们中间的一段均改换成夹 ...

Code Project精彩系列(转)

Code Project精彩系列(转)   Code Project精彩系列(转)   Applications Crafting a C# forms Editor From scratch htt ...

JavaScript动画实例:递归分形图动态展示

在“JavaScript图形实例:SierPinski三角形” 和“JavaScript图形实例:Levy曲线及其变形”等文章中我们介绍了通过递归生成分形图形的方法.我们可以将绘制的分形图形每隔一定的 ...

KochSnow曲线

在这里实现了Koch曲线,而且提到我们只需要对一个等边三角形的各条边按照Koch曲线的算法进行绘图就能得到KochSnow曲线,将其实现到之前提到的绘图框架中,考虑到KochSnow的实现主要依赖Ko ...

Matlab 霍夫变换 ( Hough Transform) 直线检测

PS:好久没更新,因为期末到了,拼命复习中.复习久了觉得枯燥,玩玩儿霍夫变换直线检测 霍夫变换的基本原理不难,即便是初中生也很容易理解(至少在直线检测上是这样子的). 霍夫变换直线检测的基本原理:(不 ...

基于MATLAB的多项式数据拟合方法研究-毕业论文

摘要:本论文先介绍了多项式数据拟合的相关背景,以及对整个课题做了一个完整的认识.接下来对拟合模型,多项式数学原理进行了详细的讲解,通过对文献的阅读以及自己的知识积累对原理有了一个系统的认识.介绍多项式 ...

python学习笔记(5)

.................................................................................................... ...

这10个Python项目超有趣!

前言: Python可谓是现在很多人正在学或者想学的一个脚本语言了,提到学习自然就少不了拿项目练手,可是一般的项目根本提不起兴趣嘛,这10个项目可是非常有趣的,不信你看看. [Python 图片转字符 ...

随机推荐

移动端城市选择JavaScript插件(基于WG的城市选择插件的修改版本)

周末的时候趁着一次机会,拿WG(博客)开发的城市选择插件改了一个移动端可以直接用的城市选择插件. 原版插件是基于原声JavaScript写的,在此先感谢作者. 我做的只是依照肯德基注册会员的页面的交互 ...

LeetCode344:Reverse String@Python

Write a function that takes a string as input and returns the string reversed. Example: Given s = &q ...

Java [Leetcode 229]Bulls and Cows

题目描述: You are playing the following Bulls and Cows game with your friend: You write down a number an ...

Linux SSh scp使用【远程文件/目录的传输】

一:Linux ssh scp的简介及作用: scp就是secure copy的简写,用于在linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器. 有时我们 ...

repeater 分页显示数据

表名:ChinaStates 控件:Repeater 查询代码DA: public class ChinaStatesDA { private DataClassesDataContext Conte ...

第10章 使用MySQL数据库

1.在数据库中插入数据:INSERT语句: 如://插入一整行: insert into customers values (NULL,'-','-','-'), - ; //插入一行中指定的列内容: ...

nginx系列1:认识nginx

nginx介绍 nginx是什么呢?可以看下官方网站的定义: nginx [engine x] is an HTTP and reverse proxy server, a mail proxy se ...

面向对象【day08】:动态导入模块(八)

本节内容 1.概述 2.知识回顾 3.动态导入模块 一.概述 我们之前导入模块都是用import,或者from ... import ....这种模式去导入模块,那如果我们如何实现只用字符串就可以导入 ...

linux alias 别名设置【转载】

功能说明:设置指令的别名. 语 法:alias[别名]=[指令名称] 形如: alias cp=“cp -i” : 补充说明:用户可利用alias,自定指令的别名.若仅输入alias,则可列出目前所有 ...

如何使用无线连接来使Android调试手机

进入Android Studio.(我的是2.2版本) File->Setting->Plugins Browse repositories... 搜索 ADB WIFI 并安装 重启An ...

你可能感兴趣的:(matlab雪花图形)