Чистый синусоидальный декор

Чистый синусоидальный декор

Tikz предлагает snakeдекорацию, которая, однако, не является чистой синусоидальной декорацией. Как написано в руководстве Tikz, snakeэто "синусоидальная волна со смягченным началом и концом". Я хотел бы иметь чистую синусоидальную декорацию.

Я знаю, что существует решение для complete sines, которое всегда рисует полное число синусов:

TikZ завершает трансформированный путь прямым сегментом

Проблема в том, что я хочу, чтобы линия стала прямой, если синусы не вписываются. Т.е.

\draw [decoration={sines,segment length=1cm,amplitude=1cm},decorate] (0,0) -- (0,1.6cm);

следует нарисовать 1,5 синуса и прямую линию длиной 0,1 см. Это также должно работать с pre lengthи post length, как и snakeделает.

Думаю, это должно быть проще complete sines, но я не знаю, как адаптировать решение @Jake к моим нуждам.

Связанный контент