Closed. This question needs to be more focused。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
                        
                        4年前关闭。
                                                                                            
                
        
我正在研究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/

10-16 19:47