Board logo

标题: 让我们开始IFS分形的扫描法探究吧! [打印本页]

作者: xuefeiyang    时间: 2010-7-9 11:50     标题: 让我们开始IFS分形的扫描法探究吧!

IFS分形的作法简单,但有一个致命的缺陷,就是太占内存了,当迭代次数一大,就会卡,其次是缩放比有限,当我们想看看局部细节时,有点儿困难!探究IFS分形的扫描作法,本身是一种手段的转变,这种转变是有意义的!就从最简单的谢氏三角形开始。
作者: xuefeiyang    时间: 2010-7-9 11:57

谢氏三角形的作法,在平面内任作三点,可以看作是一个三角形的三个顶点,分别作出这个三角形三边的中点,这样可以看作是把原三角形分成了四个全等的三角形,把原三角形的三个顶点依次迭代到原三角形三个角处的三个小三角形,就得到了谢氏三角形。
迭代线段: Snap78.jpg
源文件: 1.gsp (4.11 KB)
迭代点: Snap79.jpg
源文件: 1.gsp (2.88 KB)

图片附件: Snap78.jpg (2010-7-9 11:57, 30.59 KB) / 下载次数 3044
http://develop.forums.netpad.net.cn/attachment.php?aid=5972&k=3c2856bcb37917fb6e56793dbb27b491&t=1750198752&sid=l3Vwah



附件: 1.gsp (2010-7-9 11:57, 4.11 KB) / 下载次数 5362
http://develop.forums.netpad.net.cn/attachment.php?aid=5973&k=cb83fb3e2675c6d7601da979a621f670&t=1750198752&sid=l3Vwah

图片附件: Snap79.jpg (2010-7-9 12:03, 28.32 KB) / 下载次数 3072
http://develop.forums.netpad.net.cn/attachment.php?aid=5974&k=786d99dccac385bd492d2ac6c4d109bd&t=1750198752&sid=l3Vwah



附件: 1.gsp (2010-7-9 12:03, 2.88 KB) / 下载次数 5817
http://develop.forums.netpad.net.cn/attachment.php?aid=5975&k=67a43fcd72a253eb9ee2d76aea83f1da&t=1750198752&sid=l3Vwah
作者: xuefeiyang    时间: 2010-7-9 12:44

初始化:
  complex z = #pixel     //复数z = 任意点
循环:
  IF (imag(z)>0.5)
    z = 2*real(z) + flip(2*imag(z)-1)
  ELSEIF (real(z)>0.5)
    z =2*real(z)-1 + flip(2*imag(z))
  ELSE
    z = 2*real(z) + flip(2*imag(z)))
  ENDIF
这一小段代码转化为我们中学教师比较熟悉的表达方式就是:
对任一点z(x,y),迭代公式为:
z=(2x+r1*(r2-1),2y-1+r1),
其中r1=0.5(1-sgn(.1+sgn(y-0.5))),
r2=0.5(1-sgn(.1+sgn(x-0.5))).
画板扫描的效果图之一:
Snap80.jpg
源文件: 2.gsp (12.49 KB)

图片附件: Snap80.jpg (2010-7-9 14:53, 27.11 KB) / 下载次数 3019
http://develop.forums.netpad.net.cn/attachment.php?aid=5976&k=d3c1a50bf75c9e7bbeac4cab0a5a9a45&t=1750198752&sid=l3Vwah



附件: 2.gsp (2010-7-9 14:53, 12.49 KB) / 下载次数 5810
http://develop.forums.netpad.net.cn/attachment.php?aid=5977&k=1e2491726b3c90c1460e8918bdbdd793&t=1750198752&sid=l3Vwah
作者: inRm    时间: 2010-7-9 14:38

王老师出手,又是一片风景。
作者: changxde    时间: 2010-7-9 14:44

这个是画板分形的一个新课题,值得研究。下面是论坛上已有的结果,可供参考。

http://www.inrm3d.cn/redirect.ph ... 441&ptid=1033]

http://www.inrm3d.cn/redirect.ph ... 544&ptid=1251]

http://www.inrm3d.cn/redirect.ph ... 621&ptid=1251]

http://www.inrm3d.cn/redirect.ph ... 424&ptid=1033]

http://www.inrm3d.cn/redirect.ph ... 484&ptid=1213]
作者: xuefeiyang    时间: 2010-7-9 14:55

3# xuefeiyang


思考1:这里的分类标准为什么会以x=0.5,y=0.5为界把平面分成四个区域呢?(其中合并了两个,区域个数为3)
2:迭代公式是依据什么来的?
作者: changxde    时间: 2010-7-9 16:42

3# xuefeiyang


思考1:这里的分类标准为什么会以x=0.5,y=0.5为界把平面分成四个区域呢?(其中合并了两个,区域个数为3)
2:迭代公式是依据什么来的?
xuefeiyang 发表于 2010-7-9 14:55
1. x=0.5,y=0.5 是找到各边中点。
2.迭代公式是依据各个小三角形变换到大三角形的仿射变换。
作者: xuefeiyang    时间: 2010-7-9 16:48

9# changxde


1.分类的作用究竟是什么?是让处于这个区域的点收敛到哪个中点?
2.仿射变换具体是如何变换成上面的迭代公式的呢?
我们的目标是通过这个简单的例子来说明如何由IFS分形的作法转换成扫描作法的一般方法。从前面几个源文件看,扫描法要处理的技巧比那种迭代线段或是迭代点要复杂得多。
作者: 柳烟    时间: 2010-7-9 17:01

这个分形虽然好多人都会作,但是不明数学机理,作出来了,又有何作用呢?
作者: changxde    时间: 2010-7-9 17:04

扫描法的特点是没一点着色值是唯一的。
没一点的迭代象应该是唯一的(这是与IFS本质的区别),确定象要靠相似性分类处理。
仿射变换用三点法来求,就得到上面的公式。
作者: xuefeiyang    时间: 2010-7-9 17:21

11# 柳烟


我们现在不正是在探讨它的作法机理吗?这是一个通过交流来搞明白的过程。需要大家的积极思考与参与。
作者: xuefeiyang    时间: 2010-7-9 17:38

12# changxde


能具体说一下如何通过解方程组来确定变换的方式吗?
作者: xiaongxp    时间: 2010-7-9 18:00

正想好好学习。
如果只是仿射变换,其逆变换还是好求的。
这些ISF应该能扫描出来:http://www.fractalsciencekit.com/tutorial/orbital/orbital1.htm
作者: xuefeiyang    时间: 2010-7-9 19:46

假定平面内有三点A、B、C,还有另外三点D、E、F,如果我想用线性变换,把三点A、B、C分别变换到D、E、F,请你确定变换的系数。变换的格式:(x,y)=(ax+by+e,cx+dy+f)。这里有6个待定的系数,a\b\c\d\e\f.
作者: changxde    时间: 2010-7-9 20:40

列六个方程,解方程即可。
实际上是原来IFS的逆过程。想一想Julia集的ISF作法和扫描法就知道了。
作者: xuefeiyang    时间: 2010-7-9 21:14

你这样说还是有很多板友不明白。我们想作的就是让大家明白,然后来讨论更一般的问题。实际上这个问题在《分形图形学》中有。P181
作者: xiaongxp    时间: 2010-7-9 22:22

二位的讨论从理论上阐明了16楼提出的问题。明白数学原理是必要的,真要解六元线性方程组也是相当麻烦的,在实际应用中我们可以借助工具定义变换:
由3组对应点定义分式线性变换.gsp (10.9 KB)
由公式定义分式线性变换的工具:
由公式定义分式线性变换.gsp (13.71 KB)

附件: 由3组对应点定义分式线性变换.gsp (2010-7-9 22:32, 10.9 KB) / 下载次数 4417
http://develop.forums.netpad.net.cn/attachment.php?aid=5982&k=d7bbb43040fe92e91daed0f73e751ff3&t=1750198752&sid=l3Vwah

附件: 由公式定义分式线性变换.gsp (2010-7-9 22:34, 13.71 KB) / 下载次数 4577
http://develop.forums.netpad.net.cn/attachment.php?aid=5983&k=c052b9929bcae150b2f5476f77bb0a58&t=1750198752&sid=l3Vwah
作者: xuefeiyang    时间: 2010-7-11 11:51

谢氏图的变形:
Snap83.jpg

图片附件: Snap83.jpg (2010-7-11 11:51, 63.79 KB) / 下载次数 3646
http://develop.forums.netpad.net.cn/attachment.php?aid=6001&k=23401d416ce0b1f04532a6d9bc75eaef&t=1750198752&sid=l3Vwah


作者: math    时间: 2010-7-13 17:14

20# xuefeiyang


这就是皇冠吧?
作者: xiaongxp    时间: 2010-7-13 19:15

皇冠没那么好看,在帖子《迭代函数系统IFS》
作者: changxde    时间: 2010-7-14 10:15

引入z->z^3变换的谢氏图
screenshot2.jpg

图片附件: screenshot2.jpg (2010-7-14 10:15, 35.68 KB) / 下载次数 2229
http://develop.forums.netpad.net.cn/attachment.php?aid=6052&k=8345dc6873a695aadf1f2ee31d9e4907&t=1750198752&sid=l3Vwah


作者: math    时间: 2010-7-14 11:07

学着引入变换:Z--Z-1/Z

图片附件: qq1.JPG (2010-7-14 11:07, 33.39 KB) / 下载次数 1787
http://develop.forums.netpad.net.cn/attachment.php?aid=6053&k=13636d5c6388a20dd20ead6cc9502499&t=1750198752&sid=l3Vwah


作者: xuefeiyang    时间: 2010-7-14 19:19

大清的皇后:
Snap87.GIF

图片附件: Snap87.GIF (2010-7-14 19:26, 25.15 KB) / 下载次数 2222
http://develop.forums.netpad.net.cn/attachment.php?aid=6070&k=36d42c69e3770be756aff45a00381566&t=1750198752&sid=l3Vwah


作者: math    时间: 2010-7-14 20:39

25# xuefeiyang


这是扫描的吗?
作者: xuefeiyang    时间: 2010-7-14 21:28

这个不是扫描的。是用IFS方法生成的。扫描应该可以实现。
作者: xuefeiyang    时间: 2010-7-16 22:55

把下面这个色带映射到M集中会得到这样一个着色效果:
Snap95.jpg
Snap94.jpg

图片附件: Snap95.jpg (2010-7-16 22:55, 3.69 KB) / 下载次数 2216
http://develop.forums.netpad.net.cn/attachment.php?aid=6094&k=b963eb55d8787d9b0189f1feb8b7353f&t=1750198752&sid=l3Vwah



图片附件: Snap94.jpg (2010-7-16 22:55, 20.64 KB) / 下载次数 2211
http://develop.forums.netpad.net.cn/attachment.php?aid=6095&k=f6a667f4878e8c13edfac2d6ec808c26&t=1750198752&sid=l3Vwah


作者: 榕坚    时间: 2010-7-24 20:49

想做四边形的谢氏图,却弄出了这么一个效果来,这区域到底是怎么划分的:

图片附件: 捕获.JPG (2010-7-24 20:49, 42.82 KB) / 下载次数 1706
http://develop.forums.netpad.net.cn/attachment.php?aid=6159&k=e7d12444e5da7f98be2035e7e2388f5f&t=1750198752&sid=l3Vwah


作者: xuefeiyang    时间: 2011-2-26 12:05

Snap5.jpg

图片附件: Snap5.jpg (2011-2-26 14:15, 29.33 KB) / 下载次数 2195
http://develop.forums.netpad.net.cn/attachment.php?aid=10389&k=989092b722d2c853b8190afcbbad4512&t=1750198752&sid=l3Vwah


作者: xuefeiyang    时间: 2011-2-26 12:12

Snap6.jpg

图片附件: Snap6.jpg (2011-2-26 14:18, 26.16 KB) / 下载次数 2188
http://develop.forums.netpad.net.cn/attachment.php?aid=10390&k=8b96ada7f6860fefe8c7074a746e7dce&t=1750198752&sid=l3Vwah


作者: xuefeiyang    时间: 2011-2-26 12:20

Snap8.jpg
Snap7.jpg

图片附件: Snap7.jpg (2011-2-26 14:18, 29.62 KB) / 下载次数 2269
http://develop.forums.netpad.net.cn/attachment.php?aid=10391&k=7888aff7d134b80e0a29aff27977b4ec&t=1750198752&sid=l3Vwah



图片附件: Snap8.jpg (2011-2-26 14:18, 30.93 KB) / 下载次数 2213
http://develop.forums.netpad.net.cn/attachment.php?aid=10392&k=e2f5eb0b30955ec390e60c898276ff43&t=1750198752&sid=l3Vwah


作者: xiaongxp    时间: 2011-2-26 13:55

32# xuefeiyang
胡兄好。能将M集嵌入到白色三角形内且芒刺向下吗?
作者: xuefeiyang    时间: 2011-2-26 14:16

33# xiaongxp


可以试试,这个想法挺好!
作者: xuefeiyang    时间: 2011-2-27 20:28

Snap9.jpg
[attach]10425[/attach]
[attach]10426[/attach]
[attach]10427[/attach]

图片附件: Snap9.jpg (2011-2-27 21:06, 29.69 KB) / 下载次数 3005
http://develop.forums.netpad.net.cn/attachment.php?aid=10421&k=9fde791b167500ac6366d0097131461e&t=1750198752&sid=l3Vwah



图片附件: Snap10.jpg (2011-2-27 21:06, 22.25 KB) / 下载次数 2821
http://develop.forums.netpad.net.cn/attachment.php?aid=10422&k=800c038d5e06a9acbfef793bd8fd242d&t=1750198752&sid=l3Vwah



图片附件: Snap11.jpg (2011-2-27 21:06, 22.26 KB) / 下载次数 2800
http://develop.forums.netpad.net.cn/attachment.php?aid=10423&k=b224ba69b9482adc76d2bd9b09c6607d&t=1750198752&sid=l3Vwah



图片附件: Snap12.jpg (2011-2-27 21:06, 12.19 KB) / 下载次数 2839
http://develop.forums.netpad.net.cn/attachment.php?aid=10424&k=2a5088fef18bd234d390e0631c6cf8ac&t=1750198752&sid=l3Vwah






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