Alternative à "PointDans" (GeoGebra)

Bonsoir,

Pour placer un point dans une région du plan GGB possède la commande PointDans. Soit par exemple la région $R$ définie par :
$$\, 1 \geq x^{2} + y^{2} \wedge x^{2} + \left(y - 1 \right)^{2} \geq 1 \wedge x^{2} + \left(y + 1 \right)^{2} \geq 1 \wedge x \geq 0$$
qui est délimitée par trois arcs de cercle. Il suffit alors de taper PointDans (R) dans la ligne de saisie pour que soit placé un point $A$ dans cette région, où l'on peut alors le déplacer. Seulement ce déplacement coince aux frontières : le point y reste collé, ne peut pas y glisser et s'approche difficilement des "coins". Bref, c'est dégueulasse.

Heureusement on peut faire autrement : on remplace cette région par une autre, polygonale et variable, et qui ne va pas poser de problème pour PointDans (car c'est un polygone). Pour cela on commence par placer un point $N$ dans la région, à la main. Puis on place les points $p_1$, $p_2$ et $p_3$ des frontières les plus proches de $N$ (GGB possède une commande pour ça : PointPlusProche, mais ici c'est inutile car les frontières sont des arcs de cercle et on peut donc utiliser leur centre, voir figure jointe). On construit ensuite les tangentes en ces points à la frontière. Pour $p_2$ et $p_3$ elles ont une partie incluse dans $R$ mais pour $p_1$ la tangente est extérieure. On construit alors les droites $(p_1D_1)$ et $(p_1D_6)$ qui forment avec les tangentes en $p_2$ et $p_3$ un quadrilatère qui du coup est inclus dans $R$. Reste à placer un point $M$ dans cette nouvelle région quadrilatérale (toujours avec la commande PointDans) et à lui adjoindre un petit script par actualisation : SoitValeur(N,M). Le point $N$ et sa région associée va donc se modifier au fur et à mesure du déplacement de $M$. Pour le dire de façon imagée le point $M$ se promène dans une région (un quadrilatère) dont la frontière varie en fonction de sa position dans la région $R$. Et cette région de substitution lui permet d'accéder à la totalité de la région $R$, y compris sur ses bords, et cela de façon parfaitement fluide. Voir la figure en ligne.

Je pense que cette méthode peut s'adapter pour à peu près n'importe quelle région (dont les bords sont dérivables). Mais il y a peut-être des détails techniques auxquels je n'ai pas pensé, donc si vous avez des régions plutôt tordues sous la main je suis preneur. Et de façon générale toutes remarques ou suggestions, propositions d'amélioration sont les bienvenues.

Amicalement,
Ludwig


Réponses

  • On souhaite placer un point dans le triangle curviligne délimité par l'axe des abscisses et la courbe paramétrique d'équation $x=-2\cos(\frac{t}{2}) - \sin(t)$,$y=\frac{-\sin(2t)-2\sin(t)}{4}$ pour $t$ compris entre $0$ et $\pi$. Un point que l'on pourra ensuite bouger à l'intérieur du triangle, le faire glisser sur ses bords, aller dans les coins...
    Sage, Maple ou autres possèdent-ils des commandes pour faire cela ?
    Un petit défi est de le faire avec GeoGebra.
    Bonne soirée,
    Ludwig


  • Ludwig
    Modifié (December 2021)
    Pour placer un point proprement avec GeoGebra dans ce triangle curviligne je construis d'abord la tangente $T_{c}$ à la courbe au point $C$, droite sur laquelle je vais m'appuyer pour aller dans ce coin. Je place un point $N$ n'importe où dans le triangle (ce point est confondu avec $M$ dans la figure ci-dessous), à la main, et je trace $(BN)$ qui coupe la courbe en $G$. Je place aussi $T$ le point de la branche inférieure de la courbe le plus proche de $N$ (avec la commande PointPlusProche de GGB), et je trace la tangente à la courbe en ce point, qui coupe la tangente $T_{c}$ en $E$ et le segment $[AB]$ en $F$. 
    Je construis alors l'hexagone $CEFBAG$, qui se trouve tout entier dans le triangle curviligne quelle que soit la position de $N$, et qui permet d'atteindre toutes les zones de ce triangle. Il ne reste qu'à placer un point $M$ dans ce polygone, puis à lui adjoindre le script par actualisation SoitValeur(N, M).
    Lien vers une figure en ligne.
    Amicalement,
    Ludwig



Connectez-vous ou Inscrivez-vous pour répondre.