à dessiner des chapeaux

Les derniers trucs auxquels vous avez joué, les derniers ordinateurs que vous avez bidouillés.

Modérateur : Politburo

Avatar de l’utilisateur
Ythunder
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4039
Inscription : 09 août 2008 17:46
Localisation : 03

Re: à dessiner des chapeaux

Message par Ythunder » 26 févr. 2018 13:03

Justement, vu quelques réponses, vous avez les temps d'exécution de chaque machine (achèvement complet du programme )?
il y avait un livre de graphisme de ce type sur Thomson, les temps d'exécution.. non, vaut mieux pas compter :roll:
Je suis CHARLIE
Tell me boy, do you have a room, in your heart, for the Computer boom...

Avatar de l’utilisateur
C.Ret
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1969
Inscription : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: à dessiner des chapeaux

Message par C.Ret » 26 févr. 2018 13:18

Oui !

J'utilise la nouvelle application de tracé 3D :

Code : Tout sélectionner

FZ1(X,Y):= { 1+COS(60-330*((X^2+Y^2)/180^2)) si X*X+Y*Y<179^2 , -∞ sinon }
Tracé: x [ −180 180 ] y [ −180 180 ] y [ −1 3 ]   surface {1,3,3} pour la taille des damiers
Boxes: aucune zone n'est affichée sur la capture
Echelle de zone: 1.5
Curseur: Inversé 
Axe X posé en 0.7
Axe Y posé en 0.7
Axe Z posé en 0.5
Angle pivotement: 4.8
Sinon, 8 min 40 sec sur Commodore C128 / C128D pour le même graphique l'HP-prime met environ 4 sec
Le chapeau dans l'application 3D met en peu plus d'une minute (1 min12 sec) pour le chapeau à damiers
SHARP PC-1211 + CE-121 + CE-122. | VIC 20 Commodore 128D + Printer P-803. | TI-57 LCD | TI-74 BasiCalc | TI-92 II | HP-28S + HP82240A | HP-41C + (2 memory + stat + IR) modules. | HP Prime Wireless Graphing Calculator |HP-15C | CASIO fx-602p + FA-1. .Sommaire des M.P.O.. . Sommaire du P.C.T.M. .

Ben
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1286
Inscription : 21 août 2016 19:04

Re: à dessiner des chapeaux

Message par Ben » 04 mars 2018 19:31

Encore un petit chapeau, mais cette fois, c'était plus pour appréhender le BASIC de l'Hector. C'est un bon BASIC en fait, facile d'utilisation et assez rapide. Dommage qu'il n'y a pas beaucoup d'information sur le net.
HatHector25.jpg
HatHector25.jpg (138.13 Kio) Consulté 3521 fois

Avatar de l’utilisateur
C.Ret
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1969
Inscription : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: à dessiner des chapeaux

Message par C.Ret » 05 mars 2018 19:47

Très joli chapeau !

J'ai hâte de voir à quoi ressemble le code BASIC qui le génère ! :slime:
SHARP PC-1211 + CE-121 + CE-122. | VIC 20 Commodore 128D + Printer P-803. | TI-57 LCD | TI-74 BasiCalc | TI-92 II | HP-28S + HP82240A | HP-41C + (2 memory + stat + IR) modules. | HP Prime Wireless Graphing Calculator |HP-15C | CASIO fx-602p + FA-1. .Sommaire des M.P.O.. . Sommaire du P.C.T.M. .

Ben
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1286
Inscription : 21 août 2016 19:04

Re: à dessiner des chapeaux

Message par Ben » 05 mars 2018 21:41

C.Ret a écrit :
05 mars 2018 19:47
J'ai hâte de voir à quoi ressemble le code BASIC qui le génère ! :slime:
Code ultra confidentiel 😁

Avatar de l’utilisateur
C.Ret
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1969
Inscription : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: à dessiner des chapeaux

Message par C.Ret » 05 mars 2018 22:39

Ah!
Ca doit être une sorte de méli-mélo de POKE, PEEK et DATA comme l'étaient les programmes graphiques de ce genre sur un C= 64
SHARP PC-1211 + CE-121 + CE-122. | VIC 20 Commodore 128D + Printer P-803. | TI-57 LCD | TI-74 BasiCalc | TI-92 II | HP-28S + HP82240A | HP-41C + (2 memory + stat + IR) modules. | HP Prime Wireless Graphing Calculator |HP-15C | CASIO fx-602p + FA-1. .Sommaire des M.P.O.. . Sommaire du P.C.T.M. .

Ben
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1286
Inscription : 21 août 2016 19:04

Re: à dessiner des chapeaux

Message par Ben » 05 mars 2018 22:44

Ah non, pas du tout. C'est un BASIC étendu, il y a une commande PLOT. Il ne faut même pas passer en mode graphique comme sur Commodore.

Avatar de l’utilisateur
jvernet
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7700
Inscription : 24 mai 2002 09:57
Localisation : France 69
Contact :

Re: à dessiner des chapeaux

Message par jvernet » 05 mars 2018 23:52

C'est bien, mais maintenant, je veux une version avec face cachée.
Tracée sur Apple IIe
Version pas optimisée

Code : Tout sélectionner

100 REM ARCHIMEDES SPIRAL
110 REM 
120 REM ANALOG MAGAZINE
130 REM 
140 HGR2: HCOLOR =3:XS=0.85:YS=0.9
150 XP=139:XR=4.71238905:XF=XR/XP
160 FOR ZI=-64 TO 64
170 ZT=ZI*2.25:ZS=ZT*ZT
180 XL=INT(SQR(20736-ZS)+0.5)
190 FOR XI=0-XL TO XL
200 XT=SQR(XI*XI+ZS)*XF
210 YY=(SIN(XT)+SIN(XT*3)*0.4)*56
220 X1=XI+ZI+160:Y1=90-YY+ZI-1
225 X1=X1*XS: Y1=Y1*YS : REM SCALED A BIT FOR HGR RESOLUTION
230 HPLOT X1,Y1
235 REM COMMENT THE NEXT LINE TO MAKE IT SEE-THROUGH (ALSO FASTER DRAW)
240 HCOLOR=0:HPLOT X1,Y1+1 TO X1,191: HCOLOR =3
250 NEXT XI:NEXT ZI
Pièces jointes
Sans titre-1.jpg
Sans titre-1.jpg (88.73 Kio) Consulté 3460 fois
"l'ordinateur et l'homme sont les deux opposés les plus intégraux qui existent. L'homme est lent, peu rigoureux et très intuitif. L'ordinateur est super rapide, très rigoureux et complètement con."

Avatar de l’utilisateur
ledudu
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4465
Inscription : 26 mars 2009 14:07
Localisation : Ile de France
Contact :

Re: à dessiner des chapeaux

Message par ledudu » 06 mars 2018 00:13

Chapeau !!

Ben
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1286
Inscription : 21 août 2016 19:04

Re: à dessiner des chapeaux

Message par Ben » 06 mars 2018 09:41

:-)
Il met combien de temps à se dessiner?

Ben
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1286
Inscription : 21 août 2016 19:04

Re: à dessiner des chapeaux

Message par Ben » 06 mars 2018 11:00

Quand même un peu plus de 2h sur un C-128 en slow

Avatar de l’utilisateur
jvernet
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7700
Inscription : 24 mai 2002 09:57
Localisation : France 69
Contact :

Re: à dessiner des chapeaux

Message par jvernet » 06 mars 2018 14:30

Une version très optimisée

Code : Tout sélectionner

5 LOMEM: 24576:PRINT "CALCULATING...":GOSUB 70:HGR:POKE 49234,0:HCOLOR= 3:H = 140:V = 87:F = 5:M = 16245:P = 16384
10 DIM N(57),U(57):FOR J = -E TO E:K = ABS (J):B = K * G + P:IF J > Z THEN U = U(K):N = N(K):GOTO 40
20 U = S(K) * F:N = SQR(M - U):U(K) = U:N(K) = N:X = K * R5:T = T(X):FOR I = Z TO N:D = S(I) + U:IF D >= T THEN FOR T = T TO D:X = X + O:T = T(X):NEXT
30 POKE B + I,G + Q(X):NEXT
40 C = H - J:D = V - J:FOR I = Z TO N:Y = D + PEEK (B + I) - G:IF Y < Z(C - I) THEN HPLOT C - I,Y:Z(C - I) = Y
50 IF Y < Z(C + I) THEN HPLOT C + I,Y:Z(C + I) = Y
60 NEXT:NEXT:PRINT CHR$ (7):END
70 I = 0:N = 0:Y = 0:B = 0:G = 128:C = 0:J = 0:H = 0:V = 0:D = 255:N = 279:Z = 0:O = 1:DIM Z(279):FOR I = Z TO N:Z(I) = D:NEXT
80 R5 = 3 * SQR(5):R3 = O / 3:DIM S(128),T(384):FOR I = O TO G:S(I) = I * I: NEXT:N = 384:FOR I = Z TO N:D = I * R3 + R3:T(I) = D * D:NEXT
90 DIM Q(384):E = 57:F = .4 * E:D = -2 * 3.141592654 / 512:C = G + G:FOR I = Z TO G:Y = I * D:Y = E * SIN(Y) + F * SIN(Y + Y + Y):Q(I)= Y:Q(C - I) = Y:Q(C + I) = - Y:NEXT:RETURN
En interpreté, 5 minutes sur un Apple IIe
Compilé, ca met à peine 1.30 minute
Compilé sur un Apple IIe avec ZIPChip 4Mhz, on tombe à moins de 30 secondes.
"l'ordinateur et l'homme sont les deux opposés les plus intégraux qui existent. L'homme est lent, peu rigoureux et très intuitif. L'ordinateur est super rapide, très rigoureux et complètement con."

Avatar de l’utilisateur
jvernet
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7700
Inscription : 24 mai 2002 09:57
Localisation : France 69
Contact :

Re: à dessiner des chapeaux

Message par jvernet » 06 mars 2018 14:44

J'avais une version GWBASIC/QBASIC dans le temps. On pouvait choisir les dimensions (résolution/mode GWBASIC), choisir l'angle de vue de la caméra, dessin par point, par ligne (comme la version Apple IIe) ou fil de fert, faces cachées ou pas... Choisir les couleurs. Il y avait plusieurs fonctions dessinables.

Introuvable sur le net. Surement piqué dans une revue (SVM ? LIST ??). Un shareware ?

Sur un Apricot F1e (8086 4 Mhz), ça mettait des heures en 640x400
"l'ordinateur et l'homme sont les deux opposés les plus intégraux qui existent. L'homme est lent, peu rigoureux et très intuitif. L'ordinateur est super rapide, très rigoureux et complètement con."

Avatar de l’utilisateur
C.Ret
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1969
Inscription : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: à dessiner des chapeaux

Message par C.Ret » 06 mars 2018 23:38

Ben a écrit :
06 mars 2018 11:00
Quand même un peu plus de 2h sur un C-128 en slow
Pas tout à fait, mais presque !

chapeau_C128D_03.png
Commodore C128D - 1h42
chapeau_C128D_03.png (121.67 Kio) Consulté 3387 fois
jvernet a écrit :
05 mars 2018 23:52
C'est bien, mais maintenant, je veux une version avec face cachée.
[...]
Merci pour l'astuce qui permet de cacher les faces qui justement sont cachées !!

Je n'y aurais pas penser, très astucieuse cette ligne tracée jusqu'en bas en noir pour effacer ce qui devient invisible sous le pixel qu'on ajoute.

C'est comme cela d'ailleurs que j'ai pu optimiser un peu ce premier code; pour gagner du temps, je ne descends pas la ligne d'effacement (DRAW 0) jusqu'en bas (y = 191), mais uniquement jusqu'à la coordonnée du pixel le plus bas dessiné dans cette colonne de pixel.
Pour ce faire, je maintiens au fur et à mesure du tracé, un tableau Y%(319) qui contient l'ordonnée du pixel le plus bas sur la colonne (abscisse X%)

Pour aller plus vite (et éviter les erreurs de calcul des CBM 8 bits) j'ai arrondi les calculs et utilisé autant que possible des registres au format entier (d'où le suffixe %)

Code : Tout sélectionner

list

10 dim y%(320) : color 0,1 : color 1,14 : color 4,1 : graphic 1,1 : slow
20 for z=-64 to 64 : z%=5*z*z : l%=sqr(20736-z%)
30 :  for i=-l% to l% :  t=5*sqr(i*i+z%)/139 : y=(sin(t)+sin(3*t)*.4)*56
40 :  :  x%=i+z+160 : y%=90-y+z : if y%>y%(x%) then y%(x%)=y% : else draw 0 ,x%,y% to x%,y%(x%)  
50 :  :  draw 1,x%,y% : y%(x%)=y% : next i,z

ready.
SHARP PC-1211 + CE-121 + CE-122. | VIC 20 Commodore 128D + Printer P-803. | TI-57 LCD | TI-74 BasiCalc | TI-92 II | HP-28S + HP82240A | HP-41C + (2 memory + stat + IR) modules. | HP Prime Wireless Graphing Calculator |HP-15C | CASIO fx-602p + FA-1. .Sommaire des M.P.O.. . Sommaire du P.C.T.M. .

Avatar de l’utilisateur
bernouilli92
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2969
Inscription : 21 nov. 2012 14:03
Localisation : Ile de France

Re: à dessiner des chapeaux

Message par bernouilli92 » 07 mars 2018 01:02

Pourquoi ne pas juste avoir un tableau Y qui contient les coordonnées Y des points les plus hauts tracés et ensuite n'afficher le point que s'il est plus haut que la valeur correspondante dans Y.
Mais il faut commencer le tracé par l'avant et aller vers l'arrière.
De cette manière, il n'est pas nécessaire d'effacer des points, il suffit juste de ne pas les dessiner.
HP, Casio, Sharp, Psion, quelques TI et divers autres

Répondre

Revenir vers « A quoi t'as joué hier ? »