APPLICATIONSCREATION 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 :

  • d'avant en arrière (intersection de la surface à représenter avec des plans // à l'écran) ;
  • de gauche à droite ou de droite à gauche (intersection de la surface avec des plans | au plan de l'écran) ;
  • en quadrillage : superposition des deux types de dessins précédents.

— 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 :

  • courbes trop serrées et présence de lignes verticales abruptes

    remède : prendre moins de points sur l'axe des z ou utiliser une fenêtre plus large ;

  • présence de points asymptotiques remède : pas de remède particulier, jouer sur les différents paramètres du tracé (voir exemple de courbe à asymptote dans l'image de présentation : y = -1 3QR(x*x + z*z)) ;
  • tronquage de la surface (les portions de courbe hors fenêtre ne sont pas tracées)

    remède : cadrer la courbe correctement (éventuellement en utilisant l'option "calcul ay by AUTO" du menu) ou tracer avec beaucoup de points. Tous ces problèmes sont de faible ampleur et le résultat global est tout à fait convenable (voir les images de démonstration et faire des essais) ;

— 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".

  • Première ligne

    Pour créer une fenêtre presser une touche de 0 à 9 (10 fenêtres max.).

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).

    • Les fenêtres déjà définies apparaissent en vidéo inverse sur la page menu. Presser une touche de chiffre en vidéo inverse a pour effet de supprimer la fenêtre (après une demande de confirmation).
    • La flèche bleue sous les chiffres permet de sélectionner la fenêtre dans laquelle on veut dessiner (pour déplacer cette flèche utiliser — et — du curseur).
    • Le nombre d'octets libres du buffer dessin est affiché à côté des chiffres (16000 à l'origine).
  • Entrée des bornes

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é).

  • Nombre de points

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.

  • Perspective

    Presser P, puis utiliser les flèches du curseur (avec ou sans SHIFT) ; le cube à gauche indique la perspective.

  • Entrer fonction

    Presser "E", entrer les initialisations pour le tracé de la courbe (par exemple RAD), puis presser "ENTER" du pavé numérique et entrer la fonction. Une nouvelle pression sur ENTER permet le retour au menu.

  • Calcul ay et by AUTO

    Presser C, introduire un nombre de points. La machine détermine alors les valeurs extrêmes de y ce qui permet de cadrer la courbe. Possibilité de voir les calculs se dérouler ou non (ce qui est un peu plus rapide). N.B. :

— 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.

  • Voir

    Presser "v" et "I" ou "v" et "d". Rem. : Si une fenêtre est définie mais non remplie, on peut tout de même voir apparaître quelque chose avec l'option v + d : ce sont les restes de fenêtres précédentes que l'on a effacées. Ces restes disparaîtront dès que l'on va dessiner dans la fenêtre.

  • Couleurs

    Presser F ou S, puis utiliser les flèches du curseur.

  • Mode de tracé

    Presser "M" puis "A" ou "M" puis

    "M" : la pointe du chevron indique le mode.

  • mode Auto : le dessin se fait d'avant en arrière, de gauche à droite, puis les deux dessins sont superposés et le résultat (donc un quadrillage) est rangé dans le buffer dessin.
  • mode Manuel : le programme trace la courbe d'avant en arrière (ou de gauche à droite), puis s'arrête et une alarme retentit.

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).

  • Dessiner

    Presser "D" et ne pas oublier de placer la flèche sous la fenêtre dans laquelle on veut dessiner (si on se trompe, faire "ESC" puis repartir avec "ENTER" du pavé numérique).

N.B. : il n'est pas possible de dessiner
dans une fenêtre qui n'a pas été définie. • Lecture/sauvegarde Presser "L".

Plusieurs types de fichiers peuvent être créés :

    • fichiers écran non compilés : NOM. 3D-

— 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.

    • fichiers écran compilés du type : NOM.3D0 image de 16000 octets (cas très rare)

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

    • fichiers fenêtres : NOM.3DF + NOM.BIN

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
REALISEES PAR RELIEF
DANS UN PROGRAMME PERSONNEL

— 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
image est enregistrée en un seul block).

— Pour les images compilées, il faut réserver dans le programme utilisateur :

    • 250 octets implantés à l'adresse ADR pour y loger le fichier LECDEC.BIN
    • 4096 octets pour le buffer réservés au lecteur de disquette (ou cassette) implantés à l'adresse BUFL
    • un nombre d'octets égal ou supérieur à la taille du fichier compilé que l'on veut relire (max : 16000 octets) ; adresse d'implantation : BUFD

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).

CPC n°20

★ EDITEUR: CPC Revue
★ ANNÉE: 1986
★ CONFIG: 64K + AMSDOS
★ LANGAGE:
★ LiCENCE: LISTING
★ AUTEUR: Fabien SPERANZA
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» RELIEF-Fabien  SPERANZADATE: 2012-08-09
DL: 235
TYPE: ZIP
SiZE: 11Ko
NOTE: Extended DSK/40 Cyls
.HFE: Χ

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » PI1-Convert
» Applications » Profi-Screen (CPC Magazin)
» Applications » Swap Screen (Popular Computing Weekly)
» Applications » Listeur de sprites
» Applications » Graphmax
» Applications » Letterhead Designer (Computing with the Amstrad)
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 160 millisecondes et consultée 1934 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.