Wednesday, May 4, 2016

Inkscape arrow skew


I am trying to draw a diagram in isometric in Inkscape (v0.92.4). For each object, I apply a skew and a rotation of the angle of the axonometric grid. I am facing an issue with applying a skew on arrows. Indeed if the arrow is not in a group the skew is not applied as expected. Here is a screenshot of the issue:


Skew issue


Does anyone have an explanation on this behaviour?


Thank you in advance



Answer



Skewing objects in SVG is the same as applying a transformation matrix to them (so, think of it as 'multiplicating the numbers with a set of other numbers').


If the object you do that to is a path, Inkscape will just crunch the numbers and change the coordinates of the path (by default).


The arrows at the end of the path are part of the path's style (they are markers). Just like the stroke, their width does not change when the coordinates of the path are changed.


If your object is a group, this approach does not work, and Inkscape will apply the calculation to the whole rendering of the group, and so, distort the group and everything in it. This is done by adding a transformation matrix to the SVG code which will be applied after the path has been rendered.



You can change this behavior in the Inkscape preferences, at Edit > Preferences > Behavior > Transforms: Store transformations: preserved. This will keep the transformation matrices and will not change the path's coordinates.


Or you can do Path > Stroke to Path to get a skewable object instead of a marker, whose shape changes when you skew it.


No comments:

Post a Comment

technique - How credible is wikipedia?

I understand that this question relates more to wikipedia than it does writing but... If I was going to use wikipedia for a source for a res...