Snap svg:路径变换和相交计算

Snap.svg库在SVG路径变换时可能导致相交点计算错误。通过使用`transform`、`matrix`和`toString`方法无法正确处理路径变换。文章介绍了如何利用`map`方法将变换映射到路径上,从而动态更新路径定义,确保相交点计算的准确性。附带的示例代码展示了这种方法的效果。
摘要由CSDN通过智能技术生成

Snap.svg对原生的svg进行了封装,为svg的创建、操作提供了便捷的方法,但是官网的文档对一些概念没有解释,难免会造成困扰。比如说路径的旋转,就存在变换后得不到路径交点的问题。

用普通的变换得不到路径的相交点

Snap.svg提供了:

  • Matrix.rotate(angle) 方法,将变换矩阵旋转一定角度。
  • Matrix.toTransformString()方法,可以将变换矩阵转成变换字符串
  • Element.transform(transformString)方法,将变换应用到元素

变换矩阵涉及到图形学的内容,可参看3D计算机图形学(原书第三版 ,第一章。

很直接的,我们会想到用这三个函数来实现变换:

let myElem = Snap('.myElem');
let angle = 45 , matrix = new Sn
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值