Tokyo 2020 Olympics logo

Fork

Code

svg {
  viewBox: -4 -4 8 8;
  fill: currentcolor;

  --s(k): sin(k*π/6);
  --far(n): pick(n: 1, 1, 6, 5);
  --mid(n): $(s(n+2.5)/2) $(s(n-.5)/2);
  --dist(a, b, n): .5+.5sign(far(a)*s(b-n)+far(b)*s(n-a)-far(n)*s(b-a));
  
  g*12x5 {
    --a: @nx;
    --b: @ny(+$a);
    @match(far(a)*far(b) > 1) {
      polygon {
        points: $mid(a) $mid(b) $mid(a+6) $mid(b+6);
        transform: translate(
          $(@rep12(+dist(a, b, @n)*s(@n(2.5))))
          $(@rep12(+dist(a, b, @n)*s(@n(-.5))))
        );
      }
    }
  }
}