|
Logiciel Géom de constructions de figures dynamiques Ce projet Geom est entièrement écrit en javascript. C'est un défi personnel, juste pour apprendre ce langage.
Pour le moment certaines costructions (point sur objet, intersection,...) ou transformations (symétrie centrale, rotation, translation, homothétie) ne s'appiquent pas à tous les objets (figures de base : points, droites, segments, cercles, polygones, ...) mais c'est en cours de programmation. En général, l'aide contextuelle précise les objets concernés.
De même, dans le bandeau horizontal, l'interface de commandes (bouton API) n'est pas complète ni entièrement documentée ainsi que pour le programme de la figure (bouton PF), ce qui empèche provisoirement d'enregistrer les figures. Toutefois il est possible d'ouvrir des figures enregistrées dans un fichier texte avec les commandes disponibles. Voir ci-dessous le paragraphe L'interface de commandes. Des exemples sont en téléchargement (voir menu ci-contre : Premiers exemples).
Prochainement, une documentation complète sera intégée au logiciel. Voici l'état du logiciel (liste des constructions et actions possibles) au 20/10/2024.
Liste des objets que l'on peut créerPOINT
- Point libre
- Point fixe (par coordonnées)
- Point milieu
- Point sur objet (segment, droites, demi-droite, cercle)
- Point d'intersection (segment ou droite, cercle avec segment, droite, cercle)
SEGMENT
- Segment par deux points
- ligne brisée
- polygone (ligne brisée fermée) : triangle, polygone
DROITE
- Droite par deux points
- Demi-droite
- Droites parallèles
- Droites perpendiculaires
- Médiatrice
CERCLE
- Cercle par centre et point
- Cercle par centre et rayon
- Arc de cercle sens trigonométrique
- Arc de cercle sens inverse
POLYGONE
- Polygone par sommets
- Triangle équilatéral
- Carré
- Polygone régulier
SURFACE
- Surface polygone et cercle
- Surface demi-Plan
- tSurface couronne
Transformations et Mesures/CalculsTRANSFORMATIONS
- Symétrie axiale : point, segent, toutes droites, cercle, arc, ligne brisée, polygones
- Symétrie centrale : point, segment, droite, cercles, arc, ligne brisée, polygones
- Rotation : point, segment, droite, cercles, arc, ligne brisée, polygones
- Translation : point, segment, droite, cercles, arc, ligne brisée, polygones
- Homotéthie : point, segment, doite, cercles, arc, ligne brisée, polygones
MESURE /CALCUL
- Mesure de distance
- Mesure d'angle (degré)
- Calcul
Liste des actions sur les objets
- Déplacer un point
- Tracer/Cacher les Axes
- Tracer/Cacher le Quadrillage
- Diminuer l'échelle
- Augmenter l'échelle
- Nommer ou renommer un point et le placer autour du point (4 positions)
- Effacer / afficher tous les points
- Annuler le dernier objet construit (jusqu'au premier)
- Restituer le dernier objet supprimé (jusqu'au dernier)
- Détruire tous les objets (nouvelle figure)
- Détruire un objet de la figure
- Gommer des objets (les rendre invisibles)
- Annuler le gommage des objets désignés (les rendre de nouveau visibles)
Affichages
- Afficher une image
- Afficher un texte à l'écran à un endroit précisé ou lié à un point
- tAfficher les constantes prédéfinies, les mesures et les calculs effectués
- Affichage de la consctruction
Entrées/Sorties
- Ouverture d'un fichier de programmation d'une figure
L'interface de commandes (bouton API)En cliquant sur ce bouton, une boîte de dialogue permet de taper une seule commande mais on peut aussi taper plusieurs commandes séparées par des points virgules dans un fichier texte et le sauvegarder dans le dossier des figures et l'ouvrir comme un figure (voir Premiers exemples) Par exemple la commande PointLibre(-2, 3) créée un point libre (qui peut être ensuite déplacé) dont les coordonnées initiales sont (-2,3) dans le repère (affiché ou non) du logiciel. On peut également préciser le nom "interne" du point (nécessaire uniquement si on veut enchaîner les constructions). Par exemple p1 = PointLibre(-2, 3) donne le nom p1 à cet objet point. De même, les commandes p2 = PointLibre(-3, -2) et p3 = PointLibre(2, 1) créeront deux autres points libres. Si on veut ensuite créer un segment dont les extrémités sont p1 et p2, il faudra taper la commande Segment(p1, p2) ou s1 = Segment(p1, p2) Et pour une droite passant par p2 et p3 : DroitePoints(p2, p3) ou d1 = DroitePoints(p2, p3)
Pour construire le polygone dont les sommets sont p1, p2 et p3, il faut taper Polygone(p1, p2, p3) ou pol1 = Polygone(p1, p2, p3). Donner un nom "interne" au polygone permet par exemple de créer la surface du polygone par la commande : CreationSurface(pol1). La surface aura lalors a couleur par défaut. Mais on peut, avant de céer la surface, préciser la couleur par la commande CouleurSurface(cr, cv, cb, trans) où cr, cv, cb sont les composantes RVB (de 0 à 255) et trans, la transparence ou plutôt l'opacité (de 0 à 1). soit par exemple CouleurSurface(255, 128, 255, 0.5);
On peut aussi construire un polygone régulier de n côtés dont un côté est le segment [p1, p2] par la commande PolygoneReg(p1, p2, n) où n>2, par exemple un pentagone par : PolygoneReg(p1, p2, 5); ou encore un cercle de centre p1 et passant par le point p2 par : CercleCp(p1, p2); ou c1 = CercleCp(p1, p2)
Les commandes disponibles (au 20/10/2024)POINT
- PointLibre(x, y)
- PointFixe(x, y)
- PointInter(obj1, obj2) avec obj1 et obj2 qui peuvent être des segments, des droites,, des cercles
- PointMilieu(p1, p2)
SEGMENT
- Segment(p1, p2)
- LigneBrise(nompt1, nompt2,..., nomptn), par exemple : lb1 = LigneBrise(p1, p2, p3)
DROITE
- DroitePoints(p1, p2)
- DroiteMed(p1, p2)
CERCLE
- CercleCp(p1, p2) : cercle de centre p1 et passant par le point p2
- CercleCr(p1, r), où r est le rayon du cercle (nombre décimale ou résultat d'un calcul) par exemple : CercleCr(p1, 1.5) ou CercleCr(p1, 5*sin(15))
POLYGONE
- Polygone(p1, p2, ..., pn) où p1, p2, ..., pn sont les sommets du polygone
- PolygoneReg(p1, p2, n) où n>2 est le nombre de côté du polygone régulier
SURFACE
- CreationSurface(obj) où obj peut être un cercle ou un polygone
MESURE ET CALCUL
- mes1 = MesureAB(p1, p2), mesure la distance entre les points p1 et p2. La mesure (ici mes1) peut ensuite être utilisée dans un calcul. Un calcul ou une mesure peuvent être utilisés par leur nom pour le rayon d'un cercle, l'angle d'un arc, l'angle d'une rotation, le raport d'une homothétie ou dans un calcul ;
- cal1 = CreationCalcul(expression) par exemple : cal1 = CreationCalcul(4.5*sin(15)). Le calcul peut ensuite être utilisé par son nom (ici cal1) comme ci-dessus ;
On peut utiliser dans un calcul les opérateurs classiques (+, -, x, /, ^) et les fonctions suivantes : Racine (rac), Cosinus (cos), Sinus (sin), Tangente (tan), ArcSinus (asin), ArcCosinus (acos), ArcTangente (atan), Valeur absolue (Abs), Exponentielle (exp), Logarithme (ln). Une mesure et un calcul sont enregistrés par le logiciel et peuvent être visualisés en cliquant sur le bouton "Liste des valeurs en mémoire" en haut à droite TRANSFORMATIONS
- Rotation(p1, angle, obj) où p1 est le centre de la rotation, angle son angle en degrés et obj est l'objet sur lequel s'applique la rotation (point, segment, droite, cercle, ligne brisée, polygone, polygone régulier) ;
- Homothetie(p1, rapport, obj) où p1 est le centre de l'homothétie, rapport son rapport (décimal) et obj est l'objet sur lequel s'applique l'homothétie (point, segment, droite, cercle, ligne brisée, polygone, polygone régulier).
COULEUR
- CouleurForme(cr, cv, cb, trans), précise la couleur des figures qui seront ensuite créées où cr, cv, cb sont les composantes RVB (Rouge, Vert, Bleu) sont chacune un entier (0 à 255) et trans est l'opacité (décimal compris entre 0 et 1). Par exemple : CouleurForme(123, 150, 255, 0.5) ;
- CouleurSurface(cr, cv, cb, trans), précise la couleur des surfaces qui seront ensuite créées où les paramètres sont les mêmes que pour CouleurForme. Par exemple : CouleurSurface(123, 150, 255, 0.5).
ACTION SUR LES OBJETS
- CachePoints(boolean), true cache tous les points de la figure ;
- GommeObjets(nobj, boolean), true gomme l'objet nommé nobj. Par exemple GommeObjets(c1, true), gomme l'objet c1 préalablement défini.
|