och曲线是一个数学曲线,同时也是早期被描述的一种分形曲线。它由瑞典数学家Helge von Koch在1904年发表的一篇题为“从初等几何构造 的一条没有切线的连续曲线”(原来的法文题 目:"Sur une courbe continue sans tangente, obtenue par une construction géométrique élémentaire") 的论文中提出。有一种Koch曲线是象雪花一样,被称为Koch雪花(或Koch星),它是由三条Koch曲线围成的等边三角形。
设想从一个线段开始,根据下列规则构造一个Koch曲线:
1.三等分一条线段;
2.用一个等边三角形替代第一步划分三等分的中间部分;
3.在每一条直线上,重复第二步。
Koch曲线是以上步骤地无限重复的极限结果。
-----------摘自分形频道-http://www.fractal.cn/----------
step1. 三等分一条线段
step2.等分每条线段,把中间部分替换为等边三角形
step3. 重复以上步骤。
程序实现:
实现第一点,然后用enterframe/ setInterval 来完成2/3步骤。其中,可以指定STEP为一个常数,而不是实际分形中的无限大,避免程序死机。 每一个迭代中,储存每条线段到array裏,将step2的步骤代入到迭代公式。具体为求得P1-P3点坐标,绘制线段。 为了简化程序中的计算。单独写line class,来获取该线段的必要参数,如rotation angle, start point,end point, distance等。每次当前迭代的线段终点等于初始线段的终点,则开始下一轮迭代。
超过STEP常量,中止循环。完成绘图。
设想从一个线段开始,根据下列规则构造一个Koch曲线:
1.三等分一条线段;
2.用一个等边三角形替代第一步划分三等分的中间部分;
3.在每一条直线上,重复第二步。
Koch曲线是以上步骤地无限重复的极限结果。
-----------摘自分形频道-http://www.fractal.cn/----------
step1. 三等分一条线段
step2.等分每条线段,把中间部分替换为等边三角形
step3. 重复以上步骤。
![koch-1](https://p-blog.csdn.net/images/p_blog_csdn_net/rxdxr/EntryImages/20090107/koch_1.jpg)
程序实现:
实现第一点,然后用enterframe/ setInterval 来完成2/3步骤。其中,可以指定STEP为一个常数,而不是实际分形中的无限大,避免程序死机。 每一个迭代中,储存每条线段到array裏,将step2的步骤代入到迭代公式。具体为求得P1-P3点坐标,绘制线段。 为了简化程序中的计算。单独写line class,来获取该线段的必要参数,如rotation angle, start point,end point, distance等。每次当前迭代的线段终点等于初始线段的终点,则开始下一轮迭代。
超过STEP常量,中止循环。完成绘图。