DarianFlorianVoda / BioShapes

Bachelor Thesis R Package
0 stars 0 forks source link

[Circles] Outside Large Circle #32

Closed discoleo closed 2 years ago

discoleo commented 2 years ago

Tangent Circles Outside Large Circle

##### Outside a large circle of given radius #####
circlesOutsideFixedCircle = function(n, r, center = c(0,0), phi=0) {
  r1 = r / (1/sin(pi/n) - 1);
  R1 = r + r1;
  xy = pointsCircle(n, r=R1, center=center, phi=phi);
  attr(xy, "R") = R1;
  attr(xy, "r") = r1;
  return(xy);
}

Test:

#### Outside Circle ####

###
n = 13
R = 6
phi = pi / n; # add some rotation
xy = circlesOutsideFixedCircle(n, R, phi=phi);
x = xy$x; y = xy$y;
r = attr(xy, "r");
d = R + 2*r + 1;
plot(x, y, xlim=c(-d, d), ylim=c(-d, d))
par.old = par(pin = c(4.8, 4.8))
for(id in seq(n)) {
  filledcircle(r1=r, r2=0, mid = c(x[id], y[id]))
}
par(par.old)
DarianFlorianVoda commented 2 years ago

Added! Thanks.