Tracer une pyramide bigarrée#

Cet exercice est inspirée de l’article 2015-04-07 Motif, optimisation, biodiversité. Il s’agit de dessiner un motif.

[1]:
%matplotlib inline

Problème#

Il faut dessiner la pyramide suivante à l’aide de matplotlib.

[1]:
from IPython.display import Image

Image("biodiversite_tri2.png")
[1]:
../../_images/practice_tds-base_pyramide_bigarree_3_0.png

Idée de la solution#

On sépare le problème en deux plus petits :

  • Trouver la position des boules dans un repère cartésien.

  • Choisir la bonne couleur.

Le repère est hexagonal. L’image suivante est tirée de la page wikipédia empilement compact.

[2]:
Image("hexa.png")
[2]:
../../_images/practice_tds-base_pyramide_bigarree_5_0.png

Un exemple pour dessiner des ronds dans un graphiques.

[2]:
import matplotlib.pyplot as plt

fig, ax = plt.subplots(1, 1)
x, y = [], []
for i in range(0, 3):
    for j in range(0, 4):
        x.append(i)
        y.append(j)
size = [300 for c in x]
colors = ["r" for c in x]
ax.scatter(x, y, s=size, c=colors, alpha=0.5);
../../_images/practice_tds-base_pyramide_bigarree_7_0.png

A vous.

[5]:


Notebook on github