javascript - 在javascript中绘制分形?

标签 javascript math fractals

<分区>

我正在研究一个 2d(对于初学者)分形项目,以此作为学习更多递归函数的有趣方式。我正在寻找一些函数,它根据一些条件规则为基于线的分形输出坐标。类似于 H 树。

这种函数/算法有名称吗?是否有任何简单的通用实现可供查看?

最佳答案

只是为了好玩:

var c = document.getElementById("cnv").getContext("2d");
var f = Math.sqrt(2);

function hor(x, y, len) {
  if(len < 1) return;

  c.beginPath();
  c.moveTo(x - len/2, y);
  c.lineTo(x + len/2, y);
  c.stroke();

  setTimeout(function() {
    ver(x - len/2, y, len/f);
    ver(x + len/2, y, len/f);
  }, 500);
}

function ver(x, y, len) {
  if(len < 1) return;

  c.beginPath();
  c.moveTo(x, y - len/2);
  c.lineTo(x, y + len/2);
  c.stroke();

  setTimeout(function() {
    hor(x, y - len/2, len/f);
    hor(x, y + len/2, len/f);
  }, 500);
}

hor(300, 90, 150)
<canvas id="cnv" width="600" height="180" />

关于javascript - 在javascript中绘制分形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31741603/

相关文章:

javascript - 如何在 IE 中的 javascript 的 onunload 事件中获取页面卸载的原因?

c - 需要数学/bignum 挑战的帮助

python - 3D分形切片渲染方法验证

java - 在分形的 Paint() 方法中使用递归

artificial-intelligence - Mandelbrot集的遗传编程

javascript - 我可以从 CoffeeScript 文件调用 Javascript 函数吗?

javascript - console.log 和 valueOf

javascript - 无限期动画结束事件?

Java:性能 SQRT 计算

python - 如何确保任意数量的权重总和为 1(Python)?