Concentric Circles with Grasshopper?

Hello! I hope someone can help me with this task.

I’m trying to recreate the pattern shown in the image. I’m not sure if it’s called “concentric circles” or something else. I’m very new to Grasshopper—this is actually my first time trying to make a pattern with it.

I started by using a file I found on a forum, but it seems a bit broken—it creates some strange artifacts in the pattern. Maybe there’s already a similar post or a better approach, but any help would be greatly appreciated!

Thanks in advance!

PD. I need make all the circles in the same size.

Not exactly like your image but maybe still worth looking at.

You can use the search function in the upper right corner next to your profile image…

Search results for ‘concentric circles’ - McNeel Forum

You might also go through the Modelab Primer, it contains a lot of useful information.

1 Like

You mean the “dots” are the same size? These are “concentric circles”:

1 Like

circels.gh (16.0 KB)

1 Like

Yeah, thank you a lot, very useful info. Well isn’t the same pattern, but can works if the circles are regular, same size I want to say. I’m going to take a look to this page! And also test if I can do the circles regular. Thank you for your reply!

Well, I Want a result more accurate to the image that I post, but thanks for your reply! This can be a beggining!

Yeah, I tested this one, I found it in Grasshopper Forum, but do strange things in the left of the complete circle, I you pay attention, at the right the circles are in a single line, in the left those circles are random and make a ungly pattern, Im trying to resolve this. I think that the solution can be doing it in spirals! But I don’t know. Thanks for your reply!

try this little script:

#! python 3
import rhinoscriptsyntax as rs
r=1.2
rs.EnableRedraw(False)
for i in range(20):
	cir = rs.AddCircle([i*3+i, 0,0], r)
	r*=0.95
	angle = 0
	for j in range(1, 9*i):
		cir2 = rs.CopyObject(cir)
		angle += 360/(9*i)
		rs.RotateObject (cir2, [0,0,0], angle,[0,0,1], False)
2 Likes

cool! thank you!
in GH it helps to add "rs.EnableRedraw(True) in the end

1 Like

Hi, thanks for your reply! I’m going to try, but how? I have to open GH and go to Math, Python3 script and paste the code directrly there? Or I have to add something else? Sorry I’m super noob in GH, it’s my first time. I tryed the way that I told you, but nothing happens :') . Thank You in advance.

adjustable_toGH.gh (8.7 KB)

1 Like

Yeah, thanks, but look what happen there:


If you look the green line, you can see a regular pattern on the right, all dots are in the line (in pink) and in the other side as the pattern does strange things, the dots only are in the line every two dots (in yellow). Thats what I want to solve, but seems hard, maybe is part of this kind of geometry, somethimg mathematical.

This is more accurate example, sorry for that.

@Carlos20 the only difference in the sample you show is that the first circle on each concentric circle has a random starting point.

Then, can I “randomize” the pattern? How can I do that? Sorry and thanks for this extense post!


Touching some settings of your script I resolve a little bit the pattern (to my requirements), I very appreciate all your work here! I going to find the way to make this pattern starting from a spiral, I think that my first post wasn’t accurate explanation. Thank you!

e.g.:

#! python 3
import rhinoscriptsyntax as rs
import random

r=1.2
rs.EnableRedraw(False)
for i in range(20):
	rand = random.random()*360
	cir = rs.AddCircle([4*i, 0,0], r)
	rs.RotateObject(cir,[0,0,0],rand)
	r*=0.95
	angle = 0
	for j in range(1, 9*i):
		cir2 = rs.CopyObject(cir)
		angle += 360/(9*i)
		rs.RotateObject (cir2, [0,0,0], angle,[0,0,1], False)

yields:

1 Like

or we do not randomize but “spiralize”?
spiralizedCirclesPattern.gh (13.3 KB)

2 Likes

YES! Thats it, thank you so much, this is what I wanted. Sorry because at the beggining my example wasn’t great. Thank you guys, are awesome!

You may also want to search for the term “phyllotaxis” for more info on the pattern.

Oh, is that what this thread is about? The thread title threw me off. Here are some threads you might not find otherwise:

And 3D (same thread):


etc.

1 Like