{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "![En tête general](img/En_tete_general.png)\n", "\n", "\n", "*(C) Copyright Franck CHEVRIER 2019-2021 http://www.python-lycee.com/*\n", "\n", " Pour exécuter une saisie Python, sélectionner la cellule et valider avec SHIFT+Entrée." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Interprétations géométriques de nombres complexes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Sommaire\n", "\n", "I. Interprétations géométriques de $z_B-z_A$ et $\\displaystyle \\frac{z_C-z_A}{z_B-z_A}$.
\n", "II. Applications directes

\n", "III. Études de configurations\n", "
    \n", "
  1. Deux triangles rectangles isocèles rectangles en un même point
  2. \n", "
  3. Trois triangles équilatéraux ayant un sommet commun
  4. \n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## I. Interprétations géométriques de $z_B-z_A$ et $\\displaystyle \\frac{z_C-z_A}{z_B-z_A}$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dans le plan complexe muni du repère orthonormé $\\left( O \\;; \\overrightarrow{u} ; \\overrightarrow{v} \\right)$, on considère trois points distincts $A$ ; $B$ et $C$ d'affixes respectives $z_A$ ; $z_B$ et $z_C$.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "1. En utilisant le point $M$ défini par $\\overrightarrow{OM}=\\overrightarrow{AB}$, démontrer le résultat suivant :\n", "\n", "
\n", " À RETENIR
\n", " Interprétation géométrique de $z_B-z_A$ :\n", "\n", "
\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Sélectionner cette zone puis SHIFT+ENTREE pour obtenir la figure dynamique\n", "from IPython.display import display, HTML ; display(HTML('fig_dyn_GeoGebra/intgeomcomplexeprop1.html'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "2. À l'aide de la propriété précédente, démontrer que :\n", "\n", "
\n", " À RETENIR
\n", " Interprétation géométrique de $\\displaystyle \\frac{z_C-z_A}{z_B-z_A}$ :\n", "\n", "
\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Sélectionner cette zone puis SHIFT+ENTREE pour obtenir la figure dynamique\n", "from IPython.display import display, HTML ; display(HTML('fig_dyn_GeoGebra/intgeomcomplexeprop2.html'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## II. Applications directes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercice 1 :
\n", "On considère les points $A$ ; $B$ et $C$ d’affixes respectives $z_A=1+i$ ; $z_B=2+3i$ et $z_C=-1+2i$.\n", "
    \n", "
  1. Réaliser une figure. Quelle semble être la nature du triangle $ABC$ ?
  2. \n", "
  3. Calculer $\\displaystyle m= \\frac{z_C-z_A}{z_B-z_A}$.
  4. \n", "
  5. En interprétant géométriquement le module et un argument de $m$, en déduire la nature du triangle $ABC$.
  6. \n", "
  7. On souhaite vérifier le résultat du calcul précédent à l'aide de saisies en Python :
    \n", "
    \n", " Le module sympy permet :\n", "
      \n", "
    • d'effectuer des calculs sous forme exacte avec racines carrées et $\\pi$ avec les syntaxes sqrt et pi ;
    • \n", "
    • de créer un nombre complexe avec la syntaxe majuscule I pour le complexe $i$ ;
    • \n", "
    • de simplifier une expression avec la fonction simplify ;
    • \n", "
    • de calculer le module et l'argument d'un complexe respectivement à l'aide des fonctions abs et arg.
    • \n", "
    \n", "
    \n", " Exécuter les cellules suivantes pour vérifier les calculs précédents.\n", "
  8. \n", "
\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Import du module sympy\n", "from sympy import *\n", "\n", "# Mise en mémoire des valeurs de z_A; z_B et z_C\n", "z_A = 1+I ; z_B = 2+3*I ; z_C = -1+2*I\n", "\n", "# Calcul de m\n", "m = (z_C-z_A)/(z_B-z_A)\n", "\n", "m" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Évaluation de la valeur de m\n", "simplify(m)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Détermination du module de m\n", "abs(m)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Détermination de l'argument de m\n", "arg(m)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercice 2 :
\n", "
    \n", "
  1. De la même manière que dans l’exercice 1, déterminer par le calcul la nature des triangles suivants :\n", " \n", "
  2. Vérifier les calculs précédents à l'aide de saisies Python.
  3. \n", "
\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Utiliser ces zones de saisie pour vérifier les calculs relatifs au triangle DEF\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Utiliser ces zones de saisie pour vérifier les calculs relatifs au triangle IJK\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## III. Études de configurations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dans cette partie, on dira qu'un triangle $ABC$ est :\n", "\n", "(on différenciera donc les triangles $ABC$ et $ACB$, qui sont l'un direct et l'autre indirect)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Sélectionner cette zone puis SHIFT+ENTREE pour obtenir la figure dynamique\n", "from IPython.display import display, HTML ; display(HTML('fig_dyn_GeoGebra/intgeomcomplexedirindir.html'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On admettra également la généralisation des résultats vus précédemment, pour 4 points $A$ ; $B$ ; $C$ et $D$ d'affixes respectives $z_A$ ; $z_B$ ; $z_C$ et $z_D$.\n", "\n", "
\n", " Interprétation géométrique de $\\displaystyle \\frac{z_D-z_C}{z_B-z_A}$ :\n", "\n", "
\n", "
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### III.1. Deux triangles rectangles isocèles rectangles en un même point " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "Dans le plan complexe $\\left( O \\;; \\overrightarrow{u} ; \\overrightarrow{v} \\right)$, on considère deux triangles $OAB$ et $OCD$ qui sont rectangles directs.
\n", "On note $M$ le milieu de $[BC]$.

\n", "1. Dans cette question, les points $A$ et $C$ ont pour affixe respectives $z_A=4-i$ et $z_C=-3+5i$.
\n", "a. Activer la cellule ci-dessous pour obtenir la figure.
\n", "$\\;\\;\\;$Quelle conjecture peut-on émettre concernant les droites $(OM)$ et $(AD)$ ?\n", "
" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Sélectionner cette zone puis SHIFT+ENTREE pour obtenir la figure dynamique\n", "from IPython.display import display, HTML ; display(HTML('fig_dyn_GeoGebra/intgeomcomplexeconfig1.html'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$\\quad\\;\\;$b. Déterminer les affixes respectives $z_B$ ; $z_D$ et $z_M$ des points $B$ ; $D$ et $M$.
\n", "$\\quad\\;\\;$c. À l'aide de saisies Python, déterminer la valeur de $\\displaystyle \\frac{z_M}{z_D-z_A}$.
\n", "$\\quad\\quad\\;$Vérifier ensuite par le calcul le résultat obtenu à la question c.
\n", "
" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Utiliser ces zones de saisie pour les calculs\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "$\\quad\\;\\;$d. Que peut-on conclure concernant les droites $(OM)$ et $(AD)$ ? et concernant les longueurs des segments $[OM]$ et $[AD]$ ?
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "2. Dans cette question, on revient au cas général où les affixes $z_A$ et $z_C$ des points $A$ et $C$ sont quelconques.
\n", "$\\;\\;\\;$a. Déplacer les points $A$ et $C$ sur la figure fournie. Quelle conjecture peut-on émettre ?
\n", "$\\;\\;\\;$b. Démontrer cette conjecture.\n", "
\n", "

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### III.2. Trois triangles équilatéraux ayant un sommet commun " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "On se place dans le plan complexe $\\left( O \\;; \\overrightarrow{u} ; \\overrightarrow{v} \\right)$ et on pose $\\displaystyle j=e^{i\\frac{2\\pi}{3}}=-\\frac{1}{2}+i\\frac{\\sqrt{3}}{2}$.
\n", "Dans cette étude, l'affixe d'un point $M$ sera systématiquement désignée par la notation $z_M$.\n", "

\n", "\n", "1. Condition nécessaire et suffisante pour qu'un triangle soit équilatéral

\n", "$\\;\\;\\;$a. Exécuter les cellules Python suivantes (la fonction conjugate permet de calculer le conjugué d'un complexe).
\n", "$\\quad\\;\\;$Quelles relations vérifiées par $j$ obtient-on ?
\n", "$\\quad\\;\\;$Vérifier ces résultats par le calcul, et justifier en particulier que $1+j=e^{i\\frac{\\pi}{3}}$\n", "
\n", " " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "j = (-1+I*sqrt(3))/2\n", "j" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "simplify(j**3)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "simplify(j**2-conjugate(j))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "simplify(1+j+j**2)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "simplify(1+j)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "$\\;\\;\\;$b. On considère trois points distincts $M$ ; $N$ et $P$.
\n", "$\\quad\\;\\;$ Démontrer que le triangle $MNP$ est équilatéral direct si et seulement si $z_M+jz_N+j^2z_P=0$.
\n", "
\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "2. Application
\n", "
\n", "$\\;\\;\\;$On considère 6 points $A$ ; $B$ ; $C$ ; $D$ ; $E$ et $F$ tels que $OAB$ ; $OCD$ et $OEF$ sont des triangles équilatéraux directs.
\n", "$\\;\\;\\;$$M$; $N$ et $P$ sont les milieux respectifs de $[BC]$ ; $[DE]$ et $[FA]$.
\n", "
\n", "$\\;\\;\\;$a. Activer la figure dynamique fournie ci-dessous. Quelle conjecture peut-on faire concernant le triangle $MNP$ ? \n", "
" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Sélectionner cette zone puis SHIFT+ENTREE pour obtenir la figure dynamique\n", "from IPython.display import display, HTML ; display(HTML('fig_dyn_GeoGebra/intgeomcomplexeconfig2.html'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "$\\quad\\quad$b. Exprimer $z_A$ ; $z_C$ et $z_E$ respectivement en fonction de $z_B$ ; $z_D$ et $z_F$.
\n", "$\\quad\\quad$c. Exprimer $z_M$ ; $z_N$ et $z_P$ en fonction de $z_A$ ; $z_B$ ; $z_C$ ; $z_D$ ; $z_E$ et $z_F$.
\n", "$\\quad\\quad$d. Calculer $z_M+jz_N+j^2z_P$. Conclure. \n", "
\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*(C) Copyright Franck CHEVRIER 2019-2021 http://www.python-lycee.com/*\n" ] } ], "metadata": { "celltoolbar": "Raw Cell Format", "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.10" } }, "nbformat": 4, "nbformat_minor": 2 }