返回列表 回复 发帖
减少计算量的核心不在这里。对于不同位置的点C,当迭代次数达到一定的值时,迭代终点的位置就不再有明显的变化,这时再作更多的迭代其实已经无用了。我们现在所作的一切都是基于迭代终点进行的。也就是基于距离进行的 ...
分形几何 发表于 2010-10-3 10:26
这个思路好,我们应该在这个方向上努力,提高效率。
关于复分形扫描提速的思考:
    第一,由于几何画板软件的局限性,终止迭代是不可能的。因为其内置“迭代”的次数不是自动的,而“深度迭代”是只能编辑循环体,不能插入转移语句的单循环结构,即便p无意义时,关于n的步长为1的迭代都将一直next下去,直到我们设定的迭代次数为止。这在我的系列掏空M集中得到了证实,扫描线在挖去部分仍然走得很慢。
第二,目前我们采用的p的算法(我最早见于胡兄的作品)是阈真值算法,迭代终点逸出时p=0,以p为缩放比,能有效地解决了将逸出点“黏贴”到逸出前的临界点位置,使逃逸时间算法在几何画板中得以实现。但是迭代运算并没有因“黏贴”而驻足,仍然在按原有的迭代公式进行运算。为了跟踪p的值,这样的运算理应继续下去。
第三,为了看清分形的细节,必须增大迭代次数;为了获得最佳视觉效果,把分形作得更艺术些,缩放框架、色带工具应运而生,这是画板分形的福音。但是这样大大增加了运算的负担,计算机已经不堪重负了,提速问题必须获得解决。
据这样的认识(不知是否正确),是否应该不去考虑如何终止迭代,而是去重新考虑作色算法呢?我们现在的作色算法都是基于et或em的算法。提速的关键是大量减少运算次数!既然不可能终止迭代,又要得到精致的美图,我想只有更改作色的基础,用z的逃逸临界点或et临界点作为作色基础,这样就可大大减少运算次数。但是,这又将面临一个新的挑战——如何度量临界点。尽管临界点的量值等于et或em,但他们的实际意义不同,后者是对迭代终点的度量。
    这是我不成熟的想法,我也作了一些努力,但没能找到提取临界点的办法。也可能此法不通,还望老师们指点迷津。
关于提速问题,各位板友各述已见,这为画板分形的发展提供了理性思维。这种理性的正确性有待于在实践中检验。有些不争的事实,我们更应该首先搞清,这样才能减轻我们的拓展工作,把有限的精力用于正确有效解决实际问题上去。我们不妨先理一理思路。
1.思路之一,先用一个较少次数的迭代找到一个不同点的迭代指标数,这个指标数也只是一个近似值,然后再根据这个指标数进行一轮新的迭代,这次的迭代次数与上一次确定的指标数有关。这种思路可以提高分形的迭代次数。比方说初始迭代次数为10,某点C结果显示的et值是3,这样我们就可以以3为参照数,比方用其值的100倍作为下一轮迭代的次数,这样就可以减少很多不必要的无效迭代,提高迭代的效用性。我试验了一下,迭代次数最高的点可以达到25000次,这是用通常的方法不可能实现的。但这种方法的不足之处是用第一次迭代的et值作为指标数,这种作法的可信度到底有多高?这种作法的初始迭代次数越大,就预示着迭代过程中的无用迭代次数的增加,但迭代次数如果太小,这种指标数准确吗?值得探讨。
24# xiaongxp


色带着色对分形绘制的速度关系影响不大,再复杂的着色算法,相对迭代过程的运算量都不算什么。向兄不用担心着色算法的复杂化会影响到分形的绘制速度。
pic16.jpg
Tah-StutterBrot.gsp (57.74 KB)
画板没有跳出循环的功能,就只好在循环次数上做文章,让循环次数做成动态的,但这个动态函数是个难题。
返回列表