SVG路径命令“s”和“t”
问题描述:
当执行"s"
(相对三次贝塞尔曲线)和"t"
(相对二次贝塞尔曲线)时,隐式定义的控制点的坐标是否被用作下一个相对坐标的基础?SVG路径命令“s”和“t”
换句话说考虑以下立方米弧:
-
cp
当前点计算镜像从以前的圆弧 -
ep
明确的控制点最后一个控制点 -
ip
隐含控制点 -
fp
最后一点电弧
的T应当的ep
用作碱ip
(隐式点)的相对坐标,或者它们应该相对于cp
(路径的当前点)?
在官方文档中,我发现这个不清楚,没有使用相对坐标的例子。
答
的documentation here指出大写小号预计绝对坐标,而较低的情况下小号预计相对坐标。类似于T(绝对)和t(相对)。
编辑 - 相对于目前点 - 对不起,应该是明确的。连接于上述相同的文档包括以下:
有关这些命令的相对版本中,所有的坐标值在命令的开始是相对于当前点
答
规则是
当使用相对模式的坐标在命令的开始是相对于当前点
在当多个坐标,而无需重复基点每次重复
例如简单的路径
m 100,100 100,0 0,100 -100,0 0,-100
描述之后被更新命令给出的命令“链”的情况下(100,100)至(200,200)
(所述l
“线对”以红色显示命令是隐式的,如果多个坐标被提供用于“m”个命令对)
要注意的是,相对“基地”为坐标在被更新的重要点每个转折点。这在文档中有些欺骗,因为m
命令的语法被描述为接受(x,y)+
作为参数,所以读者可能会被欺骗地认为相对基础只会在整个点序列的末尾改变。
现在让我们考虑贝塞尔立方路径
m 100,100 c 25,25 75,25 100,0 s 25,125 0,100 -75,-25 -100,0
两个红色控制点被镜像的最后一个控制点自动计算。红色s
命令是隐含的,因为四个点跟在s
之后。
对于三次Bezier弧命令,两个控制点和终点是相对于同一个起点(它们与序列中的前一个不相对),但是在每个圆弧处更新相对坐标计算的基点。
你能否确认你在说贝塞尔曲线?你在问题中提到“弧”。 – 2013-04-07 09:07:20
对不起......是的,我正在谈论贝塞尔三次和二次弧(svg'路径元素的's'和't'代码) – 6502 2013-04-07 09:08:29