Começando com o processing.
Vamos fazer o seguinte. Criaremos uma função para desenhar ele, utilizando um único parâmetro para todos os raios das circunferências que serão 5 ao todo, e um arco. Fica assim a função:
void yinYang(float r,float x,float y){ // r é o raio dos circlos menores, x e y as coordenadas do centro da figura.
fill(255);
ellipse(x,y,(r*5)*2,(r*5)*2); // circulo branco grande
fill(0);
arc(x,y,(r*5)*2,(r*5)*2,PI,2*PI,PIE); // Meio circulo preto, metade de cima
ellipse(x+(2.5*r),y,(2.5*r)*2,(2.5*r)*2); // circulo preto de raio 2,5 x raio do circulo menor
fill(255);
noStroke();
ellipse(x-(2.5*r),y,(2.5*r)*2,(2.5*r)*2); // circulo branco de raio 2,5 x raio do circulo menor
ellipse(x+(2.5*r),y,r*2,r*2); // circulo branco de raio r, é o circulo menor
fill(0);
ellipse(x-(2.5*r),y,r*2,r*2); // circulo preto de raio r, é o circulo menor
}
Depois de fazer essa função, faremos ela aparecer 100 vezes, como ela aparecerá apenas as 100 vezes, iremos por tudo no "setup()". E o codigo se finalizará assim:
O resultado em imagem é algo próximo disso.

