Tangent Circles on a curve

Next
 From:  Frenchy Pilou (PILOU)
9381.1 
Say I have tangent circles between any 2 straight lines

How put them on a curve ? (tangency wanted)

I have used Flow function but when you zoom circles are a little overlapped!

I have drawn by hand the Tangent Circles between the 2 lines

I have used Array on a curve with a point for have the length wanted on the curve (for cut the unwanted length)

Flow for draw the tangent circle on the curve but...



Circles are little overlapped when you zoom!


http://moiscript.weebly.com/uploads/3/9/3/8/3938813/circlown.3dm

Maybe script, Nodes, more trickys tips...for an automatic result! Scale Array don't works :)

EDITED: 28 May 2019 by PILOU

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Mip (VINC)
9381.2 In reply to 9381.1 
Hi Pilou,

Would it be a suitable solution for you, though not very automatic, to :
1. First draw 2 straight lines, tangent to your circles (green in the example),
2. Bend those 2 lines according to the circles center line (without including the circles) (orange in the example).
3. Draw the largest circle tangent to the middle line so that it touches the end of the path.
4. Then draw the other circles tangent to the latest circle and the 2 bent lines.

I find it easier to fit the circles to the curved lines afterwards, like a blacksmith wrought ironwork.

Michel

EDITED: 28 May 2019 by VINC

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
9381.3 In reply to 9381.2 
Yes it's like this i had drawn my first familly of circles! ;)

But i wish something more automatic! :)
Say i draw 2 Tangent Circles: the target is to propagate them along any curve! ;)
By hand it's not too difficult for small number...but better automatically...i can also use the Orient Line-line but works only block by block on Straight lines!

by Ben Heine

EDITED: 28 May 2019 by PILOU

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Martin81
9381.4 In reply to 9381.2 
Generlally speaking it would be very helpful if this automated alignement addressed by Pilou would be also possible with cubes or spheres instead of circles.

Hi Mip,
drawing circles manually becomes exhausting after several hundred circles. For example this took me more than 1h in Moi3D (without coloring in Affinity Designer).
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Mip (VINC)
9381.5 In reply to 9381.3 
Psychedelic smallpox jewelry...

Maybe scriptable though circles inside triangulated shape or within Voronoi textures (Laguerre) ?
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
9381.6 
How do you Bend your 3 straight lines? (1 Orange , 2 Green )
"According" yes but...By eyes, by functions, by tricks, ...
In my tests circles have not the same size, center are not all on the orange...maybe it's impossible...

EDITED: 28 May 2019 by PILOU

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Mip (VINC)
9381.7 In reply to 9381.6 
Salut Pilou,

Pour la Déformation,
1. Sélectionne les 2 lignes vertes.
2. Clique la commande Déformation (Flow).
3. Cique au début de la ligne orange qui est au centre des cercles.
4. Clique sur la courbe orange au bas.

Effectivement, les cercles n'auront pas exactement la même dimension que les originaux
mais leur centres seront pile sur la courbe orange.

Il ne sera pas possible de garder le même diamètre si on veut préserver la tangence avec les courbes vertes.

Aussi, je n'ai pas placé mon grand cercle au même endroit par rapport à la courbe orange. C'est pourquoi il est si différent de taille.
Le cercle sur la courbe est à la fin de la courbe alors que le 1er n'est pas à la fin du trait.
Lorsque je positionne manuellement le grand cercle sur la courbe en spécifiant la taille de l'original et que je tente de maintenir la tangence, je n'y arrive pas parfaitement non plus.

Voici mon exemple,

Michel

EDITED: 28 May 2019 by VINC

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
9381.8 In reply to 9381.7 
Cool! Totally confirm my tests! :)
They are all tangent, centers are very near the Orange curve sometime up, sometime down...
Seems very sufficient for graphic drawing

And super the trick to use Flow for Bending something!

Now wait and see the little script or other trick for automate that! :)

In my opinion maybe more easy for the user to Put "first" and "last" circle with their own proportions sizes on the curve
even only the first one!

That gives the way of increase decrease...

EDITED: 28 May 2019 by PILOU

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Mip (VINC)
9381.9 In reply to 9381.8 
And I would add that it's normal to have a difference since the inner and outer curve won't be anymore identical in length since they are at a distance from the reference curve and will be submitted to relative outer(enlarged) and inner(shrinked) distorsion.

Michel

EDITED: 28 May 2019 by VINC

Image Attachments:
Size: 287.2 KB, Downloaded: 25 times, Dimensions: 1170x670px
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
9381.10 
The circle tangent command relies on picked points to determine which particular circle to make, in many situations there are multiple possible tangent circles.

But because it uses picked points it is not easy to automate this particular command unfortunately.

An automated one would probably need its own custom solver.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
9381.11 In reply to 9381.10 
So maybe a Scale Array of circles can make a cool approximation in just change the actual method of regular increase/ decrease ?
Mixed with the Array on Curve in just change the actual method of regular propagation...(same coef) here 0,7 for my first example

We draw only the 2 first tangent circles for calculate this coef !
Seems it's not a too difficult changement of the existing methods! :)





EDITED: 28 May 2019 by PILOU

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  bemfarmer
9381.12 In reply to 9381.11 
Using some simple trigonometry:
If theta is half of the angle between the two tangent lines, then the scale between adjoining radii for shrinking circles, is = (1-sin(theta)) / (1 + sin(theta)).
For the next largest circle, the formula is the reciprocal.

There are also Steiner chains, Pappus chains, and Ford circles.
- Brian

Using sine of the angle to calculate the location of the first radius did cause some rounding, like a radius of 10 going to 9.999999... or so, which I did not care for :-)

EDITED: 14 Jun 2019 by BEMFARMER

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All