★ APPLICATIONS ★ CREATION GRAPHIQUE ★ RELIEF (CPC REVUE) ★ |
Relief (CPC Revue) | Applications Creation Graphique |
POSSIBILITES ET LIMITES DU PROGRAMMES — RELIEF permet de tracer des courbes en 3 dimensions, définies par une équation du type : y = f(x,z) (où z est la profondeur). — Le tracé peut se faire :
— Le tracé des courbes et l'élimination des points cachés sont assurés par une routine en langage machine qui teste la visibilité des points directement sur l'écran. Cette routine, quoique bonne dans l'ensemble, possède toutefois quelques défauts : il se produit parfois des aberrations (en général petites) dans le tracé (petite portion de courbe en trop ou non tracée). En général, les cas où il peut y avoir des problèmes sont les suivants :
— Tracé en mode 2 pour avoir un maximum de résolution ; — Pour le CPC 464 sélection automatique du lecteur de disquette si celui-ci est branché, vitesses d'écriture 1000/2000 ou 3600 bauds, possibilité de sauvegarde par blocks de 2K ou en un seul block de l'image créée ; — Possibilité de définir sur l'écran jusqu'à 10 fenêtres (donc on peut avoir sur l'écran plusieurs courbes différentes) ; — Possibilité de compiler et décompiler les images écran ce qui permet de gagner de la place sur la disquette (ou de réduire le temps de chargement) ; — Possibilité d'intégrer les courbes créées dans un programme personnel ; — Facilité d'introduction et de contrôle des paramètres du tracé ; — Pas de contrôle et traitement des erreurs ("overflow" et "division by zéro" en particulier). N.B. : si un "BREAK" est produit (par le système ou l'utilisateur) il suffit de presser la petite touche ENTER du pavé numérique pour retourner au menu (les dessins mémorisés sont conservés). Toutefois, si on utilise cette méthode pour repartir un peu trop souvent, le système finira par afficher "memory full". Le plus simple dans ce cas est d'entrer une ligne du type 35' pour effacer les adresses de retour des appels par "GOSUB". On peut ensuite repartir avec la touche ENTER du pavé numérique. CONCLUSION Ce programme est destiné : — à permettre la réalisation de pages écran de présentation ; — à l'étude de fonctions du type y =f(x,z). MODE D'EMPLOI Principe du menu : l'accès aux différentes options se fait par la pression d'une ou deux touches qui correspondent à des lettres de commandes. Ces lettres de commande apparaissent en blanc sur fond noir. Il est possible, si on le désire, de faire apparaître ces lettres de commande en vidéo inverse en modifiant la ligne 30 : remplacer 30 l$ = "" par 30 l$ = CHR$(24). Pour annuler une option sélectionnée par erreur presser la barre d'espace ou presser ENTER sans rien entrer pour une réponse à un "INPUT".
Utiliser ensuite : — les flèches du curseur pour déplacer la fenêtre que l'on veut créer (avec SHIFT — déplacement rapide, sans SHIFT — déplacement fin) ; — les touches 8, 4, 2, et 6 du pavé numérique pour modifier les dimensions de la fenêtre (avec ou sans SHIFT) ; — valider par ENTER ; les fenêtres déjà définies sont représentées et le programme refuse le recouvrement des fenêtres (ESPACE toujours pour annuler l'option).
Presser "a" puis "x" pour introduire par exemple la borne ax (si on introduit des valeurs erronées : ax > bx par exemple le programme corrigera de lui-même au moment du tracé).
Presser "N" puis "x" ou "z" ; AA signifie avant/arrière et GD gauche/droite — exemple : la sélection de "N" puis "x" permet d'entrer deux valeurs : le nombre de points sur l'axe des x pour un tracé d'avant en arrière (valeur à côté de "AA") et pour un tracé gauche/droite (valeur à côté de "GD") ; — le nombre de points maximum que l'on peut utiliser sur l'axe des x est indiqué en bleu à côté de la lettre "x". Cette valeur se modifie en fonction des entrées (dépend de ax,bx, et de la perspective) ; — pour l'axe z la valeur max. est fixée à 999.
— Bien sûr, avec une courbe à asymptote, cette option donne de mauvais résultats et ne doit pas être utilisée. — Elargir légèrement l'intervalle obtenu avec cette option. Par exemple, si on obtient ax = - 1.58 et bx = 1.58, il est préférable d'utiliser - 2 pour ax et 2 pour bx sinon quelques points pourraient ne pas être tracés.
Vous pouvez alors : — presser "M" deux fois pour retourner au menu. — presser "S" deux fois pour sauvegarder dans le buffer la courbe tracée. — presser "V" deux fois : la courbe qui se trouve dans le buffer est superposée à celle qui se trouve sur l'écran (donc vous obtenez en principe un quadrillage), mais le contenu du buffer n'est pas modifié (si le résultat vous plaît, vous pouvez sauvegarder par "S"). — presser "C" deux fois : permet de continuer (c'est-à-dire de tracer de gauche à droite si l'on vient de tracer d'aVant en arrière ou le contraire). utilité du mode manuel : — permet de tracer une courbe sans quadrillage (ce qui parfois est préférable). — permet de ne pas avoir à retracer la courbe dans les deux sens si le résultat du quadrillage n'est pas bon (on ne retrace alors que dans un seul sens en modifiant le nombre de points utilisés, la première partie de la courbe étant en mémoire). L'utilité de ce mode apparaîtra plus clairement lors de l'utilisation. — une pression sur les touches > et < permet de déterminer si le tracé doit être fait d'abord d'avant en arrière ou d'abord de gauche à droite (concerne uniquement le mode manuel).
N.B. : il n'est pas possible de dessiner Plusieurs types de fichiers peuvent être créés :
— pour le disque, ce sont des images d'écran normales : 16384 octets (on peut les charger par load "NOM.3D-"). — pour la cassette, ce sont toujours des images de 16384 octets, mais ces images peuvent être écrites en un seul block ; dans ce cas, il faut une routine spéciale pour les relire.
ou NOM.3D1 compilée par colonnes ou NOM.3D2 compilée par lignes Il faut une routine spéciale pour afficher ces images. Sur cassette, vous avez la possibilité d'enregistrer le fichier en un seul block. Sur cassette également, les fichiers écran (compilés ou non) peuvent être écrits à 1000, 2000 ou 3600 bauds
Les fenêtres sont ici sauvegardées ; cette option est à utiliser lorsqu'on désire sauvegarder une page écran non encore achevée pour la continuer plus tard. Pas de compilation possible pour ce type de fichier ; pour la cassette vitesse fixée à 2000 bauds et écriture par blocks de 2K. Pour le 464, la sauvegarde se fait automatiquement sur disquette si le lecteur est branché (si l'on désire tout de même sauvegarder un fichier sur cassette, faire : "ESC" pour sortir du programme, POKE 21339,0 puis |TAPE.OUT). UTILISATION DES IMAGES ECRAN — Les images écran non compilées (du type NOM.3D-) peuvent être chargées simplement à l'écran par LOAD "NOM.3D-" (sauf sur cassette si cette — Pour les images compilées, il faut réserver dans le programme utilisateur :
Une fois la routine LECDEC placée à l'adresse ADR : — faire CALL ADR,BUFD,BUFL,CN$ pour charger le fichier compilé (N$ doit contenir le nom du fichier (ex. NOM.3D1 )). — faire CALL ADR+ 87,491 52,BUFD, 80,200,c pour afficher le dessin à l'écran ; c représente le type de fichier : 0, 1 ou 2. — pour les fichiers sur cassette non compilés mais enregistrés en un seul block, il suffit de faire : CALL ADR,@N$ pour charger l'image à l'écran (pas d'espace à réserver pour le buffer lecteur ou le buffer dessin). Le programme LECDEC.GEN permet de générer le fichier LECDEC.BIN (de 250 octets) qui doit être lu par le programme utilisateur avant de pouvoir relire et décompiler des images ; il faut donc faire dans le programme utilisateur LOAD"LECDEC. BIN",ADR. MISE EN ŒUVRE DU PROGRAMME RELIEF — Taper et sauvegarder le programme BASIC RELIEF. — Taper ROUT.GEN, faire RUN : le programme ROUT.BIN est alors généré et sauvegardé. REM. :Les programmes BASIC ROUT.GEN et LECDEC.GEN ont été réalisés grâce au programme CREEDATA d'André Cheniere (CPC n° 9, p. 68).
|