返回列表 回复 发帖

UF分形的画板实现(第2集)

Swanson {
;A generic Swanson file.
;Can change the power settings.
init
z= pixel;
loop
z= z^@power + #pixel
z= z(cos(z)^2)+#pixel

bailout
z  4
default
param Power
default= (2,0)
endparam
switch
type= Mandric
power= @power
seed= #pixel
}
画板效果:
未命名.JPG
放大左边某小片的效果
未命名2.JPG
Swanson.gsp (39.16 KB)
上楼的文件中,参数K为正整数,取不同的值得不同的M集,将上楼的文件的K改为复数,更一般化了。制成后,我与UF面板中的图进行比较,当为虚数时,GSP扫出的图片与UF有少许不同,大体吻合。我用的是坛上现成的工具z^W,不知此工具是否有问题还是怎么的,那位高中教师帮忙制制这个工具,我想你们对复数要熟悉得多,咱丢得有点远了。
这是K=4的情形
未命名.JPG
这是K=2+i的情形
未命名1.JPG
而K=2+i时,UF中效果却是

Swanson1.gsp (40.02 KB)

Fractal2.png (25.25 KB)

Fractal2.png

已验证没问题,这是@power=3:

捕获369.JPG (28.62 KB)

捕获369.JPG

F(x)=z^L-J的牛集(广义)
UF
Fractal2.JPG
GSP
未命名1.JPG
未命名3.JPG
上图片用了向老师的平滑着色法。
Newton(F(x)=z^L-J的牛集(广义).gsp (46.28 KB)
4# 柳烟
这两幅的结构和着色都不错,赞一个!
这个牛集真“牛”。
平滑着色法不是我的发明,我最早见于雪飞扬的gsp文件,只是我常用而已。
楼上二位老师好。“革命”尚未成功,大家齐心协力。
平滑着色法实践结果,不错。榕老师说工具没问题,今天我继续用的结果,确实没问题。谢谢工具的制作者们。提供者们。
Hyperbon {
;As with Mandric, incorporates trigonomic
;functions. Allows user to choose Bailout and
;power.
;
init:
z= 0;
complex pix= #pixel

loop:
z= sin(cos(z)^@power) + pix
z= (z / 2+ z^2) + #pixel
bailout:
|z| < @bailout
default:
param Power
default= (2,0)
endparam

param Bailout
default= 6
endparam
}
这个分形本来简单,可今天我干了四五次,最后一次与UF对照,发现不对,又检查,发现对的,只是逃逸参数那个地方稍微修改了一下,结果对头了,累!
未命名3.JPG
未命名44.JPG
改变复参数power,或改变阈值,这个M集有得玩。
Hyperbon.gsp (40.8 KB)
lambdafn {
init:
  z = pixel
loop:
  z = @lambda * fn1(z)
bailout:
  |z| < @bailout
default:
  title = "Lambda c * fn(z)"
  maxiter = 149
  magn = 0.5
  param lambda
    caption = "Parameter"
    default = (1, 0.4)
  endparam
  param bailout
    caption = "Bailout value"
    default = 64.0
    min = 1
  endparam
  func fn1
    caption = "First Function"
    default = sin()
  endfunc
switch:
  type = "mandelfn"  
  bailout = bailout
  fn1 = fn1
}
本来想弄出UF是的fn为sin时的效果,可是后半部分代码复杂,不很懂,所以弄不出:
Fractal2.JPG
结果弄出这个冬冬,也美得可以:
未命名.JPG
未命名.JPG
Lambda c乘fn(z)的变种.gsp (30.6 KB)
再扫一图
未命名1.JPG
fn*z+z {
init:
  z = pixel
loop:
  z = (@first * fn1(z) + @second) * z
bailout:
  (@test == 0 && |z| <= @bailout) ||                                         \
  (@test == 1 && sqr(real(z)) <= @bailout) ||                                \
  (@test == 2 && sqr(imag(z)) <= @bailout) ||                                \
  (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) ||   \
  (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) ||   \
  (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) ||          \
  (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout))
default:
  title = "fn * z + z"
  magn = 0.5
  maxiter = 149
  param first
    caption = "First Coefficient"
    default = (1,0)
  endparam
  param second
    caption = "Second Coefficient"
    default = (1,0)
  endparam
  param test
    caption = "Bailout Test"
    default = 0
    enum = "mod" "real" "imag" "or" "and" "manh" "manr"
  endparam
  param bailout
    caption = "Bailout value"
    default = 64.0
    min = 1.0
  endparam
GSP图----fn(z)=sinz
6291.JPG
GSP图----fn(z)=cosz
6292.JPG
GSP图----fn(z)=sinhz
6293.JPG
GSP图----fn(z)=coshz
6294.JPG
fn (z) + z.gsp (27.98 KB)
返回列表