Je suis tombé récemment sur un article de l’Ordinateur Individuel n°69 publié en avril 1985. Cet article propose de tracer des rosaces avec l’imprimante graphique du TRS-80 modèle 3 ou de les afficher avec le mode graphique haute résolution de l’Apple II. Les programmes sont en langage BASIC, en Applesoft pour l’Apple II.
Cet article présente le programme « ROSACES » et en explique les principes. Il sera suivi d’un autre article qui sera la deuxième partie de ma page sur la programmation graphique en C sur Apple II, et qui proposera une implémentation en C de ROSACES.
Le listing en BASIC Applesoft
5 REM ***** R O S A C E S *****
10 REM ***** POUR APPLE II *****
12 TEXT : HOME
13 PRINT TAB(9);"***** R O S A C E S *****": PRINT
15 INPUT "A= ";A: INPUT "B= ";B
20 INPUT "PE= ";PE: INPUT "PA= ";PA
25 R=95/(B+1)
30 HGR2: HCOLOR=3
33 K=1
35 FOR I=0 TO 6.2832*PE STEP PA
40 X=R*(COS(A*I)+B)*COS(I)+139.5
45 Y=R*(COS(A*I)+B)*SIN(I)+ 95.5
50 IF K=1 THEN HPLOT X , Y : K=0 : GOTO 55
52 HPLOT TO X, Y
55 NEXT I
60 GET R$
65 TEXT : END
Voici un exemple de résultat :
Quelques explications
Les coordonnées des points de la rosace sont données par les formules mathématiques suivantes :
On retrouve une équation proche de celle d’un cercle, mais le rayon n’est pas constant et fonction de θ, la fonction n(θ) étant comprise entre -1 et 1 si b est un nombre positif ou nul.
En jouant sur les paramètres a et b vous modifiez la fonction n(θ) et donc la forme de la rosace ; a influe sur la fréquence et b sur l’amplitude des variations du rayon.
PA
et PE
sont des paramètres utilisés dans la boucle FOR...NEXT
qui effectue le tracé de la rosace ; PA
est le pas de variation de θ (en radian) et PE
le nombre de tours. A noter que dans le programme la variable mathématique θ est remplacée par la variable i
.
A vous de jouer
A vous de faire des essais maintenant, en jouant sur les paramètres A, B, PE
et PA
. Voici quelques combinaisons intéressantes issues de l’article de l’OI.
Rosace | A | B | PE | PA |
---|---|---|---|---|
n°1 | 7 | 10 | 1 | 0,02 |
n°2 | 7 | 3 | 1 | 0,02 |
n°3 | 7 | 1 | 1 | 0,02 |
n°4 | 7 | 0,3 | 1 | 0,01 |
n°5 | 3,5 | 3 | 2 | 0,02 |
n°6 | 3,5 | 0,3 | 2 | 0,03 |
n°7 | 3,75 | 2 | 4 | 0,02 |
n°8 | 7,5 | 1,4 | 2 | 0,02 |
n°9 | 0,3 | 0 | 10 | 0,03 |
n°10 | 1,75 | 0,7 | 4 | 0,04 |
L’articlE de l’Ordinateur Individuel
Voici l’article d’origine d’où est issu le programme ROSACES.