Python “什么意思?”;“初始点”&&引用;“当前点”;在SVG中有什么区别
首先让我说,这似乎是一个非常愚蠢的问题,但SVG往往被低估(例如,请参阅Z/ClosePath命令@的描述并与之进行比较) 根据: “移动到”命令(M或M)建立一个新的当前点。这个 效果就像“笔”被提起并移动到一个新的位置 即,“当前点”是Python “什么意思?”;“初始点”&&引用;“当前点”;在SVG中有什么区别,python,svg,Python,Svg,首先让我说,这似乎是一个非常愚蠢的问题,但SVG往往被低估(例如,请参阅Z/ClosePath命令@的描述并与之进行比较) 根据: “移动到”命令(M或M)建立一个新的当前点。这个 效果就像“笔”被提起并移动到一个新的位置 即,“当前点”是M或M 据记载: “闭合路径”(Z或Z)结束当前子路径,并导致从当前点到当前子路径初始点绘制一条自动直线 那么,如果我假设“初始点”是当前子路径启动的点,那么我是对的吗?但是,如果正在执行的工作是在当前子路径上完成的,“当前点”=M或M,则“初始点”也应等于M
M
或M
据记载:
“闭合路径”(Z或Z)结束当前子路径,并导致从当前点到当前子路径初始点绘制一条自动直线
那么,如果我假设“初始点”是当前子路径启动的点,那么我是对的吗?但是,如果正在执行的工作是在当前子路径上完成的,“当前点”=M
或M
,则“初始点”也应等于M
或M
。这怎么可能,我没有得到什么
感谢Robert Longson,这里有一个关于“当前点”和“初始点”的解释。我的逻辑中的错误是由语句“moveto”命令(M或M)建立一个新的当前点中未加修饰的单词“build”引起的。其效果就像“笔”被提起并移动到一个新的位置。”即
M
或M
仅在处理开始时填充此“变量”
例如,想象路径数据如下:
m1 c11 c12 c13 z1 m2 c21 c22 c23 z2
在其中,m1
将填充当前\u点
变量,并将设置新的初始\u点
。之后,当处理转到下一个绘图命令时,当前_点
将成为该命令的最后一点。例如(V
是指向当前处理状态的指针):
是的,这就是它的意思。初始点是第一次(强制)移动的起始点。是的,是的。如果要关闭路径,基本上需要
Z
。如果你在最后重复第一个点,你可以达到相同的行为。如果路径上没有标记,这是正确的。@“如果你在最后重复第一个点,你可以达到相同的行为。”嗯,这不是完全正确的:“当子路径以“closepath”结尾时,它的行为与“手动”时不同“通过“lineto”命令关闭子路径,了解“stroke linejoin”和“stroke linecap”的实现方式。”谢谢。在深入阅读后,我发现我在“moveto”命令(M或M)中遗漏了关键字“建立”以建立新的当前点。“完全忘记了“current point”是上一个子路径的最后一点。
V
m1 c11 c12 c13 z1 m2 c21 c22 c23 z2
initial_point = current_point = m1
V
m1 c11 c12 c13 z1 m2 c21 c22 c23 z2
current_point = c11.last_point
V
m1 c11 c12 c13 z1 m2 c21 c22 c23 z2
current_point = c12.last_point
...
V
m1 c11 c12 c13 z1 m2 c21 c22 c23 z2
initial_point = current_point = m2