gotcha

Author Topic: Tiled clones  (Read 3256 times)

August 22, 2017, 08:02:31 AM
Read 3256 times

kronos

  • Full Member

  • Offline
  • ****

  • 56
I would like this pattern which repeats itself but as you can see with tiled clones edges are not met.
I've created 15 clones but they are only 4 shown. How so ?
How to make that vertices of smaller squares are on previous square?

August 22, 2017, 12:24:11 PM
Reply #1

brynn

  • Administrator

  • Offline
  • ******

  • 3,941
  • Gender
    Female

    Female
    • Inkscape Community
I don't know why it only produces 4 clones.

To make the corners of the smaller square fit inside the larger square, so that the corners of the smaller one touch the sides of the larger one....  I guess you'd have to calculate the correct percentage of difference.

For the square in your file, it looks like it's rotated by 20 degrees.  So I made a duplicate, and rotated 20°.  Then I observe that the duplicate needs to have the same dimensions as the original.  So  I scale it to the same size as the original.  I snapped centers, and like magic, the corners are touching.

So to use Tiled Clones for this, we need percentages.  So if I calculated it right, 22% is the magic number for scaling (I rounded to the nearest unit - original answer is 21.98%).

This is exactly why I hardly ever use Tiled Clones.  You either have to be a math whiz, where you can figure all this out in your head.  Or, by the time you figure it all out on paper, to get the right numbers to use in the dialog, I could have made the darn thing by "manually" duplicate-scale-snap-rotate.

Anyway, after all that, I still haven't tested.  But I'm pretty sure it's the right percent for the Scale tab, assuming you used 20° to rotate.  If it wasn't 20° then 21.98% is not the right value for scaling.
  • Inkscape version 0.92.3
  • Windows 7 Pro, 64-bit
Inkscape Tutorials (and manuals)                      Inkscape Community Gallery                        Inkscape for Cutting Design                     



"Be ashamed to die until you have won some victory for humanity" - Horace Mann                       

August 22, 2017, 03:40:53 PM
Reply #2

Lazur

  • IC Mentor

  • Offline
  • ******
  • Inkscape Filters Wizard

  • 1,154
  • Gender
    Male

    Male
You either have to be a math whiz, where you can figure all this out in your head.  Or, by the time you figure it all out on paper, to get the right numbers to use in the dialog, I could have made the darn thing by "manually" duplicate-scale-snap-rotate.

The tiled clone panel doesn't really give an option to "be a math wiz". Even if you know the scale factor there is no way you can type in more than 2 digits.

For example if you are after 20° rotations, the scale factor is ((1+(tg(20°))^2)/(1+(tg(20°))^2+2*tg(20°)))^0,5*100%=78,020600870987....%.
Which is -21,9793991 in the dialog.

I'd also only "semi-automate" the process. It's faster and more precise. Sadly there is no interest in the developers team to make inkscape more "cad-like" or cope with procedural drawing (as far as I understand).
« Last Edit: August 26, 2017, 03:36:51 PM by Lazur »

August 22, 2017, 05:26:08 PM
Reply #3

brynn

  • Administrator

  • Offline
  • ******

  • 3,941
  • Gender
    Female

    Female
    • Inkscape Community
Well, for me, someone who can convert the units they want to use to percent, in their head, is a whiz!  (Like for the calculations above, it was 100 - ((157.238 / 201.534) * 100).  And then I debate back and forth, which number is divided into the other.  And then I'm debating whether it's * 100 or / 100.  And is it 100 - that result or that result - 100.)   (Hah!  Instead of "math whiz" maybe I should just say "young"!)   

And then I can never figure out Shift or Scale X per row or per column and Shift or Scale Y per row or per column, and positive or negative.  OMG, it's so frustrating.  It seems like there should be a simpler way.

Off-Topic: show
Sadly there is no interest in the developers team to make inkscape more "cad-like" or cope with procedural drawing.

I'm curious where you got that impression.  I haven't noticed that reluctance.  In fact....well not fact, because I won't be able to find the message to back it up.  But it seems like I read something on the mailing list about it, that was not negative.  Something about some extensions for CAD-like features.

It's true that developers don't want to develop Inkscape in the direction of being a free CAD replacement.  Inkscape's direction is to be as purely as possible, SVG editor.  So if something doesn't have an SVG standard, it's not likely to get into the code.  Certainly not in the core code.  But I'm sure I've heard something about "CAD" extensions.

Could you tell me what you mean by procedural?  I think you told me once before, but I forgot.  (Because to me, Inkscape seems to already be procedural.)
  • Inkscape version 0.92.3
  • Windows 7 Pro, 64-bit
Inkscape Tutorials (and manuals)                      Inkscape Community Gallery                        Inkscape for Cutting Design                     



"Be ashamed to die until you have won some victory for humanity" - Horace Mann                       

August 22, 2017, 06:06:36 PM
Reply #4

Lazur

  • IC Mentor

  • Offline
  • ******
  • Inkscape Filters Wizard

  • 1,154
  • Gender
    Male

    Male
Off-Topic: show
The core of inkscape prevents it to work as a cad program. Haven't seen it stated as per se, but when having a conversation about the ghosting issue over 80000px coordinates on the irc, it was mentioned that it's even a good sign since the allocation(?) prevents from drawing in such a large scale.
The other thing is the rounding errors and transformations everywhere. Cad programs use polylines and arcs for a reason. Or prefer nurbs over Béziers.
If you look at 's demo, at 0:48-0:52 that zoom cannot be matched -to name one feature that won't be implemented due to technical limitations.

Parametric in the meaning that you can redefine the shape by editing the input values.
Like a "tiled clone path effect" could do this case. Which could take constraints of scaled corners on top of segments/scale factor&rotation value in a dialog, in a live way. Lpe-s are the closest or filters to those, but each lacking the flexible input structure.
is the only one I know of that can work alike. A node-based editor is almost a must.

August 22, 2017, 08:44:49 PM
Reply #5

flamingolady

  • IC Mentor

  • Offline
  • ******
  • Flamingo Lady

  • 154
  • Gender
    Female

    Female
Well, my suggestion would be to use interpolation.  I've done it successfully in the past.  Have to do it in a couple of stages as for some reason, it doesn't work as well when selecting 3 objects.  I'd break it into selecting the back lg square and a middle square (turned 20 degrees), interpolating value of 7.  Then use the middle one and a smaller one, (turned 20 degrees), again interpolating value of 7. 
But, I just tried it, turns out diff than what I expected.  Output has the larger sqs on top, instead of the bottom.  not sure if I did something wrong, or if it's a pgm chg, a lot of things I used to do in .48 behave differently in .92.... sigh.

August 23, 2017, 01:28:36 AM
Reply #6

kronos

  • Full Member

  • Offline
  • ****

  • 56
With interpolate sub-paths it's more convenient but you can't rotate smaller path (to place vertices on larger one) in Edit on canvas mode.

For some reason my viewport is not showing icons in allign tool.

August 23, 2017, 01:45:01 AM
Reply #7

Lazur

  • IC Mentor

  • Offline
  • ******
  • Inkscape Filters Wizard

  • 1,154
  • Gender
    Male

    Male
The object order in an interpolation is related to either the selection order of the two objects or their z-order -haven't checked again, I always miss those. However this issue was adressed by the restack z-order/reverse extension thank's to Suv.

If you use the interpolate subpaths path effect the scale factor is linear between the copies, and not exponential as with the tiled clones. Atop on that, the rotation won't be the same between the copies as the nodes are just distributed evenly in the distance.
By linear interpolation you cannot recreate the exponential spiral of the original.
(It can lead to an involute.)
« Last Edit: August 26, 2017, 03:37:16 PM by Lazur »

April 11, 2018, 04:26:45 AM
Reply #8

kronos

  • Full Member

  • Offline
  • ****

  • 56
I've just checked and tiled clones bug still haven't been fixed in 0.92.3.

April 11, 2018, 10:41:02 AM
Reply #9

Lazur

  • IC Mentor

  • Offline
  • ******
  • Inkscape Filters Wizard

  • 1,154
  • Gender
    Male

    Male
BUT

there is progress -Jabiert is in the development of a measuring lpe (and finally the old ghosting issue is gone for objects over the 80000px coordinates).

April 12, 2018, 01:24:54 PM
Reply #10

brynn

  • Administrator

  • Offline
  • ******

  • 3,941
  • Gender
    Female

    Female
    • Inkscape Community
Has anyone confirmed that the bug has been reported?  After all, it can't get fixed if developers don't know about it.

If you have found the bug report, please post a link here, so other people can benefit.  If you can't find it, please make a new bug report.

What is the bug, in this case?  Is it something about the specific Symmetry that you were trying to use, in Tiled Clones dialog?  Or is it about having only percent as available units?

I never did actually try the solution I proposed in my first reply.  But I thought the problem was using the wrong scale amount.  Trying now....

Actually, on re-reading this thread, I'm not clear what your goal is.  The image in your first message is different from the one where you tried Interpolate Sub-Paths.  Yes, they are similar in appearance, but mathematically different...or different vectors.



Ok, so here's the result using my calculations from Reply #2.

stc.png
*stc.png
(22.08 kB . 544x530)
(viewed 493 times)


So you can see that it does a great job for the first square.  But the others are off.  And not only off, but they are off by a little bit more each time.  So that implies to me, that maybe we need to use an Exponent value....which I never have done before.  But let's see if I can do it by trial and error.

(I don't know why the stroke width is also being scaled, because I have that disabled on the Selection tool control bar.  Is there some other option for tiled clones?  Or should we just use fills without strokes.  And then afterwards, remove the fill and add stroke??)

No, exponent is not the answer, because the exponent value affects all of the clones.  So let's say I use 0.9 for the exponent value.  The first smaller square becomes larger than the original, and all the rest of the clones are still not close to touching each other.

I notice (the first time I noticed this, actually) there is another option on the Scale tab, called Base.  According to the tool tip, it's for a logarithmic spiral.  The word "spiral" leads me to think that might be exactly what is needed.  But all I can do is trial and error....

Oh look, 3.1 for the Base value is very close!  Still not quite right though, because as they get smaller, they don't touch the edges anymore.  But if I try 3.0, then the first smaller clone is too large, and with 3.2, it doesn't quite touch (too small).

stc1.png
*stc1.png
(77.91 kB . 1209x563)
(viewed 521 times)


Will have to toss this off to someone with better math skills than me.  It seems that what you are trying to do is not so easy.

And I will repeat my sentiment, that in the time it takes to use Tiled Clones dialog by trial and error, I could have used Duplicate - Scale - Rotate - Snap, and finished the drawing a few times over!
  • Inkscape version 0.92.3
  • Windows 7 Pro, 64-bit
Inkscape Tutorials (and manuals)                      Inkscape Community Gallery                        Inkscape for Cutting Design                     



"Be ashamed to die until you have won some victory for humanity" - Horace Mann                       

April 12, 2018, 01:28:07 PM
Reply #11

brynn

  • Administrator

  • Offline
  • ******

  • 3,941
  • Gender
    Female

    Female
    • Inkscape Community
Idk, maybe tweaking Scale X and Y and/or Rotation (along with Scale Base) would make it work.  But I'm out of time.  If I need to draw this, I will do it the fast way, haha  :D
  • Inkscape version 0.92.3
  • Windows 7 Pro, 64-bit
Inkscape Tutorials (and manuals)                      Inkscape Community Gallery                        Inkscape for Cutting Design                     



"Be ashamed to die until you have won some victory for humanity" - Horace Mann                       

April 12, 2018, 01:35:15 PM
Reply #12

brynn

  • Administrator

  • Offline
  • ******

  • 3,941
  • Gender
    Female

    Female
    • Inkscape Community
Oh no!  It's not that they don't touch the edges as they get smaller.  It's that after clone #5, then clone #6 gets larger again!

The math is definitely over my head!!
  • Inkscape version 0.92.3
  • Windows 7 Pro, 64-bit
Inkscape Tutorials (and manuals)                      Inkscape Community Gallery                        Inkscape for Cutting Design                     



"Be ashamed to die until you have won some victory for humanity" - Horace Mann                       

October 02, 2018, 12:09:06 AM
Reply #13

xiaoyu

  • Sr. Newbie

  • Offline
  • **

  • 8
I can't speak English, but I can understand it
drawing15.svg
*drawing15.svg
(5.69 kB . 800x500)
(viewed 340 times)
  • 0.92.3
  • win10