zoukankan      html  css  js  c++  java
  • 混沌图像---三翅鹰

          三翅鹰,这名字很酷,其混沌形状像是有三个翅膀的雄鹰,由此而得名。

    算法背景:

    1980年, 物理学家 Gumowski, I. 和 Mira, C. 尝试计算模拟基本粒子轨迹(The trajectories of elementary particles) 在加速器 (Accelerator) 中的行为。他们使用了这组方程:

    X(n+1) = B*Y + F(X)

    Y(n+1) = -X + F(X(n+1))

    其中的函数F(x)是他们所考虑的模型,其中一个主要的模型他们使用了:

    F(X) = A*X + (1-A)*2*X*X/(1+X*X)

    其中A是一个参数,通常在-1和1之间, B是一个非常敏感的常数, 通常非常接近于1.0. 如果B有一个轻微增长到1.001, 轨迹会膨胀,或者螺旋向外至无限; 如果B有一个轻微的减小,比如0.999, 那么轨迹会收缩至奇异吸引子 (The attractor points). 最后一个重要的影响因素是初始值, 典型的初始值X和Y在 -20 和 20 之间。

          这里使用自己定义语法的脚本代码生成混沌图像.相关软件参见:YChaos生成混沌图像.如果你对数学生成图形图像感兴趣,欢迎加入QQ交流群: 367752815

    代码如下:

    [ScriptLines]
    f=a*x + (1-a)*2*x*x/(1+x*x)
    t=x
    x=b*y+f
    f=a*x + (1-a)*2*x*x/(1+x*x)
    y=-t+f
    
    [Variables]
    a=-0.491700
    b=0.997400
    x=1.000000
    y=1.000000

    另一种写法:

    [ScriptLines]
    l=sqrt(x^2+y^2)
    x=if(l<0.3, x/l, x)
    y=if(l<0.3, y/l, y)
    c=2-2*a
    w=a*x+c*(x*x)/(1+x*x)
    m=b*y+w
    u=m*m
    t=a*m + c*u/(1+u)
    y=t-x
    x=m
    
    [Variables]
    a=-0.450000
    b=0.930000
    x=1.000000
    y=1.000000

    图像如下:

    对其参数进行修改调整,可以得到更多图像,有的还是四翅

  • 相关阅读:
    tone() 和 IRremote 冲突的解决办法
    Github
    bit Buffer
    转载:AAC文件解析及解码
    Z变换
    FFT
    DFT
    傅里叶变换
    傅里叶变换--虚部的理解
    转载:WAV header
  • 原文地址:https://www.cnblogs.com/WhyEngine/p/4330430.html
Copyright © 2011-2022 走看看