码迷,mamicode.com
首页 > 其他好文 > 详细

混沌图像---三翅鹰

时间:2015-03-17 10:14:29      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:

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

算法背景:

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

图像如下:

技术分享

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

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

混沌图像---三翅鹰

标签:

原文地址:http://www.cnblogs.com/WhyEngine/p/4330430.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!