Outils pour utilisateurs

Outils du site


itc:tps:tp4:exercice1

Ceci est une ancienne révision du document !



Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 172

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Dessin du flocon de Von Koch

Le type ''complex'' en Python

Pour travailler en Python avec les nombres complexes, on dispose du type natif complex que l'on complète en important le module cmath.

Voici quelques exemples testés en console :

>>> import cmath as cp
>>> z = complex (1, 2) # z = 1 + 2i
>>> z
(1+2j)  # j est utilisé pour le nombre tel que j**2 = -1
>>> z.real
1
>>> z.imag
2.0
>>> type(z)
<class 'complex'>
>>> (1+1j).conjugate()
(1-1j)
>>> (1+2j) + (2-3j)
(3-1j)
>>> (1+2j) * (2-3j)
(8+1j)
>>> (1+2j) / (2-3j)
(-0.30769230769230776+0.5384615384615384j)
>>> (1+2j)**7
(29+278j)
>>> abs(3-4j)
5.0
>>> cp.polar(1-1j)
(1.4142135623730951, -0.7853981633974483)
>>> cp.rect(1 , 2*cp.pi/3)
(-0.4999999999999998+0.8660254037844387j)

Un motif

On sait que dans le plan complexe l'image d'un point $M$ d'affixe $z$ par une rotation de centre $\Omega$ d’affixe $\omega$ et d’angle $\theta$ est le point $M'$ d'affixe $z'$ telle que $z' - \omega = \text{e}^{i\,\theta} (z - \omega)$, c'est-à-dire $z' = \omega + \text{e}^{i\,\theta} (z - \omega)$.

Ici on part d'un segment $[A, B]$ donné par les affixes (complexes) $a$ et $b$ de $A$ et $B$, on divise ce segment en trois segments de même longueur et on remplace le segment du milieu par les deux autres côtés d'un triangle équilatéral construit sur ce segment, pour obtenir le motif suivant – pour $a = 0$ et $b = 3$.

On utilise le module pyplot de la bibliothèque matplotlib et on précise que

  • le tracé d'un segment d'extrémités A1 = (x1, y1) et A2 = (x2, y2) s'obtient par plt.plot([x1,x2], [y1,y2],'k'), avec 'k' pour noir (black)
  • le tracé d'une ligne brisée A1A2…An , avec Ai = (xi, yi), s'obtient avec la commande

plt.plot([x1,x2,...,xn],[y1,y2,...,yn], 'r') (en rouge).

On crée d'abord une fonction qui réalise une rotation plane connaissant son centre et son angle. Avec un angle de $\frac{\pi}{3}$, $A$ et $B$ étant donnés, on construit ainsi un point $C$ tel que $ABC$ soit un triangle équilatéral qui tourne dans le sens trigonométrique positif.

itc/tps/tp4/exercice1.1638535966.txt.gz · Dernière modification : de goupillwiki