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.
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
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
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
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