СВГ "Гладкая кривая" уточнение

В стандарте W3C для SVG я читаю для 'S' и 's':

(x2 y2 xy) +

Рисует кубическую кривую Безье от текущей точки до (x,y). Предполагается, что первая контрольная точка является отражением второй контрольной точки предыдущей команды относительно текущей точки. (Если предыдущей команды нет или предыдущая команда не была C, c, S или s, предположим, что первая контрольная точка совпадает с текущей точкой.) (X2,y2) - вторая контрольная точка (т. Е. контрольная точка в конце кривой). S (верхний регистр) указывает, что абсолютные координаты будут следовать; s (нижний регистр) указывает, что будут следовать относительные координаты. Для рисования многоугольника можно указать несколько наборов координат. В конце команды новая текущая точка становится последней (x, y) координатной парой, используемой в полибезье.

В случае polybezier, изменяется ли "текущая точка" или "предыдущая команда" в течение этого подпути?

Другими словами, неявно ли вычисляется первая контрольная точка, когда-либо изменяющаяся во время подпути S или s, если задано несколько наборов координат?

Стандарт гласит "в конце команды [S или s]", поэтому я подозреваю, что нет.

1 ответ

Решение

Я не уверен, что понимаю, что вы спрашиваете, или что вы подразумеваете под "изменением".

Следующий пример:

M 0,0 S 100,100, 120,120, 200,200, 220,220

считается сокращением для:

M 0,0 S 100,100, 120,120 S 200,200, 220,220

Поэтому, когда вы переходите ко второму набору S-координат (200 с), "предыдущей командой" считается "S 100 100 120 120", а не "M 0,0".

Это то, что вы спрашиваете?

Другие вопросы по тегам