Board logo

标题: UF分形的画板实现6 [打印本页]

作者: 柳烟    时间: 2010-9-10 20:02     标题: UF分形的画板实现6

dmj-PhoenixJulia {
;
; This type implements the Phoenix types discovered by
; Shigehiro Ushiki.  It is somewhat generalized over
; the FractInt implementation.  The general equation is
; of the form
;
;     z(n+1) = z(n)^a + c*z(n)^b + p*z(n-1)
;
; In FractInt, choices for b are restricted to a-1 and
; a-2.  This implementation allows arbitrary choices
; for both a and b.
;
; If a=2 and b=0 (classic Phoenix) then this type will
; work with the dmj-Smooth and dmj-Triangle coloring
; types.
;
init:
  complex y = (0,0)
  complex newz = (0,0)

  z = #pixel
  
loop:
  newz = z^@power1  +  z^@power2 * @seed  +  @induct * y
  y = z
  z = newz
  
bailout:
  |z| < @bailout
  
default:
  title = "Phoenix (Julia)"
  helpfile = "dmj-pub\dmj-pub-uf-phoenix.htm"
  maxiter = 1000
  center = (0,0)
  
  param seed
    caption = "Julia Seed"
    default = (0.56667,0)
    hint = "This is the Julia seed, a constant parameter which \
            defines the shape of the fractal."
  endparam
  param power1
    caption = "Primary Exponent"
    default = (2,0)
    hint = "Defines the primary exponent for the fractal.  The classic \
            Phoenix curve uses exponent 2."
  endparam
  param power2
    caption = "Secondary Exponent"
    default = (0,0)
    hint = "Defines the secondary exponent for the fractal.  The classic \
            Phoenix curve uses exponent 0."
  endparam
  param induct
    caption = "Phoenix Distortion"
    default = (-0.5,0)
    hint = "Sets how 'strong' the previous iteration's effect should be \
            on the fractal."
  endparam
  param bailout
    caption = "Bailout"
    default = 1.0e20
    hint = "Defines how soon an orbit bails out, i.e. doesn't belong \
            to the Phoenix set anymore."
  endparam

switch:
  type = "dmj-PhoenixMandel"
  bailout = @bailout
  power1 = @power1
  power2 = @power2
  induct = @induct
}
未命名.JPG
dmj-PhoenixJulia.gsp (22.74 KB)

图片附件: 未命名.JPG (2010-9-10 20:02, 33.81 KB) / 下载次数 1414
http://inrm3d.cn/attachment.php?aid=7116&k=421b4aba8470838bc29c8fe59d5e95a4&t=1715112349&sid=7p890o



附件: dmj-PhoenixJulia.gsp (2010-9-10 20:03, 22.74 KB) / 下载次数 3316
http://inrm3d.cn/attachment.php?aid=7117&k=5fd4d147747750d538183fa44125adb7&t=1715112349&sid=7p890o
作者: 柳烟    时间: 2010-9-10 20:06

上面这个分形,好几个月前,我在此坛发过征解一帖,有板友做出来了,并帖了原文件,我研究了原文件,但是不知里面是如何迭代的,问之,答得有些模糊。今天,我坚持实践第一的观念,干了一天,终于干出来了,高兴。胡乱定位,并放大,结果免强。
未命名1.JPG

图片附件: 未命名1.JPG (2010-9-10 20:37, 56.8 KB) / 下载次数 1636
http://inrm3d.cn/attachment.php?aid=7118&k=5e85ce436c90a3d015de58aafd75aa37&t=1715112349&sid=7p890o


作者: 柳烟    时间: 2010-9-11 01:13

未命名.JPG
放大单个凤凰,如下。
未命名1.JPG

图片附件: 未命名.JPG (2010-9-11 01:13, 35.8 KB) / 下载次数 1456
http://inrm3d.cn/attachment.php?aid=7121&k=641a1a038b204206fa9d234757e32894&t=1715112349&sid=7p890o



图片附件: 未命名1.JPG (2010-9-11 07:26, 41.54 KB) / 下载次数 1460
http://inrm3d.cn/attachment.php?aid=7122&k=dfdde582767e11107f961521f7b10e10&t=1715112349&sid=7p890o


作者: xiaongxp    时间: 2010-9-11 18:20

柳老师的画板分形技术越来越好了,定位妙、色调炫,令人羡慕。
作者: 柳烟    时间: 2010-9-11 23:04

4# xiaongxp
谢过和老师褒奖,只是有点进步罢了。这段时间,对分形狂热的人们,怎么一下就冷却了呢,想起不久前盛况空前,让人心潮涌起,而今有些落寞。
作者: 柳烟    时间: 2010-9-17 17:19

CubicRoots-Julia {
; Ron Barnett, September 2000
; Another Newton with mini-mandelbrot like regions
; Based on the Cubic formula (Ron Barnett circa 1993)
init:
  #z = @init + #pixel
  oldz = 0
  a = @p1
loop:
  oldz = #z
  #z = (2*#z*#z*#z - #z*#z +a -2) / (3*#z*#z - 2*#z - 1)
bailout:
  |#z - oldz| >= @bailout
default:
  title = "Cubic Roots-Julia"
  maxiter = 1000
  center = (0, 0)
  magn = 12
  method = multipass
  periodicity = 0
  heading
    caption = "Cubic Roots-Julia"
  endheading
$ifdef VER40
  heading
    text = "This is a 'convergent' fractal that \
            has Julia-like regions."
  endheading
$else
  heading
    caption = "This is a 'convergent' fractal"
  endheading
  heading
    caption = "that has Julia-like regions"
  endheading
$endif
  param version
    caption = "Formula Version"
    default = 1.0
    hint = "You should never see this parameter; it's used internally to track \
        which version of the formula was used to create your image, so that \
        if a bug is found which breaks backwards-compatibility, the formula \
        can adapt transparently."
    visible = false
  endparam
  param bailout
    caption = "Bailout value"
    default = 0.000001
  endparam
  param p1
    caption = "Parameter 1"
    default = (0.522375, -0.002875)
  endparam
  param init
    caption = "Iteration Initialization"
    default = (0.33,0)
  endparam
switch:
  type = "CubicRoots-Mandel"
  bailout = @bailout
  init = @init
}
未命名.JPG
未命名1.JPG
CubicRoots-Julia.gsp (24.91 KB)

图片附件: 未命名.JPG (2010-9-17 17:19, 37.04 KB) / 下载次数 1465
http://inrm3d.cn/attachment.php?aid=7228&k=1c56fa9bbcd760536534d84f7ebe3ede&t=1715112349&sid=7p890o



图片附件: 未命名1.JPG (2010-9-17 17:47, 19.79 KB) / 下载次数 1486
http://inrm3d.cn/attachment.php?aid=7229&k=b48e6ae14447159bad0360962298e69c&t=1715112349&sid=7p890o



附件: CubicRoots-Julia.gsp (2010-9-17 17:49, 24.91 KB) / 下载次数 3375
http://inrm3d.cn/attachment.php?aid=7230&k=8078e213d96d19ce7aa04014e6776224&t=1715112349&sid=7p890o
作者: 榕坚    时间: 2010-9-17 17:56

6# 柳烟


如果分块着色会怎样呢?
作者: inRm    时间: 2010-9-17 19:00

5# 柳烟
台上是高手交流切磋,台下是我等端坐观赏。
作者: 柳烟    时间: 2010-9-18 00:15

放大一张。
未命名.JPG

图片附件: 未命名.JPG (2010-9-18 00:15, 55.31 KB) / 下载次数 1637
http://inrm3d.cn/attachment.php?aid=7233&k=638a55ce8fb91784255208bbde4aa6b5&t=1715112349&sid=7p890o


作者: 柳烟    时间: 2010-9-18 00:27

8# inRm
多谢方老师观赏,否则,台上的我们这班演员不来劲。
作者: 柳烟    时间: 2010-9-18 09:56

7# 榕坚
普通的牛顿迭代,用迭代终点的横纵坐标及模着色,即可产生如你所说的分块色,但对这种变换过的牛顿迭代,这种方法就无能为力了.我想,自定义作色可以解决这个问题。我正在实践中。
作者: 柳烟    时间: 2010-9-18 14:46

用三原色:红、黄、蓝作色。
未命名.JPG
用黄色、青色、粉红作色。
[attach]7236[/attach]

图片附件: 未命名.JPG (2010-9-18 14:46, 22.33 KB) / 下载次数 1837
http://inrm3d.cn/attachment.php?aid=7234&k=47f21645b677fd4190d0d72e38daf118&t=1715112349&sid=7p890o



图片附件: 未命名1.JPG (2010-9-18 15:08, 26.97 KB) / 下载次数 1762
http://inrm3d.cn/attachment.php?aid=7235&k=52ae1b58f33c39e9acdb171a68a22924&t=1715112349&sid=7p890o


作者: 榕坚    时间: 2010-9-18 20:29

不错,再试试也放大48倍,迭代次数设为500-1000。当中的那个Julia集还清淅吗?这是我的结果,不大理想:

图片附件: 捕获541.JPG (2010-9-18 20:49, 76.35 KB) / 下载次数 2066
http://inrm3d.cn/attachment.php?aid=7239&k=6e9c61e8315be757c970073c8ec2530b&t=1715112349&sid=7p890o


作者: 柳烟    时间: 2010-9-19 11:18

感觉到色彩多后,放大的图形的J集不太清晰与美观。
未命名.JPG

图片附件: 未命名.JPG (2010-9-19 12:11, 32.19 KB) / 下载次数 1848
http://inrm3d.cn/attachment.php?aid=7257&k=49ac308670c30f85a5fcfe4445664d60&t=1715112349&sid=7p890o


作者: xiaongxp    时间: 2010-9-20 19:44

13# 榕坚
女娲补天的传说……
作者: 榕坚    时间: 2010-9-20 20:01

15# xiaongxp


巷老师最近好久没来了,问好!
作者: 柳烟    时间: 2010-9-20 21:26

也问好老苍老师。
作者: xiaongxp    时间: 2010-9-22 16:20

16# 榕坚
17# 柳烟
二位老师好,祝节日快乐。其实我每天必以游客身份来这里,一直关注着你们的讨论,为你们的研究进展叫好,为你们的研究精神感动。今年我带了两个文科班,工作负担远重于过去,老母多病近又摔折肘关节,使我不能专注于作分形。所以无暇加入你们的讨论,不得不作个观众。
作者: 榕坚    时间: 2010-9-22 16:23

18# xiaongxp


人到中年的难处,保重身体,顺问伯母安好。
作者: xiaongxp    时间: 2010-9-22 17:09

19# 榕坚
谢谢榕老师。
作者: 柳烟    时间: 2010-9-22 19:35

18# xiaongxp
知道了,向老师,表示理解。由于地域遥隔,不能帮忙,深感为憾。望向老师保重,顺祝中秋快乐,万事如意!
作者: xiaongxp    时间: 2010-9-22 21:14

21# 柳烟
谢谢柳老师。
作者: 柳烟    时间: 2010-9-23 14:07

未命名2.JPG
未命名1.JPG
CubicRoots-Mandel.gsp (21.62 KB)

图片附件: 未命名1.JPG (2010-9-23 14:07, 25.98 KB) / 下载次数 1418
http://inrm3d.cn/attachment.php?aid=7346&k=9b3d638fd21b33249cb210d24537e90e&t=1715112349&sid=7p890o



图片附件: 未命名2.JPG (2010-9-23 14:07, 25.28 KB) / 下载次数 1425
http://inrm3d.cn/attachment.php?aid=7347&k=a52517628b4bb8d3e325f46a8eb427bf&t=1715112349&sid=7p890o



附件: CubicRoots-Mandel.gsp (2010-9-23 14:07, 21.62 KB) / 下载次数 2423
http://inrm3d.cn/attachment.php?aid=7348&k=f9d6711a2f6d0da373f97ac32c92cf4d&t=1715112349&sid=7p890o
作者: 柳烟    时间: 2010-9-23 14:57

Cayley-jul {
; Ron Barnett, February 1999
; based upon the formula of Mark Townsend
init:
  complex fz = 0
  complex fzp = 0
  complex fzp2 = 0  
  #z = #pixel
  oldz = 0
  a = @p1
  float iterate = 0
loop:
  iterate = iterate + 1
  oldz = #z
  fz = #z^3 - a*z - a + 1
  fzp = 3*#z^2 - a
  fzp2 = 6*#z
  if @converge == 0                          ; Newton
    #z = #z - fz/fzp
  elseif @converge == 1                      ; Householder
    #z = #z - fz/fzp*(1 + fz*fzp2/(2*fzp^2))   
  elseif @converge == 2                      ; Halley
    #z = #z - 2*fz*fzp/(2*fzp^2 - fz*fzp2)  
  elseif @converge == 3                      ; Schroder
    #z = #z - fz*fzp/(fzp^2 - fz*fzp2)  
  elseif @converge == 4                      ; Ho custom
    #z = #z - fz/fzp*(1 + fz*fzp2/(@custom*fzp^2))      
  elseif @converge == 5                      ; Ha custom
    #z = #z - 2*fz*fzp/(@custom*fzp^2 - fz*fzp2)  
  elseif @converge == 6                      ; H_S custom
    #z = #z - @custom*fz*fzp/(@custom*fzp^2 - fz*fzp2)      
  elseif @converge == 7                      ; Mixed1
    if  iterate % 2 == 0
      #z = #z - fz/fzp*(1 + fz*fzp2/(2*fzp^2))  
    else
      #z = #z - fz/fzp
    endif  
  elseif @converge == 8                      ; Mixed2
    if  iterate % 2 == 0
      #z = #z - 2*fz*fzp/(2*fzp^2 - fz*fzp2)  
    else
      #z = #z - fz/fzp
    endif
  elseif @converge == 9                      ; Mixed3
    if  iterate % 2 == 0
      #z = #z - fz*fzp/(fzp^2 - fz*fzp2)  
    else
      #z = #z - fz/fzp
    endif
  elseif @converge == 10                      ; Mixed4
    if  iterate % 2 == 0
      #z = #z - @custom*fz*fzp/(@custom*fzp^2 - fz*fzp2)  
    else
      #z = #z - fz/fzp
    endif
  endif  
bailout:
  |#z - oldz| >= @bailout
default:
  title = "Cayley Julia"
  maxiter = 1000
  center = (0, 0)
  magn = 32
  method = multipass
  periodicity = 0
  heading
    caption = "Cayley Julia"
  endheading
$ifdef VER40
  heading
    text = "This is a 'convergent' fractal that uses multiple convergence \
            methods and has Julia-like regions for several convergence methods."
  endheading
$else
  heading
    caption = "This is a 'convergent' fractal"
  endheading
  heading
    caption = "that uses multiple convergence"
  endheading
  heading
    caption = "methods and has Julia-like regions"
  endheading
  heading
    caption = "for several convergence methods."
  endheading
$endif
  param version
    caption = "Formula Version"
    default = 1.0
    hint = "You should never see this parameter; it's used internally to track \
        which version of the formula was used to create your image, so that \
        if a bug is found which breaks backwards-compatibility, the formula \
        can adapt transparently."
    visible = false
  endparam
  param bailout
    caption = "Bailout value"
    default = 0.000001
  endparam
  param p1
    caption = "Parameter 1"
    default = (0.360968017578125,0.00074462890625)
  endparam
  heading
    caption = "Convergence Methods"
  endheading  
  param converge
    caption = "Convergence Method"
    default = 0
    enum = "Newton" "Householder" "Halley" "Schroder" "Ho Custom" \
           "Ha Custom" "H_S Custom" "Mixed1" "Mixed2" "Mixed3" "Mixed4"
  endparam  
  float param custom
    caption = "H_S Constant"
    default = 1.5
    visible = @converge==4 || @converge==5  || @converge==6 || @converge==10
  endparam
switch:
  type = "Cayley-mand"
  bailout = @bailout
  converge = @converge
  custom = @custom
}
未命名1.JPG
未命名2.JPG
Cayley-jul-NEWTON.gsp (22.09 KB)

图片附件: 未命名1.JPG (2010-9-23 14:57, 32.02 KB) / 下载次数 1327
http://inrm3d.cn/attachment.php?aid=7349&k=b83476a61a7d088e13f99bed4315d69b&t=1715112349&sid=7p890o



图片附件: 未命名2.JPG (2010-9-23 16:30, 60.84 KB) / 下载次数 1480
http://inrm3d.cn/attachment.php?aid=7352&k=0455380b910305e3f0eea4f2f181d667&t=1715112349&sid=7p890o



附件: Cayley-jul-NEWTON.gsp (2010-9-23 16:30, 22.09 KB) / 下载次数 2215
http://inrm3d.cn/attachment.php?aid=7353&k=1472fe463d7cc84d1d62174844b80f07&t=1715112349&sid=7p890o
作者: 柳烟    时间: 2010-9-23 17:14

以上源文件中,将迭代终点到三根的距离引进颜色参数后,扫出的图片。
未命名3.JPG

图片附件: 未命名3.JPG (2010-9-23 17:14, 29.84 KB) / 下载次数 1417
http://inrm3d.cn/attachment.php?aid=7354&k=d2b42b6d7431822ab1fde0b68331a3b2&t=1715112349&sid=7p890o


作者: 柳烟    时间: 2010-10-3 11:34

JD-SG-02.JPG

图片附件: JD-SG-02.JPG (2010-10-3 11:34, 35 KB) / 下载次数 1376
http://inrm3d.cn/attachment.php?aid=7483&k=0ffb9927c5fdc133274b16c5c14dff95&t=1715112349&sid=7p890o


作者: 柳烟    时间: 2010-10-3 11:41

未命名.JPG
JDfrm010.JPG

图片附件: JDfrm010.JPG (2010-10-3 11:41, 19.47 KB) / 下载次数 1382
http://inrm3d.cn/attachment.php?aid=7484&k=fa1d0a2424a3b382c119acf3c2fb7975&t=1715112349&sid=7p890o



图片附件: 未命名.JPG (2010-10-3 11:56, 24.11 KB) / 下载次数 1400
http://inrm3d.cn/attachment.php?aid=7486&k=f88935ec249a04fe4917dc99162bc4d2&t=1715112349&sid=7p890o


作者: 柳烟    时间: 2010-10-3 23:50

我认为学习复分形,UF中的范例是最好的范例,所以我还是坚持将里面漂亮的范例,演绎完。
未命名.JPG

图片附件: 未命名.JPG (2010-10-3 23:50, 18.39 KB) / 下载次数 1394
http://inrm3d.cn/attachment.php?aid=7494&k=1f98278a1216da977163f7c0cbc035aa&t=1715112349&sid=7p890o


作者: 榕坚    时间: 2010-10-4 18:41

柳老师能否说明一下是如何处理whitesq这个逻辑变量的?这个JD-SG系列演绎的相当棒。
作者: 柳烟    时间: 2010-10-4 21:54

29# 榕坚
我是看到此系列的分形在UF中不是一次形成的,好象都是经过两次图层的叠加而成。其它的分形几乎都是立即成象。所以我是分别造两个复分形,然后将扫出的两个轨迹叠加在一起。不知对也不对。
作者: 榕坚    时间: 2010-10-4 21:57

如何将两个轨迹叠加呢?不是用两条轨迹线扫描吧?
作者: 柳烟    时间: 2010-10-4 22:17

31# 榕坚
先造好第一个复分形,扫出图形后,可将轨迹隐藏,再造另一个复分形,再扫出图形,最后将起先隐藏的轨迹显现,这样扫出的就是叠加后的分形图形。我今天在单位,文件在家里的U盘上,不久我将我的文件附上。不知有无其它方法造此类分形。
作者: xiaongxp    时间: 2010-10-5 00:10

31# 榕坚
先造好第一个复分形,扫出图形后,可将轨迹隐藏,再造另一个复分形,再扫出图形,最后将起先隐藏的轨迹显现,这样扫出的就是叠加后的分形图形。我今天在单位,文件在家里的U盘上,不久我将我的文件附上。 ...
柳烟 发表于 2010-10-4 22:17
计算m=.5(1-sgn(abs(z^2+c)-1.1)),以m*(z^2+c^-1)+(1-m)*(-z^2+c)为绘制点,阈值为30按逃逸时间算法迭代。
作者: 榕坚    时间: 2010-10-5 00:27

33# xiaongxp


两种效果不一样的,之前我做的两个图形是各自为政的,我想要的是叠加的效果。
作者: xiaongxp    时间: 2010-10-5 14:16

33# xiaongxp


两种效果不一样的,之前我做的两个图形是各自为政的,我想要的是叠加的效果。
榕坚 发表于 2010-10-5 00:27
用33楼方法,可以一次扫描合并分形。这是我的源文件,缺陷是没有实现两者内外部的自然过渡,大家一起想想办法吧。
C&C^-1两集合并.jpg

图片附件: C&C^-1两集合并.jpg (2010-10-5 20:27, 141.16 KB) / 下载次数 1926
http://inrm3d.cn/attachment.php?aid=7508&k=23c77ab9c56e1f430223b6fc4e7fe546&t=1715112349&sid=7p890o



附件: C&C^-1两集合并.gsp (2010-10-5 20:27, 18.4 KB) / 下载次数 2456
http://inrm3d.cn/attachment.php?aid=7509&k=41d6c97a372aad63db9caf858d07bf96&t=1715112349&sid=7p890o
作者: 榕坚    时间: 2010-10-6 09:06

原来柳老师真的用两条轨迹线扫描的:

图片附件: JD-SG-02-2.JPG (2010-10-6 09:07, 50.59 KB) / 下载次数 1775
http://inrm3d.cn/attachment.php?aid=7518&k=11849b68a5be0ded19923e5c3f4a04d9&t=1715112349&sid=7p890o


作者: 榕坚    时间: 2010-10-6 09:26

几何画板的可挖掘性太强大了,一条轨迹线成象:

图片附件: JD-SG-02-1.JPG (2010-10-6 09:26, 71.85 KB) / 下载次数 1751
http://inrm3d.cn/attachment.php?aid=7519&k=b9adcbe09fae6467211b9536f706dd73&t=1715112349&sid=7p890o






欢迎光临 inRm3D: 画板论坛 (http://inrm3d.cn/) Powered by Discuz! 7.0.0