Animation SVG路径动画从lineto到立方贝塞尔曲线命令

Animation SVG路径动画从lineto到立方贝塞尔曲线命令,animation,svg,svg-animate,Animation,Svg,Svg Animate,我正在尝试设置svg元素的动画。初始的元素具有L(lineto)命令,而我试图将其动画化的元素具有C(三次贝塞尔曲线)命令。我尝试过为它设置动画,但它并没有在两条路径之间真正转换。这样的事情可能吗 正如您所发现的,路径数据动画需要列出完全相同的命令序列和工作点。也就是说,您可以根据需要将路径划分为任意多个段,并且如果三次贝塞尔曲线的控制点位于直线上,则它可以描述直线。为了让你的例子起作用,你需要 将每个L段重写为C段 将每个C段分成三个C段,使曲线保持不变 这两项任务最好使用像Inksca

我正在尝试设置svg
元素的动画。初始的
元素具有
L(lineto)
命令,而我试图将其动画化的
元素具有
C(三次贝塞尔曲线)
命令。我尝试过为它设置动画,但它并没有在两条路径之间真正转换。这样的事情可能吗


正如您所发现的,路径数据动画需要列出完全相同的命令序列和工作点。也就是说,您可以根据需要将路径划分为任意多个段,并且如果三次贝塞尔曲线的控制点位于直线上,则它可以描述直线。为了让你的例子起作用,你需要

  • 将每个
    L
    段重写为
    C
  • 将每个
    C
    段分成三个
    C
    段,使曲线保持不变
这两项任务最好使用像Inkscape这样具有适当工具的通用编辑器来执行


正如您所发现的,路径数据动画需要列出完全相同的命令序列和工作点。也就是说,您可以根据需要将路径划分为任意多个段,并且如果三次贝塞尔曲线的控制点位于直线上,则它可以描述直线。为了让你的例子起作用,你需要

  • 将每个
    L
    段重写为
    C
  • 将每个
    C
    段分成三个
    C
    段,使曲线保持不变
这两项任务最好使用像Inkscape这样具有适当工具的通用编辑器来执行



非常感谢您的回答。还有一件事,你能从绝对路径动画到相对路径动画,或者从绝对路径动画到相对路径动画吗?老实说,我从来没有测试过。规定数据必须具有“完全相同的路径数据命令列表”。另一方面,只谈论“相同的结构”,不管这意味着什么。由于SVG 2还没有完全由浏览器实现(SMIL动画甚至不在微软的“待办事项”列表中),我不希望浏览器实现这样一个宽松的规则。Firefox允许这样做。我认为其他支持SMIL的浏览器也支持SMIL。非常感谢你的回答。还有一件事,你能从绝对路径动画到相对路径动画,或者从绝对路径动画到相对路径动画吗?老实说,我从来没有测试过。规定数据必须具有“完全相同的路径数据命令列表”。另一方面,只谈论“相同的结构”,不管这意味着什么。由于SVG 2还没有完全由浏览器实现(SMIL动画甚至不在微软的“待办事项”列表中),我不希望浏览器实现这样一个宽松的规则。Firefox允许这样做。我认为其他支持SMIL的浏览器也支持SMIL。