Entonces decidí usar OpenSCAD el cual ya había utilizado
con anterioridad para graficar el isotipo de gcoop y el de
FACTTIC , y teniendo en cuenta la geometría del logo de
Ansible Tools , no debería ser muy complejo…
Inicialmente fue fácil, dibujar la porción que se repite, elementos
básicos, comencé con un \cylinder\ de radio 1, y luego fue cuestión de
agregar los otros 3 \cylinders\ moviendo (translate) y rotando
(rotate) a la posición correcta.
module circles() {
$fn=32;
translate([d1,0,0]) cylinder(r=r3, h);
translate([d2,0,0]) cylinder(r=r3, h);
rotate([0,0,a1]) translate([d1,0,0]) cylinder(r=r3, h);
rotate([0,0,a1]) translate([d2,0,0]) cylinder(r=r3, h);
}
Ahora bien, para agregar las líneas que unían los círculos, en principio
fueron simples las exteriores, porque su origen y destino eran el centro
de cada circulo dibujados con cylinders, pero las diagonales, no tenía
el dato preciso (estoy oxidado con trigonometría), entonces fui probando
ángulos por aproximación, queda pendiente mayor precisión.
module lines() {
$fn=32;
translate([d1,0,r3/2]) rotate([0,90,45]) cylinder(r=r3/2,(d2-d1)*1.2);
translate([d2,0,r3/2]) rotate([0,90,145]) cylinder(r=r3/2,(d2-d1)*1.2);
translate([d1,0,r3/2]) rotate([0,90,0]) cylinder(r=r3/2,d2-d1);
translate([d1,0,r3/2]) rotate([270,0,5]) cylinder(r=r3/2,l1);
translate([d2,0,r3/2]) rotate([270,0,6]) cylinder(r=r3/2,l2);
}
Y con estas 2 funciones (circles y lines) ya tenía el modulo que
se repetía.
module modulo()
{
union() {
lines();
circles();
}
}
Capturando la secuencia construí un gif del paso a paso del modulo:
Bastó contar, cuántas veces se repetía, eran 32 veces, dividiendo los
360 grados, el ángulo de rotación daba 11.25 grados.
module border() {
for ( i = [1 : 32] ) {
rotate([0,0,i*a1]) modulo();
}
}