分形之列维(levy)曲线】的更多相关文章

莱维C形曲线(Lévy C curve)是个自我相似的分形,最先由保罗·皮埃尔·莱维在1938年的论文Plane or Space Curves and Surfaces Consisting of Parts Similar to the Whole描述和观察.levy曲线分形是将一条线段不停地分形成两条长度相等且相互垂直的线段,而生成的. levy分形的最后很像一个英文字母C,其核心分形代码如下: static void FractalC(const Vector3& vStart, con…
龙形曲线(Dragon Curve)又叫分形龙,是一种自相似碎形曲线的统称,因形似龙的蜿蜒盘曲而得名. 一种简单的生成分形龙的方式是:拿着一条细长的纸带,把它朝下的一头拿上来,与上面的一头并到一起.用一句简单的话说,就是将纸带对折.接着,把对折后的纸带再对折,又再对折,重复这样的对折几十次……这就生成了分形龙的图形. 上一节讲的是分形之列维(levy)曲线,它是将一条线段不停地分形成两条长度相等且相互垂直的线段,而生成的.分形龙的生成方式与列维曲线相似,也是将线段不停地分形成两条长度相等且相互垂…
这里提供18个几何线段分形的GIF动画图像.图形颜色是白色,背景色为黑色,使用最基本的黑与白以表现分形图形. (1)科赫(Koch)雪花   (2)列维(levy)曲线   (3)龙形曲线(Dragon Curve)   (4)C折线   (5)谢尔宾斯基(Sierpinski)三角形   (6)谢尔宾斯基(Sierpinski)地毯   (7)谢尔宾斯基(Sierpinski)四面体   (8)拆分三角形   (9)分形树(Tree)   (10)分形二叉树(Binary Tree)    (…
前面讲了列维(levy)曲线,它是将一条线段不停地分形成两条长度相等且相互垂直的线段而生成.还有分形龙也是将一个线段对折成夹角为90度的两个线段.这一节展示的是将线段不停地分形成两条长度相等且夹角不固定的线段而生成图形.这如同将一条线段变成等腰三角形,原线段为等腰三角形的底边,新生成的线段为等腰三角形的腰边.通过设置底角的角度,改变分形图形. 核心代码: static void FractalAngleC(const Vector3& vStart, const Vector3& vEnd…
上一篇文章讲的是分形之树(Tree),这一篇中将其简化一下,来展示二叉分形树的生长过程. 核心代码: static void FractalBinaryTree(const Vector3& vStart, const Vector3& vEnd, Yreal angle, Yreal branch_c, Vector3* pVertices) { Vector3 vSub = vEnd - vStart; Yreal len = D3DXVec3Length(&vSub); Yr…
在“JavaScript图形实例:SierPinski三角形” 和“JavaScript图形实例:Levy曲线及其变形”等文章中我们介绍了通过递归生成分形图形的方法.我们可以将绘制的分形图形每隔一定的时间间隔后,增加递归深度重新绘制一次,这样就可以得到分形图形的动态生成效果. 1.SierPinski垫片 递归深度depth从1开始,将递归绘制的SierPinski垫片每隔1秒后增加递归深度(depth++),重新绘制一遍,得到SierPinski垫片的动态生成动画效果. 编写如下的HTML代码…
1890年,意大利数学家皮亚诺(Peano G)发明能填满一个正方形的曲线,叫做皮亚诺曲线.后来,由希尔伯特作出了这条曲线,又名希尔伯特曲线.Hilbert-Peano曲线是一种分形图形,它可以画得无限复杂.它的初始图元是正方形,在迭代生成的过程中,不断细化出小的正方形,图中的线段其实是用于连接各正方形的连线.它的特点是蜿蜒曲折.一气呵成,能经过平面上某一正方形区域内所有的点.希尔伯特曲线是一种奇妙的曲线,只要恰当选择函数,画出一条连续的参数曲线,当参数t在0,1区间取值时,曲线将遍历单位正方形…
之前一直做的是应用类,这次抽时间,参考网上资料实践了下SurfaceView.目标是在页面上画一个科赫曲线的分形图. 代码如下: package com.example.fredric.demo02; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics…
部分与整体以某种形式相似的形,称为分形. 首先我们举个例子:        我们可以看到西兰花一小簇是整个花簇的一个分支,而在不同尺度下它们具有自相似的外形.换句话说,较小的分支通过放大适当的比例后可以得到一个与整体几乎完全一致的花簇.因此我们可以说西兰花簇是一个分形的实例. 分形一般有以下特质: 在任意小的尺度上都能有精细的结构: 太不规则,以至难以用传统欧氏几何的语言描述: (至少是大略或任意地)自相似豪斯多夫维数会大於拓扑维数: 有著简单的递归定义. (i)分形集都具有任意小尺度下的比例细…
Koch曲线是一种分形,完整的Koch曲线像雪花,维基百科上记录Koch曲线最早出现在海里格·冯·科赫的论文<关于一条连续而无切线,可由初等几何构作的曲线>中,它的定义如下,给定线段AB,科赫曲线可以由以下步骤生成: 将线段分成三等份(AC,CD,DB) 以CD为底,向外(内外随意)画一个等边三角形DMC 将线段CD移去 分别对AC,CM,MD,DB重复1~3 完整的Koch雪花是由一个等边三角形分别按照以上步骤得到的分形曲线. 一些关于Koch曲线的介绍: http://en.wikiped…
目前笔者接触过的分形主要有一下几种: 1.类似Clifford的分形.这种分形的特点是:分形的初始坐标为(0,0),通过初始坐标经过大量的迭代,得到一系列的点,根据得到的点来绘制分形曲线.这类分形的参数有限,可以很简单的实现. 2.类似IFS fern这样的分形.这种分形比上一种分形具有更多的参数,值得注意的是IFS fern分形的参数列表中有一项P值,该值表示的是各组不同的参数应该出现的概率,如果这个值没用上是无法得到想要的图形的. 3.类似Mandelbrot这样的分形.这种分形涉及到了复数…
链接: 这10个Python项目很有趣! Python 绘制分形图(曼德勃罗集.分形树叶.科赫曲线.分形龙.谢尔宾斯基三角等)附代码 使用Python生成树形图案 神奇的代码:用 Python 生成分形图片 python使用递归实现一个分形图形 使用python语言表达分形与递归 关于sys: Python标准库之Sys模块使用详解 python之sys.stdout.sys.stdin python学习笔记27(python中sys模块的使用) 关于crf模型: crf训练模型 系统学习机器学…
科赫曲线是一种分形.其形态似雪花,又称科赫雪花.雪花曲线.瑞典人科赫于1904年提出了著名的“雪花”曲线,这种曲线的作法是,从一个正三角形开始,把每条边分成三等份,然后以各边的中间长度为底边.分别向外作正三角形,再把“底边”线段抹掉,这样就得到一个六角形,它共有12条边.再把每条边三等份,以各中间部分的长度为底边,向外作正三角形后,抹掉底边线段.反复进行这一过程,就会得到一个“雪花”样子的曲线.这曲线叫做科赫曲线或雪花曲线. 给定线段AB,科赫曲线可以由以下步骤生成:      (1)将线段分成…
前面讲了谢尔宾斯基三角形,它是不停地将一个三角形拆分三个与之相似的三角形.这一节给大家展示的图形是将一个等腰钝角三角形不停地拆分两个与之相似的三角形. 核心代码: static void SplitTriangle(const Vector3& v1, const Vector3& v2, const Vector3& v3, Yreal angle, Vector3* pVertices) { Vector3 dir12 = v1 - v2; Yreal len12 = D3DX…
皇冠分形曲线 核心代码: static void FractalCrown(const Vector3& vStart, const Vector3& vEnd, Vector3* pVertices) { Vector3 vSub = vEnd - vStart; Yreal len = D3DXVec3Length(&vSub); pVertices[] = vStart; pVertices[] = vEnd; Yreal alfa = atan2f(vSub.y, vSub…
原创 标题:希尔伯特曲线 希尔伯特曲线是以下一系列分形曲线 Hn 的极限.我们可以把 Hn 看作一条覆盖 2^n × 2^n 方格矩阵的曲线,曲线上一共有 2^n × 2^n 个顶点(包括左下角起点和右下角终点),恰好覆盖每个方格一次. [p1.png] Hn(n > 1)可以通过如下方法构造:1. 将 Hn-1 顺时针旋转90度放在左下角2. 将 Hn-1 逆时针旋转90度放在右下角3. 将2个 Hn-1 分别放在左上角和右上角4. 用3条单位线段把4部分连接起来 对于 Hn 上每一个顶点 p…
著名的折纸问题:给你一张很大的纸,对折以后再对折,再对折……每次对折都是从右往左折,因此在折了很多次以后,原先的大纸会变成一个窄窄的纸条.现在把这个纸条沿着折纸的痕迹打开,每次都只打开“一半”,即把每个痕迹做成一个直角,那么从纸的一端沿着和纸面平行的方向看过去,会看到一条美妙的曲线. 就是一个分形,规定一下,纸的朝向,然后不难发现规律. 实现方面,可以迭代也可递归. 在图形输出方面,存下x和y坐标,然后下标排个序,或者用map. //Rey 2015.8.3 #include<bits/stdc…
科赫曲线是一种分形,其形态非常像雪花,因此又被称作科赫雪花.雪花曲线. 下面是用python的turtle包让我们来实时画一个 import turtledef koch(t,n): #定义一个函数 科赫曲线,完成绘画功能 if n < 5 : t.fd(n) return m = n/3 koch(t,m) t.lt(60) koch(t,m) t.rt(120) koch(t,m) t.lt(60) koch(t,m) def snowflake(t, n): # 画一朵雪花,每一边都是一个…
本章绘图要点: turtle模块:python标准库自带的一个模块,可用来绘制二维图形.该模块封装了底层的数据处理逻辑,向外提供了更符合手工绘图习惯的接口函数,适用于绘制对质量.精度要求不高的图形. 递归:当所绘制的图形需要多次嵌套重复计算时,可采用递归策略降低程序的复杂性,减少程序的代码量. 海岸线 独上高原,眺望沧海,海洋与陆地之间,蜿蜒而行的海岸线有多长呢?这个问题似乎很简单.按照传统的几何和数学观点,有形状的东西应该都可以被测量.例如,我们可以通过尺子来测量方桌的长和宽,从而获得它的周长…
1. 前言 分形几何是几何数学中的一个分支,也称大自然几何学,由著名数学家本华曼德勃罗( 法语:BenoitB.Mandelbrot)在 1975 年构思和发展出来的一种新的几何学. 分形几何是对大自然中微观与宏观和谐统一之美的发现,分形几何最大的特点: 整体与局部的相似性: 一个完整的图形是由诸多相似的微图形组成,而整体图形又是微图形的放大. 局部是整体的缩影,整体是局部的放大. 具有自我叠加性: 整体图形是由微图形不断重复叠加构成,且具有无限叠加能力. 什么是分形算法? 所谓分形算法就是使用…
使用python接口来运行caffe程序,主要的原因是python非常容易可视化.所以不推荐大家在命令行下面运行python程序.如果非要在命令行下面运行,还不如直接用 c++算了. 推荐使用jupyter notebook,spyder等工具来运行python代码,这样才和它的可视化完美结合起来. 因为我是用anaconda来安装一系列python第三方库的,所以我使用的是spyder,与matlab界面类似的一款编辑器,在运行过程中,可以查看各变量的值,便于理解,如下图: 只要安装了anac…
在论文的结果分析中,ROC和PR曲线是经常用到的两个有力的展示图. 1.ROC曲线 ROC曲线(receiver operating characteristic)是一种对于灵敏度进行描述的功能图像.ROC曲线可以通过描述真阳性率(TPR)和假阳性率(FPR)来实现.由于是通过比较两个操作特征(TPR和FPR)作为标准,ROC曲线也叫做相关操作特征曲线. ROC分析给选择最好的模型和在上下文或者类分布中抛弃一些较差的模型提供了工具.ROC曲线首先是由二战中的电子工程师和雷达工程师发明的,他们是用…
贝塞尔曲线 Bézier curve(贝塞尔曲线)是应用于二维图形应用程序的数学曲线. 曲线定义:起始点.终止点.控制点.通过调整控制点,贝塞尔曲线的形状会发生变化. 1962年,法国数学家Pierre Bézier第一个研究了这种矢量绘制曲线的方法,并给出了详细的计算公式,因此按照这样的公式绘制出来的曲线就用他的姓氏来命名,称为贝塞尔曲线. 这里我们不介绍计算公式,只要知道贝塞尔曲线是一条由起始点.终止点和控制点所确定的曲线就行了.而n阶贝塞尔曲线就有n-1个控制点.用过Photoshop等绘…
override func draw(_ rect: CGRect) { let path = UIBezierPath() // 起点 path.move(to: CGPoint(x: , y: )) // 完善曲线:两个控制点 // path.addCurve(to: <#T##CGPoint#>, controlPoint1: <#T##CGPoint#>, controlPoint2: <#T##CGPoint#>) // 完善曲线:一个控制点 path.add…
UIBezierPath主要用来绘制矢量图形,它是基于Core Graphics对CGPathRef数据类型和path绘图属性的一个封装,所以是需要图形上下文的(CGContextRef),所以一般UIBezierPath在drawRect中使用. UIBezierPath的属性介绍: 1.CGPath:将UIBezierPath类转换成CGPath,类似于UIColor的CGColor 2.empty:只读类型,路径上是否有有效的元素 3.bounds:和view的bounds是不一样的,它获…
功能:图片的拖动.曲线的拖放和绘制 一. 准备工作 1. 点击此下载相关的文档 二. 在浏览器中运行 dragDrop.html 文件,即可看到效果 三. 效果图…
一.数字.公式.函数.变量,哦,NO! 又又一次说起贝塞尔曲线(英语:Bézier curve,维基百科详尽中文释义戳这里),我最近在尝试实现复杂的矢量图形动画,发现对贝塞尔曲线的理解馒头那么厚,是完全不能承受富有创意的创作的,至少得有我当年追我老婆的脸皮厚才行. 然而,瞅瞅维基百科上的释义,或者其他一些相关的技术文章,总是离不开各种公式,一大堆变量……例如下面维基截图缩略图: 完全是数学爱好者的菜啊!我想,要是让UI设计师们去学习这些东西,估计还不如一刀来个痛快的! 这就是爱好领域与能力掌握的…
对于css3的Transitions,网上很多介绍,相信大家都比较了解,这里用最简单的方式介绍下: transition语法:transition:<transition-property> <transition-duration> <transition-timing-function> <transition-delay>; 例如 transition:all 2.5s linear 0.2s; 表示全部属性变化,持续2.5秒,缓冲效果为linear,…
在机器学习的算法评估中,尤其是分类算法评估中,我们经常听到精确率(precision)与召回率(recall),RoC曲线与PR曲线这些概念,那这些概念到底有什么用处呢? 首先,我们需要搞清楚几个拗口的概念: 1. TP, FP, TN, FN True Positives,TP:预测为正样本,实际也为正样本的特征数 False Positives,FP:预测为正样本,实际为负样本的特征数 True Negatives,TN:预测为负样本,实际也为负样本的特征数 False Negatives,…
贝塞尔曲线,听着挺牛气一词,不过下面我们在做画图板的时候就用到贝塞尔绘直线,没用到绘制曲线的功能.如果会点PS的小伙伴会对贝塞尔曲线有更直观的理解.这篇博文的重点不在于如何用使用贝塞尔曲线,而是利用贝塞尔划线的功能来封装一个画图板. 画图板的截图如下,上面的白板就是我们的画图板,是自己封装好的一个UIView,下面会详细的介绍如何封装这个画图板,下面的控件用来控制我们画图板的属性以及Undo,Redo和保存功能.点击保存时会把绘制的图片保存到手机的相册中.下面是具体的实现方案. 一.封装画图板…