分形之美

Matlab:数学之美--绘制分形图形 Matlab:数学之美–绘制分形图形 学习最好的动力是兴趣,所以我们先看看效果: 这一篇与Java学习日记:数学之美-分形图形绘制有共同之处,只是所用的工具不同。 clear; %不同的参数有不同的图形 a=1.7;b=1.7;c=0.6;d=1.2; %a=1.5;b=-1.8;c=1.6;d=0.9; x=0;y=0; n=100000; kx = zeros(1,n); ky = zeros(1,n); %迭代循环 for i=1:n tempx=sin(a*y)+c*cos(a* 阅读详情

分形之美

看到有的网站搞分形艺术,才知道这个Z=Z*Z+C 如此的奇妙。
于是干脆在opencv下写出来,看看。效果还不错。呵呵。
这个小例子只能修改C的值,有兴趣的朋友可以自己改改代码,看能不能做出些美妙的图形。

代码提示:要获得高质量的图像,可以增加image_w,不过性能很低。

 

图片
 


参考链接
http://blog.youkuaiyun.com/spanzhang/
http://www.fractal.net.cn/

代码

 

//  test.cpp : 定义控制台应用程序的入口点。
//

#include 
" stdafx.h "
#include 
" cv.h "
#include 
" highgui.h "

const   int  image_w  =   100 ;
const   double  a  = 0.0 ;
const   double  b  = 0.0 ;
const   long  Nmax  =   255 ;   // Z值衰减(趋向于零) 的临界
const   double  Rmax  =   20 ;  //  Z值没有界限地增加(趋向无穷)的临界

IplImage
*  image  = 0 ;
int  c_r_value  =   60 ;
int  c_i_value  =   40 ;

// 返回迭代的次数
int  getnum( int  i, int  j)
{
    
double  C_RealPart  =  ( double )(c_r_value - 50 ) / 100 * 2 * 2 ;   // -2 到 +2   // Julia 集合 常数C
     double  C_ImagPart  =  ( double )(c_i_value - 50 ) / 100 * 2 * 2 ;   //  -2 到 +2  // Julia 集合 常数C
     double  RealPart  =  ( double )i / image_w + a; 
    
double  ImagPart  =  ( double )j / image_w + b;
    
int  n = 0 ;
    
while (n < Nmax)
    {
        
// Z=Z*Z+C;
         double  ZM  =   RealPart * RealPart  +  ImagPart * ImagPart;
        
if (ZM > Rmax)  break ;
        
double  temp_RealPart  =  RealPart * RealPart  -  ImagPart * ImagPart + C_RealPart;
        
double  temp_ImagPart  =   2 * ImagPart * RealPart + C_ImagPart;
        RealPart
=  temp_RealPart;
        ImagPart
=  temp_ImagPart;  
        n
++ ;
    }
    
return  n;
}
void  onChangeimg( int  pos)
{
    cvZero(image);
    
for ( int  i  = 0 ;i < image_w;i ++ )
        
for ( int  j  = 0 ;j < image_w;j ++ )
        {
            
int  n1  =  getnum(i,j);
            
int  n2  =  getnum(j,i);
            
int  n3  =  getnum(j,i / 2 );
            
// printf("%d,",n);

            CvScalar sc1;
            
if (n1 > Nmax - 2 ) n1 = 0 ;
            
if (n2 > Nmax - 2 ) n2 = 0 ;
            
if (n3 > Nmax - 2 ) n3 = 0 ;

            sc1.val[
0 ]  =  ( int )abs( 255 * ( float )n1 / Nmax);
            sc1.val[
1 ]  =  ( int )abs( 255 * ( float )n2 / Nmax);
            sc1.val[
2 ]  =  ( int )abs( 255 * ( float )n3 / Nmax);
            cvSet2D(image,i,j,sc1);

        }

        
double  nvalue  =  cvNorm(image, 0 ,CV_C);

        
for ( int  i  = 0 ;i < image_w;i ++ )
        
for ( int  j  = 0 ;j < image_w;j ++ )
        {
            CvScalar sc1;
            CvScalar sc2 
= cvGet2D(image,i,j);
            sc1.val[
0 ]  =  ( int )abs( 255 * sc2.val[ 0 ] / nvalue);
            sc1.val[
1 ]  =  ( int )abs( 255 * sc2.val[ 1 ] / nvalue);;
            sc1.val[
2 ]  =  ( int )abs( 255 * sc2.val[ 2 ] / nvalue);;
            cvSet2D(image,i,j,sc1);
        }

}
int  main(  int  argc,  char **  argv )
{
   

    cvNamedWindow( 
" WIN " ,  0  );
    cvCreateTrackbar( 
" C real " ,  " WIN " ,  & c_r_value,  100 , onChangeimg );
    cvCreateTrackbar( 
" C imag " ,  " WIN " ,  & c_i_value,  100 , onChangeimg );
    
    image 
=  cvCreateImage( cvSize(image_w,image_w),  8 ,  3  );
    onChangeimg(
0 );
    

        
for (;;)
        {
            
            cvShowImage(
" WIN " ,image);
            
if (cvWaitKey( 40 ) == 27 )  break ;
        }
        
return   0 ;

}

 

下载

opencv_share@163.com download
 

19、探索分形之美:从历史到现代 本博客全面介绍了分形的历史背景、基本特性以及多种经典分形的构造方法。从三元康托尔集、谢尔宾斯基三角形到冯·科赫曲线,详细阐述了它们的数学原理和可视化实现,并探讨了分形在计算机图形学、数据加密及动力系统中的应用。同时,文章还展示了分形与拓扑学、测度论等数学分支的联系,并通过朱莉娅集和曼德勃罗集揭示了分形的艺术美感。希望通过此博客,读者能够领略分形之美并探索其背后的数学奥秘。 阅读详情

相关推荐

VB分形算法代码(杨辉三角、梅花曲线、雪花……).rar

7种分形算法源代码,包括杨辉三角形、梅花曲线、雪花、圆环、旋转螺线、叶子、随机圆环、树。代码由冰火天空原创。通过这个程序你将会了解到窗体透明度控制、截取屏幕的API、全局函数定义等常用知识。

Python不到10行的画Mandelbrot分形(Fractal)图

以前用VB,还有C++写了画Mandelbrot分形(Fractal)图的程序, 但代码都比较长。新学Python, 发现可以用非常段的代码就可以画出来, 而且速度很快, 分享如下: import numpy as np from functools import reduce import matplotlib.pyplot as plt x,y=np.ogrid[-2.2:0.8:200j,-1.3:1.3:200j] c=x+y*1j maxIt = 30 z = reduce(lambda x,.

m0_60558800的博客 601

VB 分形图科赫格子的实现

VB 分形图科赫格子的实现

【数学之美】分形图形动画演示欣赏

IT派助力深广创业,免费代发招聘信息,了解一下? 科赫曲线 Koch curve:H分形 ...

IT派 5382

vb写的关于分形的一些举例

一个展示分形图的程序,你可以修改一些参数,就可以看到更多不同的分形图,颜色搭配不好请原谅,不过你可以尝试修改一下颜色,也许会比我做的好.

分形的 VB 源程序

本人编的一个 VB6.0 小程序,可以实现 Mandelbrot 和 Julia 集的缩放。

【数学之美】分形——发现隐藏的维度

仔细回想一下,在我们的生活中,无论是蜿蜒曲折的海岸线、绵延的山脊、变幻无常的云团,盘根错节的树根,还是人体的毛细血管,尽管它们的形状是不规则的,但如果用不同倍数的镜头来观察,它们的局部、分支和整体都有着非常高的相似性。 数学家们将这种“可以分成数个部分,且每一部分都(至少近似地)是整体缩小后的形状“的形态特征叫做分形,最早由数学家曼德尔布罗特(B.B.Mandelbrot)在1973年提出。 尽管上述自然现象中的分形可能不那么完美,但是一旦我们利用数学公式,就可以构造出各种各样的完美分形。 数学里的分形

qq_42963448的博客 1423

vb分形图_VB_

一个用VB编的小程序,关于分形图的小例子。

浅谈分形之美

刚开始听到分形这个词,压根不知道是做什么的,感觉也是一种很骇人的技术。自从自己尝试的画几个小图形之后,才有点体会到分形的帅气和有趣。它是一个拥有多种层次结构的整体,整体和部分又具有很强的相似性。它从美学的角度很好的结合了数学几何,是一个很好的艺术代表。有时候不得不感叹数学的强大和美。 就如说;0和1构成了数学,0和1构成了世界。现实生活中的很多图像都差不多是有规律可寻的,...

daide2012的博客 540

数据预处理之数据平滑处理#matlab

介绍基于 MATLAB 的数据平滑方法,主要介绍 smooth 函数、smoothts 函数和 medfilt1 函数的用法。

m0_56619132的博客 2417

深入解析 RLHF(Reinforcement Learning from Human Feedback)

随着人工智能(AI)技术的快速发展,大规模语言模型(如 OpenAI 的 GPT、Anthropic 的 Claude 等)已经能够生成高质量的文本。RLHF 是一种基于强化学习(Reinforcement Learning, RL)的优化方法,它结合人类反馈(Human Feedback)来训练奖励模型(Reward Model, RM),进而优化语言模型的生成策略。整个强化学习的目标是找到最优策略 π∗\pi^*π∗,使得模型在与环境交互的过程中,最大化累积奖励。RLHF 是一种结合强化学习(RL)

lqq 1771

数学之美--分形几何与建筑形式美

分形几何与建筑形式美 作者:林小松 吴越 摘要:本文提出了“分形是超越传统的统一与变化原则的全新的建筑形式美的基本法则”的观点;说明了全息论与分形理论的共同特点是它们都研究物体的自相似关系;引用生物学、地质学、生态学、水文学、天体与地球科学等领域的研究成果,论述了自相似现象在自然界的普遍性;阐述了分形对传统形式美的三点超越:即局部和更大的局部、或者是局部和整体的对称,分形图形的丰富

HuFeiHu 7022

智能车‘大脑’的诞生:揭秘电磁循迹代码背后的控制论与系统思维

本文深入探讨智能车电磁循迹系统的核心架构与控制原理,揭示了其作为精密闭环系统如何通过模块化设计、信号处理、PID控制算法及电机驱动实现自主导航。重点分析了电磁信号采集与处理流程框架,为开发者提供从理论到实践的全面指南。

arduino9maker的博客 532

探索分形,创造美!

      何为分形,简单来说,它就是一种具有自相似特性的现象、图象或者物理过程。虽然定义简单易懂,就是自己包含许许多多相识的部分,但正如黄金分割比0.618一样,它能产生大量令人叹为观止的图案。      常见的分形例子有:谢尔宾斯基三角形和地毯、门格海绵、龙形曲线、空间填充曲线和科赫曲线等等。            大家可以上网轻松地找到。而制作分形也不是件难事,通过PS,Matlab...

海王子1994 298

Logisim实战:手把手教你设计硬布线版MIPS CPU(多周期/8指令/附电路图)

本文是一份详细的Logisim实战指南,手把手教你设计一个采用硬布线控制的多周期MIPS CPU。文章深入剖析了硬布线控制与微程序控制的核心理念差异,并逐步讲解了从定义执行状态、构建状态跳转逻辑到生成控制信号、集成测试的完整流程,最终实现一个支持8条指令、可运行简单程序的处理器模型。

g9h0i1的博客 592

MT6771 Android13 背光曲线调试与光感数据校准实战

本文详细介绍了MT6771平台在Android 13系统上进行背光曲线调试与光感数据校准的实战经验。针对高亮度环境下背光误调节问题,深入分析了光感数据上报机制,并提供了驱动层配置修改、背光曲线优化及常见问题解决方案,帮助开发者快速定位并解决类似问题。

moon9的博客 287

【UOJ528】【美团杯2020】分形之美

题目链接 点击打开链接 题目解法 观察分形结构,我们可以得到如下性质: (1)(1)(1) 、分形结构具有轴对称性,且 Ai,j=Aj,iA_{i,j}=A_{j,i}Ai,j​=Aj,i​ (2)(2)(2) 、对于每一个 3×33\times 33×3 的单元,中间的元素为 111 ,其四周的元素为 000 ,角落上的元素均相同 (3)(3)(3) 、任何情况下不存在相邻的 x ,每一个大小超过 111 的 o 连通块均与一个一级的 o 直接相邻 考虑计算 solve(N,xl,xr,yl,yr)sol

cz_xuyixuan的博客 556

时序基础模型Timer-S1:十亿参数如何革新时间序列预测

时间序列预测是数据分析与机器学习中的核心任务,旨在基于历史数据预测未来趋势。其原理在于捕捉数据中的趋势、周期性和季节性等时序依赖关系。这项技术的价值在于赋能业务决策,广泛应用于金融风控、能源管理、物联网监控和供应链优化等关键场景。传统方法依赖针对特定任务的专用模型,面临泛化能力弱和开发成本高的挑战。本文聚焦的时序基础模型,通过在海量跨领域数据上进行预训练,学习时序通用模式,并结合十亿级参数带来的强大容量,实现了性能的显著突破。这种范式转变,使得模型能够像“全科医生”一样,通过少量数据微调即可快速适应新任务,

weixin_29164843的博客 269

lesson 4 分形之美

分形的原理,是利用某一算法,迭代(一般用循环或者递归)获得新的图形来形成分形图形的。 在分形的学习中,掌握了递归这一个处理算法的工具,那么对于递归,我的看法是对一个或者一组数据进行相同而多次重复操作时使用的,它必须具备一个出口,不然会变成死递归,然后还可能需要对每一步递归进行一些变量的变化,一般通过递归方法的参数的传递来实现。 那么除了递归还可以用循环来实现,感觉关于分形,涉及到数...

zhuihunmo的博客 235

【unity实战】Unity2D TileMap的探究(最简单,最全面的TileMap使用介绍)

之前有人在微信上找我,问了TileMap相关的知识【unity实战】随机地下城生成2——绘制地图Tilemap的使用及一些技巧的使用(含源码)不过写的不是特别不是特别细致,只是简单的用了一下,所有这次特地打算单独写一篇文章,来介绍一下,下次还有人问我,我直接就把这篇文章丢给他,完美!Unity的Tilemap 一般称之为瓦片地图或者平铺地图,是 Unity2017 中新增的功能,主要用于快速编辑 2D 游戏中的场景,通过复用资源的形式提升地图多样性。Tilemap是一个用于创建2D地图的工具。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1万+

硬核实战!Python爬虫从0到1完整版:爬取知乎热榜+回答内容(数据去重+Excel一键导出+避坑指南,零基础友好)

✔️ 适用人群:Python爬虫零基础、想练手实战爬虫、需要爬取知乎内容做数据分析、办公/学习素材整理的同学爬取知乎热榜全量数据(排名+标题+热榜链接+热度值) →自动跟进爬取每个热榜问题的回答内容(回答者昵称+赞同数+评论数+回答正文+发布时间) →数据清洗+智能去重→一键导出格式化Excel文件,所有功能一站式完成入门级难度,无复杂反爬破解、无分布式/代理池,纯requests请求+静态解析,新手能看懂、能运行、能修改;爬取速度快,热榜+回答全程仅需几十秒。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1461

领略数学之美,使用Python创建分形图案

在Python中创建分形,深入研究几何、循环算法和三角形......

weixin_39915649的博客 730

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

分形大美

其实好久以前看人家画了好多分形,觉得很漂亮但是也只是套下公式而已;等到自己开始写了以后才发现“套公式”也没那么简单。 半个月前,做项目需要,开始画起来了分形。 1、第一个是在PPT上的, 也就是一个公式 xn+1=yn-sign(xn)|b xn-c|1/2 yn+1=a-xn 其中a=0.4,b=1,c=0; 在这中遇到的问题是,只能画出来几个...

iteye_6095的博客 136

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

上一篇: 在opencv下绘制Bezier 贝赛尔 曲线
下一篇: 联机手写大写英文字母识别
hardVB
博客等级 码龄26年 257粉丝 58原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值