web 毕达哥拉斯分形树

1.目标——SVG分形树(难度:3.9

本期我们的目标是通过分形算法,利用SVG绘图元素,制作一棵分形树.树可以左右摆动,变大缩小,点击会有颜色的渐变动画.

2.分析需求——庖丁解牛

1.分形的算法都是公开的,问题在于如何将分形的算法变成SVG元素的坐标可以通过数学向量的技术实现.

2.分形图形一般都是一层一层的,创建图形也是由上一层计算出下一层,变色动画也可以按照层级来变化

3.分形树的放大,缩小,摆动,通过捕捉鼠标在窗口中的位置,修改树的比例参数,刷新SVG图形坐标即可

4.分型中有大量的计算,我们要控制好分形的迭代次数,保存分形的标签和坐标,用空间换取计算时间

...

4-a 坐标计算

ab向量的单位方向向量为

  abx/ab_mod,aby/ab_mod

向量be的坐标

因为  be的方向 = ab向量方向

但是  be的长度!= ab的长度

所以   向量be = 向量ab / ab长度 * be长度

  bex = abx/ab_mod * be_mod,

  bey = aby/ab_mod * be_mod

...

原代码和详细教程请下载附件:

链接:https://pan.baidu.com/s/1fi9oOmbRwf5voH18ULt6oA 
提取码:vs9t

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值