Улучшенная кривая

From Synfig Studio :: Documentation
Jump to: navigation, search
(Specific parameters for Advanced Outline Layer)
m
Line 2: Line 2:
 
{{Title|Улучшенная кривая}}
 
{{Title|Улучшенная кривая}}
 
{{Category|Layers}}
 
{{Category|Layers}}
 +
{{Category|Geometry}}
 
{{NewTerminology}}
 
{{NewTerminology}}
 
<!-- Page info end -->
 
<!-- Page info end -->

Revision as of 13:18, 26 February 2017

Languages Language: 

English • русский


Under construction! See Advanced Outline Layer Talk page

Layer geometry advanced outline icon.png

Что такое улучшенные кривые

Отличия от контуров: Толщина кривой

Контрольные точки Толщины определяют ширину обычной кривой в определённых местах.

Обычная кривая имеет Контрольные точки толщины которые связаны с вершинами кривой и определяют её форму в этих местах. Это значит что пользователь вынужден добавлять новую вершину каждый раз когда понадобится изменить толщину кривой в каком то конкретном месте. Это решение может оказаться проблематичным когда форма кривой достаточно проста, а вот её толщина меняется в широких пределах.

Практика показывает что чаще всего возникает необходимость изменять толщину кривой независимо от расположения вершин на ней, именно эта функция и возложена на Улучшенную кривую Контрольные точки толщины которой устроены по другому принципу, они свободно перемещаются вдоль кривой и определяют её форму в любом произвольном месте.

Новые возможности

Улучшенные кривые представляют новые возможности работы с кривыми которые показаны в этом видео Advanced outline demo. Рассмотрим их подробнее ниже:

Параметры Улучшенной кривой

Name Value Type
Type real icon.png Глубина на оси Z 0.000000 real
Type real icon.png Величина 1.000000 real
Type integer icon.png Режим смешивания Composite integer
Type color icon.png Цвет
color
Type vector icon.png Исходная точка 0.000000u,0.000000u vector
Type bool icon.png Инвертировать
bool
Type bool icon.png Сглаживание
bool
Type real icon.png Растушёвка 0.000000pt real
Type integer icon.png Тип Растушёвки Fast Gaussian Blur integer
Type integer icon.png Обработка взаимопересечений Non Zero integer
Type list icon.png Вершины List list (Spline)
Type real icon.png Толщина контура 2.000000pt real
Type real icon.png Расширение 0.000000pt real
Type integer icon.png Тип закругления в начале Rounded Stop integer
Type integer icon.png Тип закругления в конце Rounded Stop integer
Type integer icon.png Тип пиков Sharp integer
Type real icon.png Плавность 0.500000 real
Type list icon.png Список точек толщины List list(WPList)
Type bool icon.png Быстрая отрисовка
bool
Type bool icon.png Пунктирная линия
bool
Type list icon.png Список элементов пунктира List list(WPList)
Type real icon.png Dash Items Offset 0.000000u real
































Специфические параметры Улучшенной кривой

Это раздел описывает только параметры относящиеся к Улучшенной кривой, для того чтобы узнать больше об остальных параметрах обратитесь к странице "контуры".

  • Tip Type at start
  • Tip Type at end
  • Cusps type
  • Smoothness
  • Width Point List

Tip type at start / end

As with width points, the end and start of the unlooped Advanced Outlines has a type of tip defined. The user can choose between the same types of tips as for a width point. When the first/last width point has its before/after interpolation type set to Interpolate the start/end of the outline is rendered using the Tip type at start/end parameter.

Those parameters don't have any effect if the Spline is looped or the first/last width point has its before/after interpolation type set to anything but Interpolate. In that case, the segment between the start/end width point and the start/end of the Spline is not rendered.

The types of tips are the same as the width point tip types except that it doesn't offer the Interpolate type because it would not make sense:

  • Rounded
  • Squared
  • Peak
  • Flat

Cusps type

There are three types of cusps in the Advanced Outline:

  • Sharp
  • Rounded
  • Bevel

The type of cusp is controlled for the entire layer so currently it is not possible to control the type of corner individually. Maybe in future versions it will be possible.

Smoothness

The Smoothness controls how the width is calculated between widthpoints. The width at a position p is a function of the surrounding width points. When smoothness is zero interpolation is lineal, when smoothness is 1.0 interpolation is given by a 5th degree smooth Spline.

Width Point List

Each Advanced Outline has a list of parameters that represent the information for each width item. They are called Width Points and consist of four sub-parameters:

  • Position (Real number): represents the position of the width point along the Spline. Although it is allowed to be any real number, its meaning is only from 0.0 to 1.0. 0.0 corresponds to the start of the Spline (first Spline point on the Spline list) and 1.0 to the last Spline point. For looped Splines 0.0 and 1.0 are equal. The position is represented by the light purple Handle that always lies on the Spline.
  • Width (Real number): It is the width multiplicator of the global Width parameter of the Advanced Outline Layer on the position given by the Position parameter. The final width is calculated multiplying the global Advanced Outline's Width (W) by the Width of the widthpoint (w) and adding the Expand parameter (E). Calculated width = W*w+E
  • Tip Side Before/After: Those two sub-parameters controls how the width is interpolated before and after the current widthpoint. The sub-parameter can have four values:
    • Interpolate: Between the previous/following width point, the width is calculated by interpolation based on smoothness value.
    • Rounded: There is a rounded tip that points to the width point before or after. If the previous/following width point is 'Interpolate' on its posterior/previous side it considers that the width of the widthpoint in question is zero just before/after it. If the previous/posterior width point is other than 'Interpolate' then the segment between those two width points is empty. See examples to understand it fully.
    • Squared: Same as Rounded but using square tip.
    • Peak: Same as Rounded but using peak tip.
    • Flat: Same as Rounded but using flat tip.

The Width Point list has one internal non-animatable parameter called loop. You can reach it by right clicking the Width Point List parameter. If the Width Point list is unlooped, then any width point that has a Position outside the range of [0,1] is clamped to (brought within) that range. For example: a Position = 1.35 is clamped to 1.0 then the Width Point List is unlooped. Otherwise, if the Width Point List is looped and a width point has a Position of 1.3, its modulus based on the range [0,1] is used, so it is turned to a position of 0.3.

Working with the Avdanced Outline

Creation of the Advanced Outline

You can create Advanced Outlines in three ways:

Change the width of the Width Points

Initially the width Handles are hidden. You can make them visible by pressing (Alt5) or clicking on the width toggle button. It is possible to change the width using the Коррекция Толщины (Width Tool) using the same procedure as for regular outlines. If you want more control over the width you can modify the width Handles with the Transform Tool (AltA). More fine tunning is possible by expanding the width point sub-parameter and entering a specific value for the Width sub-parameter. In that case negative values are allowed to produce nice effects.

Change the position of the Width Points

When you make the width Handles of the width points visible/invisible, the position Handles also become visible/invisible. This way, the user has a single way to hide/show the position and width Handles.

Change the position of the Width Points

This may change in the future
note end


The position Handles of the width points can be modified using the Transform Tool (AltA) and clicking and dragging the position Handle. You will notice that Handles are tied to the Spline so once clicked and dragged they can be placed at any way on the Spline. Notice that if you have a width point position Handle at position 0.2 and you click and drag at position 0.9 it may happen that you obtain a value of -0.1 because you dragged it in one step and the Width Point List may be looped. If you want to avoid those problems do the movement in small steps to indicate the correct path to follow when calculating the new position.

Adding or removing width points

To add a new width point you have to right click on the width point position Handle (purple Handle) to get the context menu. Then select "Add Item (smart)" here to create more width points entries. The width points are created this way:

In the general case, the new widthpoint is created between the width point you click on and the "previous" width point. Depending on the loop status of the Spline, the "previous" width point can be the start of the Spline (unlooped) or the last widthpoint (looped). The worst case is when there is only one width point on the Width Point List. If you add one new item it will lie over the existing one.

The newly added width point will have the interpolated width at the position where it is created.


Specific actions for Width Points

Some needed actions have been added to width points as well as functionality for existing actions for items of the List type parameters. You can reach the list of available actions by right clicking on the width point position or directly on the width point item of the Width Point List. Here are some descriptions of the available actions:

  • Convert: Width Points are composite Value Nodes so its natural format is Composite (you can access its components). But you can convert it to other formats. See Convert for details.
  • Disconnect: This will disconnect the width point item from the Composite type Value Node. That means that there won't be any Handle to show and that any of its values can be modified. Maybe it is useful for some types of workflows. To restore its Composite status, choose Convert->Composite.
  • Insert/ Remove Item Smart: This will add or remove a width point. If Remove is used in animation mode, it will also set the current width point as OFF instead of effectively removing it from the Width Point List. Opposite for the Insert Item Smart.
  • Mark Active Point as ON/OFF: You can set width points off to make it not count for width control while the width point is off. When the width point is half on to off or viceversa, the used width point should be the interpolation between the on and off status. But it doesn't work properly at the moment. On / Off values are not interpolated but fully on or fully off. This has to be corrected.
  • Export: See Export.
  • Loop: When set as looped, as mentioned before, it allows the width point positions loop around the range [0,1].
  • Rotate Order: Doesn't do anything.
  • Set Side Before/After to: Interpolate, Rounded, Squared, Peak, Flat. Those are shortcuts to do the same as going directly to the sub-parameter and choosing the appropriate Tip Type. Maybe it should be renamed to "Set Tip Before/After".
  • Set Width to default/zero: those actions have been added for two reasons. It is very common to want to set the width of a width point to zero. Despite the possibility of use the User Preference of Restrict Radius to First Quadrant, this way it is acceded quickly from the same usual menu. Also when a width point position Handle and a width point width Handle are on top of each other (width = 0) it is hard to modify the width or the position without trouble. To solve this the position Handle has preference over the width Handle in case of coincidence. So access the width Handle it is needed to have a quick action to set it to its default value (1.0).


Languages Language: 

English • русский