mia.k
(kartik)
May 29, 2020, 7:04pm
1
Hi, I’m exploring recursions in C#, so I decided to start with simple circle scaling as shown in the ref image. But wasn’t able to code it properly , Any help with this?
Please find attached the ref image and c# code.
Image:
Code:
Circles fractal.gh (5.0 KB)
private void RunScript(Circle circle, int iters, ref object A)
{
var list = new List<Circle>(){ circle };
Subcircles(circle, iters, ref list);
A = list;
}
public void Subcircles(Circle c, int i, ref List<Circle> list)
{
double r = c.Radius / 2.0;
Plane p0 = c.Plane;
p0.Translate(p0.XAxis * -r);
Circle c0 = new Circle(p0, r);
list.Add(c0);
Plane p1 = c.Plane;
p1.Translate(p1.XAxis * r);
Circle c1 = new Circle(p1, r);
list.Add(c1);
if(i > 0){
Subcircles(c0, i - 1, ref list);
Subcircles(c1, i - 1, ref list);
}
}
Circles fractal.gh (4.5 KB)