à dessiner des chapeaux

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

Modérateur : Politburo

Avatar du membre
Ythunder
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4549
Enregistré le : 09 août 2008 17:46
Localisation : 03

Re: à dessiner des chapeaux

Message par Ythunder »

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:
Quand je lis ça "oui des passionnées qui modifie des machines pour en faire des moutons a 5 pattes qui n'ont plus rien a voir avec la machine d'origine afin de faire la video choc sur youtube..."

Ca me fait rire. Perso, je n'ai ni chaine youtube sur les machines et je n'ai aucun mouton à 5 pattes qui n'a pàlus rien a voir avec des machines d'origine. Mais à qui s'adressait on ?
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3404
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: à dessiner des chapeaux

Message par C.Ret »

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 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
Ben
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1549
Enregistré le : 21 août 2016 19:04

Re: à dessiner des chapeaux

Message par Ben »

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) Vu 16591 fois
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3404
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: à dessiner des chapeaux

Message par C.Ret »

Très joli chapeau !

J'ai hâte de voir à quoi ressemble le code BASIC qui le génère ! :slime:
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
Ben
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1549
Enregistré le : 21 août 2016 19:04

Re: à dessiner des chapeaux

Message par Ben »

C.Ret a écrit : 05 mars 2018 18:47 J'ai hâte de voir à quoi ressemble le code BASIC qui le génère ! :slime:
Code ultra confidentiel 😁
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3404
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: à dessiner des chapeaux

Message par C.Ret »

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 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
Ben
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1549
Enregistré le : 21 août 2016 19:04

Re: à dessiner des chapeaux

Message par Ben »

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 du membre
jvernet
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7958
Enregistré le : 24 mai 2002 09:57
Localisation : France 69
Contact :

Re: à dessiner des chapeaux

Message par jvernet »

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
Fichiers joints
Sans titre-1.jpg
Sans titre-1.jpg (88.73 Kio) Vu 16530 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 du membre
ledudu
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5631
Enregistré le : 26 mars 2009 13:07
Localisation : Ile de France
Contact :

Re: à dessiner des chapeaux

Message par ledudu »

Chapeau !!
Ben
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1549
Enregistré le : 21 août 2016 19:04

Re: à dessiner des chapeaux

Message par Ben »

:-)
Il met combien de temps à se dessiner?
Ben
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1549
Enregistré le : 21 août 2016 19:04

Re: à dessiner des chapeaux

Message par Ben »

Quand même un peu plus de 2h sur un C-128 en slow
Avatar du membre
jvernet
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7958
Enregistré le : 24 mai 2002 09:57
Localisation : France 69
Contact :

Re: à dessiner des chapeaux

Message par jvernet »

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 du membre
jvernet
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7958
Enregistré le : 24 mai 2002 09:57
Localisation : France 69
Contact :

Re: à dessiner des chapeaux

Message par jvernet »

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 du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3404
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: à dessiner des chapeaux

Message par C.Ret »

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

Commodore C128D - 1h42
Commodore C128D - 1h42
chapeau_C128D_03.png (121.67 Kio) Vu 16457 fois
jvernet a écrit : 05 mars 2018 22: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 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
Avatar du membre
bernouilli92
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5226
Enregistré le : 21 nov. 2012 13:03
Localisation : Ile de France

Re: à dessiner des chapeaux

Message par bernouilli92 »

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

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