APPLICATIONSCREATION GRAPHIQUE ★ AMSPACE : CAO SUR AMSTRAD (SCIENCE ET VIE MICRO) ★

Amspace : CAO sur Amstrad (Science et Vie Micro)Applications Creation Graphique
Les programmes de création, de visualisation et d'animation d'objets en trois dimensions sont généralement considérés comme des programmes professionnels de haut niveau. Amspace, destiné aux Amstrad CPC 464 (adaptation difficile) n'offre bien sûr ni la rapidité, ni toutes les fonctionnalités d'un programme professionnel. Il est cependant bien conçu, d'utilisation relativement simple, et permettra une approche très concrète des problèmes de CAO.

LA FONCTION DE base d'un programme de CAO est la création d'un objet tridimensionnel, sous forme d'une structure fil de fer . Une fois le volume clairement défini, il devient possible de le faire évoluer dans l'espace (autrement dit de l'observer sous différents angles), de le sauvegarder ou de l'imprimer. Le programme propose deux formes de sauvegarde : l'une, classique, consiste à ranger les informations sur cassette sous forme d'un fichier séquentiel, et l'autre, plus originale, à sauvegarder l'objet sous forme de DATAS, réutilisables depuis un programme Basic.

L'utilisation des touches du pavé numérique pour la création d'un objet 3D. >>

Au démarrage, le programme Amspace se trouve en mode édition. L'écran est partagé en quatre fenêtres : trois fenêtres de travail et une d'information donnant une vision tridimensionnelle de l'objet. La fenêtre intitulée « PLAN XY» propose une vue de face. « PLAN ZY » une vue latérale, et la troisième, « PLAN ZX » , une vue de dessus. Les trois écrans d'édition offrent une grille d'aide (que l'on peut supprimer) sous forme de points dont l'espacement correspond à un déplacement de dix unités. Un premier signal sonore indique que l'on est sur un point de la grille, un second signal étant émis lorsque le point appartient simultanément aux trois grilles de travail. Sur le côté gauche de l'écran figurent des abréviations pour les diverses options disponibles (voir ci-contre) : on se déplace dans ce menu avec les touches H (vers le haut) et B (vers le bas) et on valide l'option choisie (qui s'affiche en vidéo inversée) en appuyant sur la barre d'espace.

Les déplacements et les tracés dans les fenêtres de travail peuvent se faire de trois façons : soit en utilisant les options proposées (+X, -X, +Y, -Y, +Z, -Z) sur la gauche de l'écran ; soit en déplaçant le curseur avec la manette de jeu (déplacement direct en X et en Y, et en utilisant simultanément SHIFT pour se déplacer en Z ; soit avec les touches du pavé numérique, ce qui semble la solution la plus appropriée (voir schéma page suivante).

Le résultat des déplacements apparaît toujours simultanément sur les quatre fenêtres de travail. Le mode sélectionné au démarrage du programme permet de placer des points isolés sur l'écran. On peut choisir, pour le tracé de lignes (le plus intéressant) un mode élastique (en tapant un point ou en validant l'option --du menu). Dans ce mode, un trait « élastique » relie le point mobile au point précédent, et la validation transforme ce point en droite. Il est possible d'annuler un tracé après validation (et même une série de tracés, en procédant exactement dans l'ordre inverse de celui choisi pour valider).

Pour les objets comportant un axe de symétrie, il suffira de dessiner la moitié de l'objet, l'option SY permettant de tracer automatiquement la deuxième partie. L'option 3D permet, quand elle est activée, d'obtenir une fenêtre de visualisation beaucoup plus grande (utile pour bien observer le résultat, ou avant une impression). L'impression se fait en appuyant sur la touche DEL.

Les déplacements de l'objet dans l'espace sont effectués grâce aux flèches et aux symboles + et - qui apparaissent dans le menu d'édition, éloignant ou rapprochant l'objet (dans la fenêtre 3D seulement). Les flèches haut et bas font pivoter vers le haut et vers le bas la partie de l'objet la plus proche de l'observateur, alors que les flèches gauche et droite la font pivoter vers la droite et vers la gauche. Le système est donc un peu limité, mais il permet toutefois des effets de déplacement fort spectaculaires. Notons ici que dans le mode visualisation 3D, seules les fonctions de gestion des fichiers, de symétrie, de déplacement du volume, d'affichage et de retour en mode édition deux dimensions, restent accessibles par l'utilisateur.

Considérons maintenant, comme exemple d'utilisation du programme, la construction d'un cube. Il faut tout d'abord valider le mode élastique en tapant un point, puis le point de départ avec la touche 0. A l'intérieur de la fenêtre intitulée « PLAN XY » (vue de face), l'on trace un carré de couleur orange - en veillant à bien utiliser les points de la grille graphique, grâce à l'aide sonore. Dans la fenêtre « PLAN ZY » (vue de côté), on supprime alors l'élastique en retapant un point, et l'on se déplace sur l'axe Oz, avec la touche 9 du pavé numérique, d'une longueur égale au côté du carré. Après avoir validé, il faut revenir à la fenêtre « PLAN XY », remettre en fonction l'élastique (touche .) et se déplacer vers la gauche (touche 4). La ligne tracée par l'élastique change alors de couleur pour signifier que l'on se trouve exactement devant (ou derrière) l'ancien segment tracé. On pourra observer la fenêtre « PLAN ZX » pour mieux comprendre. On trace alors un deuxième carré, de dimensions identiques (qui sera donc placé à une profondeur différente). II ne reste plus alors qu'à relier entre eux les différents sommets pour obtenir un cube (en n'omettant pas d'utiliser l'élastique, ou de le supprimer, chaque fois que cela est nécessaire).

La méthode retenue pour la création d'images pourra, au début, sembler un peu difficile. Il est vrai qu elle demande un certain apprentissage pour pouvoir être pratiquée correctement, mais il semble que ce soit la méthode la plus simple pour maîtriser rapidement la construction d'objets complexes en 3 dimensions. La plupart des logiciels d'édition en 3D du marché fonctionnent d'ailleurs sur un principe identique.

OPTIONS PROPOSÉES

EO : effacement de l'objet en cours (demande confirmation)
# S : effacement/rétablissement de la grille sonore
# Q : effacement/rétablissement de la grille graphique
K7 : opérations de sauvegarde/chargement (appel un sous-menu)
SY : dessine le symétrique de l'objet sur l'écran 3D (non mémorisé)
 - : éloigne l'objet en cours (écran 3D)
 - : rapproche l'objet en cours (écran 3D)
 - : fait pivoter le volume vers le bas
 - : fait pivoter le volume vers le haut
 - : fait pivoter le volume vers la droite
 - : fait pivoter le volume vers la gauche 3D : passage en visualisation 3D
2D : retour au mode d'édition (4 fenêtres)
PO : positionne les 3 curseurs sur l'origine du repère tridimensionnel
HAUT : annule le dernier point ou le dernier segment validé
 - : choix du mode de tracé (point isolé, ou élastique)
BAS : valide le point ou le segment en cours
-Z : déplacement du curseur dans le sens négatif sur l'axe Oz
+Z : déplacement du curseur dans le sens positif sur l'axe Oz
-Y : déplacement du curseur dans le sens négatif sur l'axe Oy
+Y : déplacement du curseur dans le sens positif sur l'axe Oy
-X : déplacement du curseur dans le sens négatif sur l'axe Ox
+X : déplacement du curseur dans le sens positif sur l 'axe Ox


Concord , vu par Amspace, en structure fil de fer.

Le programme

Ecrit entièrement en Basic, le programme crée toutefois deux routines en langage machine : il y fait appel pour l'affichage de la grille d'aide, et pour la recopie sur imprimante des images obtenues.

  • La ligne 100 renvoie au sous-programme d'initialisation des deux routines en langage machine.
  • La ligne 110 fixe la vitesse d'écriture sur cassette à 3 000 bauds.
  • Les tableaux permettant d'enregistrer les points et les symboles d'éditions sont dimen-sionnés en ligne 130 (1000 points sont prévus au maximum).
  • Les lignes 140 à 150 définissent les touches du pavé numérique (touches à répétition).
  • La ligne 280 envoie dans les sous-programmes d'initialisation.
  • La boucle principale du programme (tracé) va de la ligne 300 à la ligne 650. La ligne 400 teste la touche DEL (recopie d'écran sur l'imprimante, avec départ dans le sous-programme correspondant).
  • La ligne 580 permet de supprimer le tracé en mode de visualisation 3D.
  • Les lignes 990 à 1040 permettent le dessin de la grille d'aide, la ligne 1050 appelant le sous-programme en langage machine correspondant.
  • La ligne 1340 efface la fenêtre d'édition, sauf la colonne des symboles (pour la vision 3D), et les lignes 1360 à 1400 la restaurent.
  • Les lignes 1480 à 1550 effectuent le calcul pour la visualisation 3D.
  • Les tracés sur les quatre fenêtres sont effectués par les lignes 1620 à 1800.
  • Les lignes 1950 à 1990 mémorisent les coordonnées du dernier point validé (pour le mode élastique).
  • Les lignes 2000 à 2050 permettent de calculer la position du curseur par rapport à l'origine, sur les 4 fenêtres.
  • Les lignes 2060 à 2130 dessinent l'objet sur les 4 fenêtres, et les lignes 2140 à 2230 le dessinent sur la fenêtre 3D.
  • Les lignes 2300 à 2440 s'occupent des opérations sur les fichiers.
  • Les lignes 2450 à 2600 permettent la sauvegarde sous forme de lignes de DATAS.
  • Les lignes 2630 à 2700 effectuent la sauvegarde sous forme de fichier à accès direct (relu par les lignes 2710 à 2780).
  • Les lignes 2790 et 2810 installent les deux routines binaires de tracés de la grille d'aide (DATA en 2860) et de recopie d'écran sur imprimante (DATA en 2870,2880).

Adaptation

Destiné à l'Amstrad CPC 464, le programme fonctionnera cependant sans grandes modifications sur un CPC 664 ou un 6128. Les principales consistent à supprimer les POKE de la ligne 110, et à revoir les parties destinées à la sauvegarde et au chargement. Les indications suivantes devraient faciliter l'adaptation du programme sur d'autres machines :

  • MEMORY : place l'adresse la plus haute du Basic (inutile si l'on se passe des routines en code machine).
  • KEY DEF : redéfinit une touche du clavier.
  • Les POKE de la ligne 110 ne sont valables que pour le CPC 464. Ils fixent la vitesse d'écriture sur cassette.
  • SYMBOL : redéfinit un caractère.
  • CALL &BB06 : attend que l'on presse une touche. On peut le remplacer par WHILE iriKEY$=> » :WEMD ou par nnn IF IMKEY$=- >THEM GOTO nnn.
  • SOUND : émission d'un son (facultative).
  • PAPER , PEN : définition des couleurs des caractères (facultatif).
  • PRINT CHR$(23) ;CHR$(1) : permet de dessiner une ligne en transparence.
  • ORIGIN X,Y : place l'origine graphique aux coordonnées spécifiées par X et Y.
  • ORIGIN X ;Y,xl,x2,yl,y2 : définit une fenêtre graphique, avec X et Y pour origine graphique, et xl, x2, yl, y2 pour limites physiques.
  • CALL &A000 : dessine la grille d'aide. On pourrait éviter le recours au langage machine en écrivant :

1050 ORIGIN XD,YD : GOSUB 3000
3000 XG=0 :YG=0 : FOR 1=0 TO 28
3010 FOR J=0 TO 16 : PLOT XG,YG,CL
3020 YG=YG+10 : MEXT J : XG=XG+10 : YG=0
3030 HEXT I : RETURN


L'écran sans la grille d'aide.

  • TAG, TAGOFF : permet d'écrire un curseur à une position donnée en repérage graphique (sert au titrage des fenêtres).
  • WINDOW : définit le numéro et les limites physiques d'une fenêtre de texte.
  • PRINT #nnn : envoie l'impression sur la fenêtre de texte de numéro nnn.
  • PRINT #8 : envoie les données sur l'imprimante.
  • PRINT #9 : envoie les données sur la cassette.
  • CALL &HA600 : teste la couleur de points de l'écran, de façon à composer un caractère graphique avant son envoi à l'imprimante. On pourrait remplacer le programme d'impression en langage machine par un programme en Basic, beaucoup plus lent.

José-Manuel FERNANDES , SVM n°45

★ EDITEUR: SVM
★ ANNÉE: 1986
★ CONFIG: 64K + AMSDOS
★ LANGAGE:
★ LiCENCE: LISTING
★ AUTEURS: José-Manuel FERNANDES
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Amspace    (SVM)    LISTING    FRENCHDATE: 2019-06-09
DL: 321
TYPE: PDF
SiZE: 1170Ko
NOTE: 4 pages/PDFlib v1.6

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

Lien(s):
» Applications » Digitalização de sons (Amstrad Magazine)
» Applications » CAO (Amstrad Personal)
» Applications » Amstrad 3D
» Applications » Mini C.A.O : Conception Assistée par Ordinateur (Logistrad)
» Applications » Cao - Dessins 3D - 3D Studio - Vectoria 3D - Explorateur 3 (Tilt)
» Applications » C.A.O (Loriciels)
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» 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 232 millisecondes et consultée 2845 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.