【发布时间】:2016-06-03 14:24:26
【问题描述】:
我有一组代表高阶贝塞尔曲线的控制点。
如何使用单个 SVG 路径绘制这条曲线?
UPD:
例如,我有一组点:(x1, y1) (x2, y2) (x3, y3) (x4, y4) (x5, y5)。
SVG 路径在C、S、Q 或 T?
UPD 2:解决方案
我问这个问题是为了描绘一个使用TweenMax 动画的对象路径。
后来我收到了GreenSock forum的回复。
这是CodePen example。
【问题讨论】:
-
我喜欢这个!你想画哪一部分?您是否也想为笔画设置动画?
-
@ChrisW。不不不,图像只是为了清楚起见。我需要通过控制点绘制静态曲线
-
那么,您对路径数据有多熟悉?您将使用
M属性定义您的起点,C定义您的起点曲线,您的点跟随第一条弧线,Z结束这一切。您可能会使用this 之类的东西来获得一点熟悉感。或者如果它是静态的,我通常只是在 Adobe Illustrator 中创建这些资源并导出到 SVG。但是,如果没有看到您尝试过的内容或不了解要点等,这个问题确实非常广泛。 -
C只允许构建三次贝塞尔曲线,即通过 4 个控制点。我需要通过任意数量的控制点来构建贝塞尔曲线:3、4、5、6 等。 -
哦,对不起,一定是嗡嗡作响,以为我看到了故意的。然后你有选择,你可以坚持使用 Cubic 并用
S将单独的线串在一起以保持坡度。或者更好的是,使用T进行多次二次计算,甚至更进一步在Q中定义点,但是有多个文档/教程可以更好地解释,而不是我有时间在 cmets 中解释。