4-9. Regarder les résultats et tracer des courbes

4-9-1. Afficher des résultats alphanumériques

4-9-2. Regarder des signaux 1D (vecteurs)

Utiliser la macro Visu/t

Utiliser la macro Visu-Zoom/t

Les autres macros de visualisation 1D

4-9-3. Visualiser des signaux 2D (matrices, ou groupes de vecteurs)

Définition de "Matrices" et "Groupes de signaux"

Macros pour regarder des signaux 2D

Regarder des signaux 2D infinis par bloc

4-9-4. Faire des "hardcopies" temporaires de résultats

Faire des hardcopies temporaires de résultats alphanumeriques

Faire des hardcopies temporaires de résultats graphiques

4-9-5. Créer des visualisations personnalisées en utilisant les modules de dessin élémentaires

Les modules du dessin élémentaires

Les options des réticule

Exemple 1: Dessiner une ligne entre deux points

Exemple 2: Dessiner plusieurs lignes à la fois en utilisant des vecteurs

Exemple 3: Dessiner plusieurs lignes à la fois (2)

Exemple 4: Dessiner plusieurs lignes à la fois (3)

Exemple 5: Dessiner une ligne entre un point fixe et un réticule!

Exemple 6: Diviser un plan graphique en 4 sous plans

Exemple 7: Diviser selon une variable - Présenter des matrices de courbes 1D

Exemple 8: Superposer des éléments graphiques

La section Sorties de la bibliothèque MUSTIG contient plusieurs macros pour regarder des résultats et tracer des courbes. Des signaux selon une ou deux variables (c.-à-d. vecteurs et matrices) peuvent être affichés directement. Les signaux selon un plus grand nombre de variables peuvent être vus en apportant quelques changements aux macros 2D existantes.

4-9-1. Afficher des résultats alphanumeriques

Plusieurs modules sont proposés dans la section Sorties de la Bibliothèque pour afficher des resultats numériques :

Le module d'affichage alphanumerique général. Les données numériques vectorielles sont affichées comme une liste. La largeur du module contrôle la précision avec laquelle les nombres sont affichés. Vous pouvez redimentionner ce module pour changer la précision ou faire de la place pour d'autres données.

Les échantillons d'un vecteur sont affichés comme une colonne :

Si les données dépendent de plus d'une variable, le résultat est encore affiché comme un vecteur et les dimensions sont entrelacées. Vous ne pouvez pas contrôler dans quel ordre les éléments sont affichés :

 

Si le nombre de données à afficher est tel qu'il n'y a pas assez de place sur votre écran, vous pouvez soit sélectionner des portions de données (voir Changer la longueur d'une variable), doit sélectionner le module ?????? et taper Alt+M pour le changer en une macro. Puis, cliquez deux fois sur la macro : une nouvelle fenêtre qui contient des barres de défilement s'ouvre et permet de voir toutes les données.

Le module ?????? ne devrait pas être utilisé pour voir un très grand nombre de données : sélectionnez une portion des données auparavant, ou utilisez les macros d'affichage graphique à la place.

Macro d'affichage numérique vectoriel formaté. Affiche les éléments d'un vecteur dans une fenêtre séparée avec des barres de défilement, à côté des indices. Permet de regarder un plus grand nombre de données, comme dans le programme ci-dessous :

 

Affiche un signal 2D comme une matrice. Dans l'exemple ci-dessous, la fenêtre d'affichage a été incluse dans la face avant par commodité (voir Créer des images de macros).

Affiche un signal 2D comme une matrice formatée. Dans l'exemple ci-dessous, la fenêtre d'affichage a été incluse sur la face avant par commodité (voir Créer des images de macros). Le format de l'affichage peut être changé en cliquant deux fois sur la macro.

Affiche un signal 2D complexe comme une matrice.

 

4-9-2. Regarder des signaux 1D (vecteurs)

Utiliser la macro Visu/t

La macro de base Visu/t dans la section Sorties de la Bibliothèque permet d'afficher un signal selon la variable /t . Le nom de la variable peut être changé par Majuscule+Ctrl+Clic sur la boîte.

Pour regarder un signal selon une variable, reliez le macro Visu/t au signal :

Dans l'exemple précédent, un signal de 10 échantillons est créé et est chargé avec les valeurs d'une sinusoïde. Pour afficher le signal, comme toujours dans MUSTIG, cliquez à droite sur la macro Visu/t : une nouvelle fenêtre s'ouvre et la courbe est tracée :

C'est la configuration par défaut : des axes en noir avec une grille bleu clair. La courbe est tracée avec une ligne orange mince et la normalisation est telle que la courbe remplit tout l'espace.

Ajuster les axes :

Déplacez le curseur de la souris dans cette fenêtre graphique en frappant Shift+Ctrl. Cinq croix et un rectangle paraissent. Ce sont des réticules sensibles à la souris qui permettent d'ajuster plusieurs éléments du graphe :

Pour obtenir l'information sur ce qu'un réticule fait, cliquez dessus et demandez l'aide en ligne (raccourci Alt+H).

Pour déplacer un réticule en croix, cliquez dessus pour le sélectionner et le déplacer en utilisant soit la souris soit les flèches du clavier.

Pour déplacer le rectangle, cliquez sur sa frontière pour le sélectionner et le déplacer en utilisant soit la souris soit les flèches du clavier. Vous pouvez le redimentionner en gardant la touche de majuscule enfoncée en déplaçant.

Quand vous déplacez un réticule, la courbe est généralement automatiquement recalculée pour permettre une réaction rapide. Si votre signal est très long ce peut être maladroit et vous pouvez vouloir sélectionner temporairement l'option Axes seuls en cliquant deux fois sur la boîte Visu/t .

Les options de tracé :

Vous pouvez changer l'apparence de la courbe à votre goût en cliquant deux fois sur la boîte Visu/t. Un panneau de contrôle s'ouvre et permet de changer plusieurs paramètres :

Les options disponibles sont :

La normalisation verticale

Fixe les valeurs extrêmes sur l'axe vertical. Vous pouvez les changer et cliquer sur Manuel pour les valider. Vous pouvez revenir à normalisation automatique en cliquant sur Auto.

Note : Les normalisations automatiques ne devraient pas être utilisées pour regarder des signaux infinis (utilisez les macros spécifiques de la section Sorties / Temps réel de la Bibliothèque).

La normalisation horizontale

Fixe les valeurs extrêmes sur l'axe horizontal

Les noms des axes

Met des étiquettes le long des axes du graphe (par défaut = aucune étiquette)

Le nom de la courbe

Change le nom de la fenêtre graphique (par défaut = " Courbe ")

Couleur de courbe

Fixe la couleur de la courbe quand l'option Ligne en couleur simple est choisie. Doit être un nombre réel entre 0 (transparent) et 1 (noir) :

La couleur de fond

Couleur du fond de la fenêtre graphique. Même échelle que pour la couleur de la courbe.

Les paramètres des axes

Fixe le type de axes et l'échelle (linéaire ou logarithmique) sur les deux axes. La configuration par défaut est Axes standard et échelle linéaire sur les deux axes.

Les axes…

Cliquer deux fois sur cette boîte image ouvre une nouvelle fenêtre de laquelle vous pouvez changer les couleurs de la grille (default=0.2) et de la zone d'affichage de la courbe (default=0), le nombre maximal de graduations (default=20), etc.

Choix de tracé…

Ligne de couleur simple (par défaut)

Affiche la courbe avec une ligne de couleur fine

Traits composites

Permet de mettre le type, la couleur et l'épaisseur du trait en cliquant deux fois sur la boîte image Choix du trait composite. Aussi permet d'afficher des symboles de plusieurs types, dimensions et épaisseur à chaque point de la courbe. Très utile pour regarder de petits vecteurs.

Axes seuls

Affiche seulement les axes. Vous pouvez vouloir choisir cette option pour ajuster les axes confortablement si votre signal est très grand et met longtemps à afficher.

 

Ces options, plus la possibilité d'ajuster les axes, permettent de construire de beaux graphiques personnalisés. Vous pouvez ajouter des boîtes de texte dans le graphique en utilisant le raccourci Alt+T .

Trucs :

Regarder de petites séries statistiques :

L'option Traits omposites a été cochée, afin que la courbe soit tracée avec un trait rouge pointillé épais, des symboles carrés étant tracés à chaque point de donnée. Les étiquettes ont été ajoutées sur les deux axes. Une boîte de texte a été créée dans la fenêtre graphique. La couleur du fond et de la zone d'affichage a aussi été changée. Beaucoup de graduations sont visibles.

Courbe de type oscilloscope :

La courbe est tracée en utilisant l'option Ligne de couleur simple. La couleur de la courbe est 0.6 (vert) et la couleur de fond des axes est 1 (noir). Les étiquettes ont été ajoutées. Peu de graduations sont visibles.

Utiliser la macro Visu - Zoom/t

Si la macro Visu/t est utilisée pour regarder un long signal, les petits détails du signal ne peuvent pas apparaître, dû à la résolution limitée de l'écran. Dans ce cas, l'utilisateur veut faire un zoom sur de plus petites portions du signal. Cela peut être fait en reliant un module Partie ou Part_dec avec les paramètres appropriés avant de regarder le signal (voir Changer la longueur d'une variable).

Une meilleure solution pour chercher les portions les plus intéressantes d'un signal est d'utiliser la macro Visu-Zoom/t disponible dans la section Sorties de la Bibliothèque. Si vous la reliez à un long signal et cliquez à droite sur elle pour lancer son calcul, vous obtenez la fenêtre suivante :

Le signal entier est affiché dans la fenêtre. Le rectangle noir mince apparaît seulement quand le curseur de la souris est déplacé sur la courbe. Les nombres sur la partie du haut de la fenêtre indiquent la place (à la fois en échantillons et en secondes) des bords du rectangle, et la valeur du signal à ces deux positions.

Le rectangle est un réticule : vous pouvez le déplacer en cliquant dessus et le glissant en utilisant la souris ou les flèches du clavier. Vous pouvez le déplacer soit horizontalement ou verticalement.

Vous pouvez le redimentionner aussi en gardant la touche de majuscule enfoncée en déplaçant le rectangle. La largeur et hauteur du rectangle peuvent être redimentionnées.

Les places et valeurs affichées sur le sommet de la fenêtre sont recalculées automatiquement à chaque fois que vous déplacez ou redimentionnez le réticule du rectangle.

En utilisant ce mécanisme, vous pouvez déplacer et redimentionner le réticule du rectangle afin qu'il encadre la partie du signal que vous voulez regarder de plus près :

Alors, cliquez à droite sur la boîte image Zoom dans le coin haut gauche de la fenêtre : la portion sélectionnée de signal est tracée dans une nouvelle fenêtre, semblable à la précédente :

Cette nouvelle fenêtre se comporte exactement de la même manière que le précédente : vous pouvez déplacer et redimentionner le réticule du rectangle dans cette nouvelle fenêtre, de sorte qu'elle encadre une plus petite portion du signal, et demander une visualisation plus fine en cliquant à droite sur la boîte Zoom,1 : une troisième fenêtre apparaît,…

Et ainsi de suite: seulement le montant de mémoire disponible limite le nombre de zooms consécutifs qui peuvent être calculés !

Donc, utiliser des itérations consécutives de la macro du Visu-Zoom/t permet de sélectionner précisément des parties de plus en plus petites petites d'un long signal et de les afficher dans les détails.

Vous pouvez changer le nombre de graduations, la place des étiquettes, et l'origine du graphe en déplacer le curseur de la souris sur la courbe et frappant Shift+Ctrl. Trois réticules de croix apparaissent et peuvent être déplacés (soit avec les touches flèche soit la souris) pour changer l'apparence du graphe (voir Utiliser la macro Visu/t / Ajuster les axes).

Les autres macros de visualisation 1D

D'autres macros sont disponible dans la section Sorties de la Bibliothèque pour afficher des signaux 1D (c.-à-d. des vecteurs). Les paramètres de visualisation sont choisis en cliquant deux fois sur la boîte. Aussi voir l'aide en ligne de chaque macro pour plus d'information.

Comme macro Visu/t, sauf que des éléments sont disponible sur la borne de sortie du haut pour combiner plusieurs courbes.

Affiche un vecteur de nombres complexes (les parties réelles et imaginaires sont superposées)

Superpose deux signaux d'entrée (la longueur et les attributs des signaux doivent être les mêmes)

Affichages deux signaux d'entrée X(t) et Y(t) comme un nuage de points dans un plan (X,Y)

Permet de regarder des signaux beaucoup plus longs que le nombre de pixels sur l'axe horizontal.

Affiche l'histogramme des valeurs contenues dans un vecteur. Le nombre d'intervalles peut être fixé en cliquant deux fois sur la boîte.

Affichage le signal dans un graphe glissant, comme fait par les cardiographes. Ce module est capable d'afficher des signaux infinis (longueur = -1). Plus grande fenêtre, plus lent le processus d'affichage.

4-9-3. Visualiser des signaux 2D (matrices, ou groupes de vecteurs)

Définition de " Matrices " et " Groupes de signaux "

Par convention, un signal 2D dans lequel les deux variables ont plusieurs échantillons du même ordre de grandeur est appelé une matrice. Les petites matrices sont souvent affichées en utilisant les macros d'affichage de matrices PrintMat/li/co et ForMat/li/co dans Sorties de la Bibliothèque. Les plus grandes matrices sont affichées généralement en utilisant de fausses couleurs, des lignes d'isocontour, ou comme une vue 3D.

Si une dimension est beaucoup plus courte que l'autre, nous appellerons ce signal 2D plutôt un groupe de signaux . Les groupes peuvent être affichés comme des courbes 1D consécutives, en fausses couleurs, en courbes superposées, etc.,

Macros pour regarder des signaux 2D

Plusieurs macros existent dans la section Sorties / 2D de la Bibliothèque pour afficher des signaux 2D. Leurs paramètres peuvent être changés en cliquant deux fois sur la boîte. Voir leur aide en ligne (Alt+H) pour information supplémentaire.

Comme toujours, toute courbe peut être affichée dans une fenêtre image ou une face avant (voir Créer des Images et Créer des fenêtres Image). C'est particulièrement utile quand une interface conviviale est exigée pour votre application.

 

Macro pour afficher des groupes de signaux: dont la longueur de la variable /x est supposée être plus petite que celle de la variable /t .

Les types d'affichage disponibles sont : division verticale, division horizontale, fausses couleurs, isocontours, courbes superposées, courbes décalées, courbes décalées avec surfaces cachées. Des exemples sont montrés ci-dessous.

Macro pour afficher de grandes matrices : la longueur des deux variables /t et /x sont du même ordre de grandeur.

Les types d'affichage disponibles sont : fausses couleurs, isocontours, courbes décalées, courbes décalées avec surfaces cachées. Des exemples sont montrés ci-dessous.

Affiche une matrice en utilisant une échelle de couleur. Un réticule rectangle apparaît quand le curseur de la souris est sur la fenêtre. Il peut être déplacé ou redimentionné pour encadrer la zone dont vous voulez faire un zoom. Vous pouvez alors demander une vue agrandie, et ainsi de suite (voir Utiliser la macro Visu-Zoom/t).

Affiche une matrice comme une courbe à trois dimensions. Le point de vue, les couleurs, les axes et les graduations sont réglables (principalement par les curseurs souris et les boutons) en cliquant deux fois sur la boîte.

Note : Un signal test est disponible pour ajuster les paramètres de visualisation sans avoir à recalculer la courbe entière à chaque fois qu'un paramètre est changé.

Le panneau de contrôle de la macro Visu_2D_n/t/x est montré comme un exemple ci-dessous :

Ajuster les axes:

La même facilité est disponible pour les affichages 2D que pour les affichages 1D : en pressant Shift+Ctrl pendant que le curseur de la souris est sur la fenêtre graphique, une série de réticules apparaît.

Ils permettent de redimentionner et déplacer le graphe, déplacent l'origine, les étiquettes ou les graduations, et changent le nombre de graduations visibles.

Cliquez sur un réticule et taper Alt+H (aide en ligne) pour obtenir plus d'information sur ce qu'il fait exactement. Aussi voir Visualisation des courbes 1D / Ajuster les axes pour une description complète.

 

Créer des lignes omposites 2D :

La ligne par défaut utilisée pour tracer des courbes est une ligne de couleur fine, continue. La couleur de la ligne et du fond est ajustée sur le tableau de bord.

Se rappeker : Les couleurs sont entrées comme nombres réels allant de 0 (transparent) à 1 (noir). Les valeurs intermédiaires sont montrées ci-dessous:

Un exemple de visu 2D qui utilise ce mode de tracé par défaut et le mode d'affichage Division verticale est montré à droite.

Cependant, il est possible de choisir d'autres types de traits pour voir un groupe de signaux. Si l'option Traits composites est sélectionnée dans le tableau de bord de la macro Visu_2D_n/t/x, l'utilisateur peut choisir entre deux modes: Auto et Manuel.

Le mode automatique des tarits composites :

Cliquez deux fois sur la boîte Choix auto dans le tableau de bord : une nouvelle fenêtre s'ouvre pour permettre de sélectionner les options de ce mode:

Dans ce mode, MUSTIG utilise trois paramètres pour distinguer une courbe des autres : Le style ou symbole décrits par la lettre /s, la Largeur décrite par la lettre /l et Couleur décrite par la lettre /c.

MUSTIG exécute des permutations automatiques de ces trois paramètres pour afficher les courbes. Le nombre d'éléments et les valeurs d'un paramètre peuvent être modifiés.

Un ordre de priorité est défini en haut de la fenêtre : ici, /s/c/l indique que MUSTIG permute le style en premier (c.-à-d. il utilise des courbes de même couleur et même largeur, avec des symboles différents).

Puis, si le nombre de courbes à afficher est plus grand que le nombre de styles, il permute la couleur des courbes, et ainsi de suite.

Vous pouvez changer l'ordre dans /c/s/l, permuter la couleur en premier, par exemple puis le style et seulement alors la largeur des courbes.

 

Par exemple, en choisissant 2 styles, 2 largeurs et 2 couleurs, et mettant une priorité /l/c/s, les six courbes ci-dessus peuvent être affichées comme montré sur la gauche.

/l (largeur de la ligne) est la première priorité, et deux largeurs de traits ont été sélectionnées : MUSTIG affiche les deux premières courbes en changeant la largeur de la ligne.

/c (couleur) est la deuxième priorité et il y a deux couleurs sélectionnées : MUSTIG change la couleur pour les deux prochaines courbes

/s (style) est la dernière priorité : MUSTIG change les symboles aux points de données pour les deux dernières courbes.

 

 

Le mode manuel pour les traits composites :

Si les options Traits composites et Manuel sont toutes les deux sélectionnées, vous pouvez définir le style et la couleur de chaque courbe individuellement. C'est plus pratique, et cela est recommandé pour voir un petit nombre de signaux.

Cliquez deux fois sur la boîte Choix Individuels pour fixer les paramètres de chaque courbe.

Sur la gauche de la fenêtre, les boîtes à cocher permettent de sélectionner une courbe. Le nombre de boîtes à cocher est égal à la longueur de la variable x (6 dans notre exemple).

1. Cliquez sur la boîte à cocher qui correspond à la courbe dont vous voulez changer l'apparence. Votre sélection apparaît en rouge (le premier signal dans l'exemple à droite).

2. Changez les paramètres de la courbe : les symboles, couleurs, style, etc. afin que la courbe soit comme vous voulez.

3. Répétez 1. et 2. jusqu'à ce que toutes les courbes soient comme vous voulez.

Un exemple de graphique personnalisé pour les six signaux de notre exemple est montré sur la gauche. L'apparence de chaque courbe a été mise suivant la technique décrite ci-dessus.

Courbe 1 : Ligne épaisse orange, aucun symbole

Courbe 2 : Ligne pointillée bleu clair, petits symboles carrés

Courbe 3 : Aucune ligne, symboles losanges moyens,

Courbe 4 : Ligne verte continue fine, symboles + fins

Courbe 5 : Ligne rouge tiretée épaisse, aucun symbole

Courbe 6 : Ligne bleue épaisse, pointillés espacés, symboles O épais

 

 

Les lignes composites manuelles ou automatiques sont aussi disponibles dans les modes de courbes Décalées, Division Horizontale et Superposition.

Ici sont les mêmes courbes avec les mêmes paramètres de l'affichage en mode superposition (à droite).

 

Autres exemples de types d'affichage:

Division horizontale

Avec style de la ligne par défaut

Division verticale

Avec l'option manuelle de traits composites : aucun symbole, lignes minces de couleurs différentes.

Courbes décalées

Avec style de la ligne par défaut

Fausses couleurs

Communément utilisé pour afficher de grandes matrices clairsemées, des représentations temps - fréquence, etc.,

Visu 3D

Communément utilisée pour afficher de grandes matrices clairsemées, des représentations temps - fréquence, etc.,

Prend plus de temps à calculer qu'une visu 2D en fausses couleurs " à plat " .

Peut ne pas être bien lisible si les valeurs des échantillons sont homogènes.

Visualiser des signaux 2D infinis par bloc

Des macros sont disponibles dans la section Sorties / Temps réel de la Bibliothèque pour afficher des signaux déjà découpés en blocs. Ces macros peuvent manier un nombre soit fini soit infini de blocs, chacun de longueur finie. Elles conviennent donc pour visualiser par exemple des blocs de données acquises en temps réel.

Dans toutes les macros, la variable /t est la variable utilisée à l'intérieur de chaque bloc, et la variable /x décrit le numéro du bloc.

Les noms des variables peuvent être changés en cliquant sur les noms comme d'habitude (garder Shift+Ctrl appuyés si la boîte a été déverrouillée précédemment).

Toutes les macros d'affichage en temps réel exigent que la normalisation manuelle soit choisie en cliquant deux fois sur la boîte.

Comme un scroll se fait d'un bloc à l'autre, de petites fenêtres s'affichent beaucoup plus rapidement.

Chaque bloc est affiché comme une " tranche " de la Bitmap couleur . La couleur d'un échantillon est proportionnelle à sa valeur. Un scroll se fait d'un bloc à un autre, afin que l'affichage apparaisse comme un sonogramme.

Affiche chaque bloc comme une courbe continue, juste au dessous de la précédente, afin que l'affichage ressemble à un spectrogramme 3D.

Chaque bloc est affiché sur un tracé seulement et remplace le précédent. Le résultat est une " courbe animée ".

4-9-4. Faire des hardcopies temporaires de résultats

Quand un résultat (soit numérique soit graphique) a été calculé, on peut vouloir le garder comme référence pour le comparer aux autres résultats plus tard.

Une première solution est d'enregistrer les données de référence dans un fichier (voir Ecrire des fichiers de données) en vue de les relire plus tard et d'afficher les résultats quand on en a besoin. Les résultats de référence sont donc enregistrés sur le disque dur, mais cette technique exige l'utilisation des modules de lecture - écriture fichier.

Il y a une solution plus simple si la résultats de référence ne doivent pas être gardés.

En effer, quand un module d'affichage tel que?????? ou Courbe (C) est dupliqué en utilisant le raccourci Alt+D, son contenu n'est pas réinitialisé jusqu'à ce qu'il soit relié au graphe, ou qu'on le réinitialise explicitement en utilisant Réinitialiser la clôture. Cette caractéristique est utilisée pour faire des " hardcopies " temporaires d'affichages de référence.

Faire des hardcopies temporaires de résultats alphanumeriques

Supposons que vous avez programmé un algorithme qui produit un petit vecteur résultat. Un de vos essais a été particulièrement intéressant et vous voulez sauver temporairement ce résultat de référence pour le comparer aux autres résultats plus tard :

Juste cliquez sur le module d'affichage pour le sélectionner et tapez Alt+D pour le dupliquer. Lâchez le module copié dans votre fenêtre de programme. Les valeurs à l'intérieur du module copié ne sont pas réinitialisées :

Vous pouvez continuer maintenant à mettre au point votre application : le vecteur de référence copié restera inchangé jusqu'à ce que vous le reliez ou le réinitialisez explicitement en utilisant Réinitialiser la clôture :

Faire des hardcopies temporaires de résultats graphiques

Supposons que vous avez programmé un algorithme dont le résultat est un affichage graphique. Un de vos essais a été particulièrement intéressant et vous voulez sauver temporairement ce résultat de référence pour le comparer aux autres résultats plus tard :

Programme de l'utilisateur qui produit un groupe de courbes. Ce groupe est observé en utilisant la macro Visu_2D_n.

Fenêtre graphique de la macro Visu_2D_n/t/gain

Pour faire une hardcopy temporaire de cette fenêtre graphique, cliquez deux fois sur la macro  Visu_2D_n : le tableau de bord de cete macro apparaît. Cliquez sur le module Courbe localisé juste en dessous de l'étiquette du " nom de Courbe " et glissez ce module dans votre fenêtre programme :

Le module de la Courbe est utilisé pour produire une fenêtre graphique de MUSTIG. Quand un tel module précédemment calculé est copié ou est dupliqué, les résultats qu'il contient ne sont pas réinitialisés jusqu'à ce que le module soit relié ou réinitialisé en utilisant Réinitialiser la clôture.

Donc, vous pouvez renommer le module Courbe copié en quelque chose de plus explicite :

et cliquer deux fois sur ce module. Les résultats sauvés paraissent dans une nouvelle fenêtre, renommée :

Vous pouvez fermer et réouvrir cette courbe de référence. L'affichage restera inchangé jusqu'à ce que le module Courbe copié soit relié à un graphe MUSTIG ou réinitialisé en utilisant Réinitialiser la clôture.

La même technique peut être utilisée pour faire des hardcopies temporaires d'autres modules d'affichage graphique, soit 1D, 2D, 3D ou personnalisés:

Attention : Comme ces hardcopies temporaires ne peuvent pas être recalculées, elles ne peuvent pas être imprimées en haute résolution.

4-9-5. Créer des affichages personnalisés en utilisant des modules de tracé élémentaires

Toutes les macros de visualisation dans la Bibliothèque peuvent être déverrouillées et peuvent être changées selon votre goût, grâce à la modularité de MUSTIG. Un truc : Utilisez la macro de visualisation qui convient le mieux à vos besoins et la modifier si nécessaire.

Les modules de tracé élémentaires

Les modules pour les opérations de tracer élémentaires sont disponibles dans Sorties / Tracés Élémentaires de la Bibliothèque. Les plus intéressants sont décrits ci-dessous. Voir leur aide en ligne pour plus de détails.

C'est aussi une bonne idée de regarder dans les macros de visualisation, puisqu'elles ont toutes été faites en utilisant de tels modules de tracé élémentaires. Plusieurs algorithmes de tracé ont alors été inclus en une seule macro. Les menus de choix souris ont été ajoutés finalement et glissés dans la face avant de la macro pour offrir la meilleure convivialité.

Manipuler les fenêtres et plans graphiques

Macro de courbe : produit une fenêtre graphique, aussi appelée un plan graphique. Les points à l'intérieur de cet plan sont localisés en utilisant un système des coordonnées Cartésien normalisé (l'abscisse et ordonnée sont un nombre réel qui va de 0 à 1):

Note 1 : Si les nombres utilisés pour passer une position à la fenêtre graphique ont un type de nombre entier, alors la position est calculée en pixels au lieu de coordonnées relatives. i10 = 10 pixels du côté gauche, i-10 = 10 pixels du côté droit, etc.,

Note 2 : La fenêtre graphique peut être déplacée ou peut être redimentionnée comme toute fenêtre. Une fois qu'elle a une dimension appropriée, elle peut être incluse dans des faces avant ou fenêtres image comme d'habitude (voir Créer des faces avant et Créer des fenêtres Image).

Divise un plan graphique initial en 4 sous plans graphiques. Chaque sous plan a son propre système de coordonnées.

Divise un plan graphique en sous plans horizontaux consécutifs. Le nombre de sous plans produits est égal à la longueur de la variable /u (le nom peut être changé comme d'habitude).

Un dessin sera fait dans chaque sous plan, correspondant aux valeurs différentes le long de la variable /u . Ce module permet de changer facilement une visu 1D en une visu 2D, ou une visu 2D en une visu 3D, etc.,

Comme ci-dessus, mais divise le plan graphique initial verticalement.

Fixe la couleur du fond d'un plan graphique.

Crée deux plans graphiques superposés identiques : permet de fixer l'ordre dans lequel les dessins différents devraient être faits.

Scolle un plan graphique

Crée un vecteur de sous plans graphiques selon la variable /t .

Les modules de tracé élémentaires

Trace une ligne entre deux points de la fenêtre graphique

Trace un rectangle

Trace une croix

Trace un triangle

Affiche un nombre à un endroit donné dans le plan graphique. La dimension du module fixe le nombre de chiffres du nombre affiché.

Les réticules sensibles à la souris (voir les options des réticules ci-dessous)

Trace un réticule en forme de croix dans un plan graphique (voir les options des réticules ci-dessous).

Un réticule est un curseur sensible à la souris qui retourne un ou plusieurs nombres selon sa place dans le plan graphique (entre 0 et 1).

La place initiale du réticule est mise en changeant les coordonnées sur la deuxième ligne du module. Le module retourne un nombre complexe qui correspond à sa place courante.

Il peut être déplacé par l'utilisateur en cliquant dessus et utilisant soit la souris soit les touches flèche. Le réticule sélectionné est redessiné en rouge. Tous les résultats qui dépendent de la (des) coordonnée(s) retournées est recalculé automatiquement si possible.

Bien que les réticules ne soient pas des macros, ils peuvent être documentés comme des macros : Ctrl+U crée une aide en ligne, Ctrl+H fait voir l'aide en ligne.

 

Trace un réticule horizontal (voir les options des réticules ci-dessous). Retourne un scalaire réel.

Trace un réticule vertical (voir les options des réticules ci-dessous). Retourne un scalaire réel.

Trace un réticule rectangle (voir les options des réticules ci-dessous). Retourne deux nombres complexes. Les réticules rectangle peuvent être déplacés en tirant leur tour, ou redimentionnés en gardant la touche de majuscule enfoncée en déplaçant le tour.

Les options des réticules

En plus de la place indiquée sur la deuxième ligne du module, les modules du réticule peuvent contenir des lettres clés facultatives, entrées après un signe " point-virgule " (;) qui modifie leur comportement.

Le lettres clés disponibles qui peuvent être entrées après le séparateur ";" sont :

Lettre

Signification

Fonction

O

Facultatif

Le réticule devient visible seulement quand le curseur de la souris est dans la fenêtre graphique et l'utilisateur tape Majuscule+Ctrl. Le réticule n'est pas tracé quand la fenêtre graphique est imprimée.

g

Gauche

Spécifie le côté gauche comme la position de référence (voir ci-dessous)

d

Droit

Spécifie le côté droit comme la position de référence (voir ci-dessous)

h

Haut

Spécifie le côté haut comme la position de référence (voir ci-dessous)

b

Bas

Spécifie le côté bas comme la position de référence (voir ci-dessous)

 

Si aucune des options g,d,h,b n'est spécifiée, la position du réticule est considérée comme une position relative (nombres entre 0 et 1). Cependant, si une position de référence (g,d,h ou b) est spécifiée, la coordonnée associée est maintenant considérée comme une position absolue (en pixels) par rapport à cette position de référence. Les types spécifiés de coordonnées sont gardés quand le réticule est déplacé avec la souris.

Vous pouvez mélanger des coordonnées relatives et absolues. Si plusieurs positions absolues sont mises, spécifiez leur position de référence dans le même ordre dans le champ de l'option (voir des exemples dessous).

Le programme d'exemple

La fenêtre graphique

Commentaires

La position du réticule horizontal est 10%, c'est, 0.1 fois la hauteur de la fenêtre graphique, quelle que soit sa dimension courante.

Dû à l'option O, le réticule devient visible seulement quand l'utilisateur frappe Majuscule+Ctrl pendant que le curseur de la souris est sur la fenêtre graphique.

La position du réticule horizontal est à 20 pixels du sommet de la fenêtre graphique, dû à l'option h.

Le réticule devient visible dès que le curseur de la souris est sur la fenêtre graphique (aucune option O n'a été spécifiée).

Système de coordonnées mixte : La position du réticule est -25 pixels du bord droit ¾ c'est-à-dire 25 pixels à l'intérieur de la fenêtre, et 80% de la hauteur de la fenêtre.

La place initiale de ce réticule rectangle est fixée en mélangeant positions relatives et absolues : un coin est localisé à 20 pixels du bord gauche et 40% de la hauteur. L'autre coin est localisé à -30 pixels du bord droit (c'est-à-dire, 30 pixels à partir du bord) et 60% de la hauteur.

 

Exemple 1: Dessiner un trait entre deux points

Ce programme simple dessine un trait vert (code de la couleur vert = 0.6) entre deux points d'une fenêtre graphique. Si vous cliquez à droite sur le module C pour le calculer, une fenêtre graphique nommée " C " s'ouvre et affiche le résultat :

Vous pouvez déverrouiller (Alt+W) et renommer (Majuscule+Ctrl+Clic) le module C pour changer le nom de la fenêtre. Vous pouvez redimentionner aussi la fenêtre : le trait est redessiné automatiquement.

Exemple 2: Tracer plusieurs tarits à la fois en utilisant des vecteurs

Supposons maintenant que vous voulez tracer un ensemble de tarits entre des points dont les coordonnées sont connues. Une solution est d'utiliser plusieurs modules de tracé élémentaires Trait, mais il y a une solution plus simple.

Un bon point de départ est le programme de l'exemple 1. Grâce aux capacités multidimensionnelles de MUSTIG, vous n'avez pas à écrire une boucle explicitement : changez seulement les valeurs d'entrée scalaires en vecteurs selon une variable donnée (/x ici).

Comme le nom de variable et sa longueur est la même, MUSTIG fait une boucle trois fois et affiche le résultat automatiquement comme montré ci-dessous.

Note : Jetez un coup d'oeil sur les deux autres exemples dessous. Ils illustrent l'effet de changer un scalaire en un vecteur, ou changer les noms de variables : très instructif!

Exemple 3: Tracer plusieurs traits à la fois (2)

Ce programme est adapté du précédent. La seule différence est que seulement deux coordonnées des lignes (Y1 et Y2) plus l'entrée du code de la couleur sont vectoriels, la deux autres entrées étant scalaires (X1 et X2).

En conséquence, la position horizontale des points extrêmes est la même pour tous les traits : MUSTIG fait une boucle sur les ordonnées seulement.

Exemple 4 : Tracer plusieurs traits à la fois (3)

Cette fois, le nom des variables sur les deux bornes des entrées vectorielles est différent. Donc MUSTIG sait qu'il doit faire une boucle sur toutes les combinaisons existantes d'échantillons des deux vecteurs :

Exemple 5: Dessiner une ligne entre un point fixe et un réticule

Ce programme dessine une ligne rouge (code de la couleur = 0.99) entre un point fixe nommé " origine " et un réticule inclus dans la fenêtre. Cliquez à droite sur le module de courbe C pour lancer le calcul : une fenêtre graphique s'ouvre et affiche le résultat:

Vous pouvez déplacer le réticule : la ligne sera redessinée automatiquement.

Les réticules sont très faciles à définir dans le langage MUSTIG. Ils permettent de créer des poignées de contrôle interactives dans les fenêtres graphiques, pour par exemple déplacer axes ou étiquettes, sommets d'un spectre, etc.,

Exemple 6 : Diviser un plan graphique en 4 sous plans

Ce programme divise un plan graphique initial en 4 sous plans. Le point de division est entré comme un nombre complexe.

Trois sous plans sont ensuite utilisés individuellement pour dessiner une ligne, un rectangle, afficher une valeur.

Le quatrième sous plan (partie de gauche supérieure de la fenêtre) est laissé non relié car il n'est pas utilisé.

Le résultat est montré ci-dessous :

Comme un exercice, vous pourriez partir de cet exemple et le modifier afin que le point de division soit fixé par un réticule.

Note: Ce mécanisme de diviser un plan graphique est utilisé largement dans les macros de visualisation de la Bibliothèque, par exemple pour définir le sous plan dans lequel sont tracés les axes, les échelles de couleur, les graduations, et les courbes doivent être tracés.

Exemple 7: Diviser selon une variable - Regarder des matrices de courbes 1D

Supposons que vos données consistent en un ensemble de signaux 1D (selon la variable /t par exemple), chaque signal dépendant de deux autres variables (/x et /y par exemple).

Une bonne façon de regarder ces données est d'afficher une matrice de signaux 1D. Grâce à la modularité de MUSTIG, vous pouvez faire cela très facilement à partir de la macro Visu/t standard:

  1. Glissez une macro Visu/t de la Bibliothèque dans votre fenêtre programme
  2. Cliquez deux fois sur la macro, puis sur son tableau de bord pour voir le programme (a). Cliquez dessus et déverrouillez-le (Alt+W)
  3. Tout ce nous devons faire pour prendre les deux autres variables /x et /y en considération est diviser le plan graphique initial horizontalement selon la variable /x par exemple, et verticalement selon la variable /y . Pour faire cela, juste modifiez le graphe comme montré à droite (b)
  4. MUSTIG sait alors qu'il doit diviser la fenêtre graphique en une matrice de plans graphiques, et affiche une courbe 1D dans chaque sous plan : une courbe pour chaque échantillon sur les variables /x et /y.
  5. Renommez la macro en MatView/t/x/y, afin que les noms de variables puissent être changés à partir de la face avant pour s'adapter aux autres situations.

 

Donc, c'est très facile de modifier une macro de visualisation existante pour ajouter une ou deux dimensions et créer des macros de visualisation personnalisées.

(a)

Macro Visu/t originale

 

(b)

Macro Visu/t modifiée

(c) - Résultat: une matrice de signaux 1D

(d) - Macro renommée

Exemple 8: Superposer des éléments graphiques

Vous pouvez associer plusieurs opérateurs de dessin au même plan graphique. Cependant, comme l'ordre dans lequel les dessins différents sont faits ne peut pas être forcé, les résultats obtenus peuvent ne pas être ce que vous attendiez.

Le premier programme à droite (a) trace un rectangle et affiche une valeur. Comme l'ordre n'est pas spécifié, la valeur peut aussi bien être cachée par le rectangle si ce dernier est tracé après avoir affiché la valeur.

Si vous voulez qu'un dessin soit fait par dessus les autres explicitement, vous devez le spécifier en incluant le module Devant dans votre programme.

Dans la version modifiée du programme (b), la valeur est tracée par dessus le rectangle explicitement:

Note : Suivant le même principe, vous pouvez définir un vecteur de plans graphiques ordonnés, superposés selon une variable, en utilisant le module de trace élémentaire Superpose/t . Cela permet de créer des vues animées. (a) - Aucun ordre n'a été spécifié

 

(b) - Version modifiée