4

Is there a way to skew objects without changing the width?

enter image description here Instead, I want something like this. enter image description here Here's my approach:

  1. draw a rectangle
  2. rotate it
  3. extend it
  4. create a larger rectangle
  5. path > intersection enter image description here
1
  • 2
    The intersect-method shown in the edited question is the most effective method if one wants only skewed rectangles. If that's also what you want, present your own method as an answer and accept it to close the case.
    – user82991
    Commented Sep 9, 2022 at 19:42

2 Answers 2

7

Before skewing horizontally scale the object horizontally and before skewing vertically scale the object vertically. Calculate the scaling percentage P with the next formula

P = 100/cos(A) %, where A is the skewing angle.

For ex. A = 30 degrees. The cosine cos(A) = 0.86603

P = 100/0.86603 % = 115.47 %

The cosine is only in some rare special cases a number without infinitely decimals. I'm sure there's no visible error if you have 5 or more decimals in the cosine.

The method can be used with any shapes, but here's an example using rectangles:

enter image description here

The leftmost rectangle is duplicated twice and the duplicates are skewed. The result in the middle has no scaling. In the right the rectangle is scaled horizontally to 115.47 % before skewing.

The circle is the same in every 3 versions. It's inserted afterwards only for reference.

3
  • Thanks! But, can one use this method to skew shapes with horizontal and vertical strokes?
    – Clydinite
    Commented Sep 10, 2022 at 16:05
  • 1
    Stroke widths will not be adjusted in skewing nor scaling. In some programs one can set in preferences if stroke widths are scaled or not. Illustrator is one of these. You should explore thoroughly that functionality.
    – user82991
    Commented Sep 10, 2022 at 23:48
  • Thanks for your help.
    – Clydinite
    Commented Sep 11, 2022 at 9:53
5

If the visual effect is all that is required rather than the need for an actual skewed rectangle, then you could do this with a clipping group and a simple stroked path.

Here's how to set it up.

  1. Draw a single line with the Bézier tool, and add a thick stroke to the path

  2. Draw a rectangle on top, set its fill and stroke to none.

enter image description here

  1. Select both, then right click and choose Set Clip Group. Note: this is not the same as the usual Object > Clip > Set operation. A clipping group has a slightly different structure and the objects within it are still editable.

  2. Using the Edit Paths by Nodes tool N you can move the nodes of the path, which are clipped by the rectangle. It looks like it is being skewed, but all you are doing is moving the nodes, and the stroke width is unaffected. The nice thing about this is that it's non-destructive, and you can edit it repeatedly.

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.