Derniers sujets
» I had a dream .. glOric
une atan2 pour vos lib math EmptyAujourd'hui à 14:18 par jbperin

» Multi soluces...
une atan2 pour vos lib math EmptyMar 19 Mai 2020 - 12:41 par soft-bug

» Des nouvelles de BAS_ORIC
une atan2 pour vos lib math EmptyMer 6 Mai 2020 - 16:08 par goyo

» 3D walkthrough template en moins de 600 lignes de C
une atan2 pour vos lib math EmptyMer 29 Avr 2020 - 20:43 par Star42

» CB2 micro
une atan2 pour vos lib math EmptySam 11 Avr 2020 - 19:29 par jbperin

» Le bonjour de codeur
une atan2 pour vos lib math EmptyMer 1 Avr 2020 - 15:18 par Invité

» [résolu] Format des fichiers Hyperbasic...
une atan2 pour vos lib math EmptySam 28 Mar 2020 - 19:50 par damien

» [résolu] Récupération contenu disquettes 3 pouces...
une atan2 pour vos lib math EmptyVen 27 Mar 2020 - 15:06 par damien

» Echange de jeux/logiciels
une atan2 pour vos lib math EmptyLun 23 Mar 2020 - 20:15 par Star42

» Ordi Portable Sony VAIO
une atan2 pour vos lib math EmptyDim 22 Mar 2020 - 16:17 par froggy

» une atan2 pour vos lib math
une atan2 pour vos lib math EmptyDim 22 Mar 2020 - 11:30 par drpsy

» nouveau site
une atan2 pour vos lib math EmptyJeu 19 Mar 2020 - 20:02 par Star42

» CEO Mag Spéciaux disponibles
une atan2 pour vos lib math EmptyJeu 19 Mar 2020 - 9:33 par musepat

» Oric Explorer v2.0
une atan2 pour vos lib math EmptyMer 18 Mar 2020 - 9:47 par damien

» Flappy Oric 3D
une atan2 pour vos lib math EmptyMar 17 Mar 2020 - 7:50 par jbperin

Qui est en ligne ?
Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité

Aucun

Le record du nombre d'utilisateurs en ligne est de 29 le Mer 25 Fév 2015 - 14:01
Connexion

Récupérer mon mot de passe

Statistiques
Nous avons 208 membres enregistrés
L'utilisateur enregistré le plus récent est darq

Nos membres ont posté un total de 8565 messages dans 744 sujets
Portail ORIC



Le Deal du moment : -31%
Ordinateur portable Gamer – LENOVO Legion ...
Voir le deal
899 €

une atan2 pour vos lib math

Aller en bas

une atan2 pour vos lib math Empty une atan2 pour vos lib math

Message par jbperin le Jeu 28 Nov 2019 - 21:19

Bonjour tout le monde,

C'est avec un immense plaisir que je vous annonce aujourd'hui ma première contribution à l'éco système logiciel de l'Oric.
Une bien maigre contribution certes .. mais une contribution quand même ..

Il s'agit d'une routine d'arctangente que j'ai décliné en deux versions.


  • une version 8 bits qui prend à peu près 200 cycles. L'algo est ici.

  • une version 16 bits qui prend à peu près 1800 cycles. L'algo est ici.

Les deux versions ont été testées par brute force sur [-7 .. 7]*[-7 .. 7] sans qu'aucune erreur de précision ne soit détectée.

Le programme de test sert d'exemple d'utilisation.

Ces deux versions ne sont pas encore totalement optimisées (la version 16 bits ne l'est vraiment pas) et je posterai sur ce thread si des mises à jour améliorent la précision ou la performance.
Pour ceux qui connaissent la  version 8 bits sur codebase, celle que je propose ici est probablement plus coûteuse en cycle, mais elle calcule juste et tient sur moins de 2 pages.
jbperin
jbperin

Messages : 114
Date d'inscription : 05/11/2019
Localisation : Drôme

Revenir en haut Aller en bas

une atan2 pour vos lib math Empty Re: une atan2 pour vos lib math

Message par jbperin le Sam 7 Déc 2019 - 23:16

Un petit exemple d'usage.

Il faut:

- décompresser l'archive pour obtenir le .TAP et les sources.
- insérer le .TAP dans oricutron (ou autre),
- charger le merdier avec un CLOAD""

et une fois que le bastringue est chargé , appuyer sur la touche flèche avant en croisant les doigts.

ne touchez à rien d'autre sinon ça risque d'exploser .. c'est très dangereux les arctangentes ..

Fichiers joints
une atan2 pour vos lib math Attachment
atan2_exemple.zip exemple d'usage de l'arctangenteVous n'avez pas la permission de télécharger les fichiers joints.(18 Ko) Téléchargé 6 fois
jbperin
jbperin

Messages : 114
Date d'inscription : 05/11/2019
Localisation : Drôme

Revenir en haut Aller en bas

une atan2 pour vos lib math Empty Re: une atan2 pour vos lib math

Message par jbperin le Mer 11 Déc 2019 - 16:35

Bon ben finalement, j'ai porté sur Oric l'arctangente de codebase64

Et c'est elle que je vais utiliser car:
- la précision n'est pas super importante dans mon cas
- je peux me permettre de prendre 3 pages
- cette version est plus rapide que la mienne

Ça a quand même été très formateur de se pencher sur cet algo.

La version atan2 8 bits pour Oric est là.

Je vais bientôt vous montrer ce que ça donne .. stay tuned
jbperin
jbperin

Messages : 114
Date d'inscription : 05/11/2019
Localisation : Drôme

Revenir en haut Aller en bas

une atan2 pour vos lib math Empty Re: une atan2 pour vos lib math

Message par didierv le Mer 11 Déc 2019 - 19:50

arc tangente ... je sais meme plus a quoi ca peut servir ?
je suis curieux de voir la suite

_________________
DidierV - CEO Mag
alias coco.oric sur Defence-Force
didierv
didierv

Messages : 806
Date d'inscription : 19/01/2014
Age : 57
Localisation : Nord de la France

http://www.dmacoco.fr

Revenir en haut Aller en bas

une atan2 pour vos lib math Empty Re: une atan2 pour vos lib math

Message par kenneth le Mer 11 Déc 2019 - 22:09

Pour la 3d du projet glOric ? Wink

_________________
Archives d'ORICGAMES
Lecteur de cartouches Omose
Projet lecteur SD Erebus
kenneth
kenneth
Modérateur

Messages : 800
Date d'inscription : 13/01/2013
Age : 53
Localisation : 972

Revenir en haut Aller en bas

une atan2 pour vos lib math Empty Re: une atan2 pour vos lib math

Message par jbperin le Jeu 12 Déc 2019 - 9:16

Oui c'est ça :-)

avec le projet glOric je veux adresser le sujet de la 3D temps réel sur Oric.

L'idée (qui reste à vérifier) c'est que pour faire de la 3D temps réel sur machine 8 bits à processeur 1Mhz, il vaut mieux utiliser la trigonométrie que l'algèbre linéaire.
L'arctangente c'est l'opérateur trigonométrique qui permet de convertir des coordonnées cartésiennes (points 3D) en coordonnées angulaires (proche des coordonnées écran).
Et c'est celui que je compte utiliser sur glOric pour :
-obtenir des performances de fou jamais égalées sur Oric
-époustoufler la communauté Oric

Si ma théorie est juste j'arriverai alors à révolutionner la 3D temps réel sur Oric, entrer dans l'histoire de cette machine et devenir riche et célèbre. happy

Sinon je terminerai dépressif et alcoolique mais au moins j'aurais mis à la disposition de la communauté quelques petites routines sympa .. :-)

Donc ça vaut quand même le coup ..
jbperin
jbperin

Messages : 114
Date d'inscription : 05/11/2019
Localisation : Drôme

Revenir en haut Aller en bas

une atan2 pour vos lib math Empty Re: une atan2 pour vos lib math

Message par didierv le Jeu 12 Déc 2019 - 15:41

Sinon je terminerai dépressif et alcoolique

Pour sur dépressif ... alcoolique tu l'es déjà H24 pour avoir des idées pareilles

_________________
DidierV - CEO Mag
alias coco.oric sur Defence-Force
didierv
didierv

Messages : 806
Date d'inscription : 19/01/2014
Age : 57
Localisation : Nord de la France

http://www.dmacoco.fr

Revenir en haut Aller en bas

une atan2 pour vos lib math Empty Re: une atan2 pour vos lib math

Message par Symoon le Jeu 12 Déc 2019 - 16:29

Tu n'aurais "plus qu'à" porter Mercenary sur Oric Smile
Symoon
Symoon

Messages : 775
Date d'inscription : 26/04/2014

Revenir en haut Aller en bas

une atan2 pour vos lib math Empty Re: une atan2 pour vos lib math

Message par kenneth le Jeu 12 Déc 2019 - 17:58

A mon avis, l animation sur Apple etait precalculee, il suffit de dessiner les polygones et de les remplir. Pour l'oric en temps reel, il va falloir recalculer les points par rapport a une position angulaire spatiale initiale, sinon les volumes vont se déformer avec les dechets de calcul, et j ai peur qu on soit obligé d'utiliser des abaques pour la rotation, si on passe par la trigonometrie apres chaque sequence image on risque de consommer beaucoup de cycles. On peut commencer par une 3d en fil de fer pour voir comment l'oric se comporte, puis on passerait a a 3d convexe (dos caché) puis une 3d concave (l objet proche cache l'objet loin), là, on posera des glaçons sur le processeur, parceque il n y aura plus de boucles de pause... Very Happy

_________________
Archives d'ORICGAMES
Lecteur de cartouches Omose
Projet lecteur SD Erebus
kenneth
kenneth
Modérateur

Messages : 800
Date d'inscription : 13/01/2013
Age : 53
Localisation : 972

Revenir en haut Aller en bas

une atan2 pour vos lib math Empty Re: une atan2 pour vos lib math

Message par jbperin le Jeu 12 Déc 2019 - 19:23

kenneth a écrit:Pour l'oric en temps reel, il va falloir recalculer les points par rapport a une position angulaire spatiale initiale, sinon les volumes vont se déformer avec les dechets de calcul
Oui exactement .. j'ai commencé à recalculer les points par rapport a une position angulaire spatiale courante .. et je suis face à une déformation de type fisheye .. c'est normal ..
kenneth a écrit: j ai peur qu on soit obligé d'utiliser des abaques pour la rotation
J'ai peur que tu ais raison. Les abaques de 1337 me plaisent bien .. on doit pouvoir y taper dedans.
kenneth a écrit:si on passe par la trigonométrie après chaque sequence image on risque de consommer beaucoup de cycles
Totalement vrai .. j'ai fait un truc en assembleur que j'ai déjà bien optimisé (par rapport à ce que je suis capable de faire) et j'arrive au résultat dans l'archive jointe.
kenneth a écrit: On peut commencer par une 3d en fil de fer pour voir comment l'oric se comporte, puis on passerait a a 3d convexe (dos caché) puis une 3d concave (l objet proche cache l'objet loin), là, on posera des glaçons sur le processeur, parceque il n y aura plus de boucles de pause... Very Happy

Joli programme ... :-)

Avant la 3d fil de fer, je me suis attardé sur l'ascii art ..
Dans le petit exemple en pièce jointe, j'utilise un rendu (buggé) en mode texte ascii art.
Côté calcul, ça gère 60 points 3d reliés entre eux par à peu près 50 segments.
Au chargement, je supprimer l'IT clavier et je déroule une animation de la position ..

Ensuite je  remets l'IT clavier pour permettre de se déplacer interactivement et ainsi voir comment ça se comporte.

Dans les 2 phases, la projection et le rendu sont calculés en temps réel.

Les commandes clavier pour se déplacer sont:

  • Flèche haut / bas pour    avancer / reculer
  • W / X  pour  se déplacer latéralement
  • Flèche gauche / droite    pour    tourner la tête
  • Q / A    pour   incliner la tête
  • P / ;    pour   monter descendre
Fichiers joints
une atan2 pour vos lib math Attachment
2019_12_12_PourRene.zip une petite démo pour RenéVous n'avez pas la permission de télécharger les fichiers joints.(37 Ko) Téléchargé 20 fois
jbperin
jbperin

Messages : 114
Date d'inscription : 05/11/2019
Localisation : Drôme

Revenir en haut Aller en bas

une atan2 pour vos lib math Empty Re: une atan2 pour vos lib math

Message par drpsy le Dim 22 Mar 2020 - 11:30

hello,
j'ai cliqué par mégarde sur un - sur le premier message de JB...
Je ne savais pas que c'était pour voter !
désolé donc, c'était pas volontaire

_________________
>++++++++++[<++++++++>-]<.>++++++[<++++>-]<+.----.+++++++++++++..-------------.[-]
drpsy
drpsy

Messages : 206
Date d'inscription : 20/07/2014
Age : 48
Localisation : Lagny sur Marne

Revenir en haut Aller en bas

une atan2 pour vos lib math Empty Re: une atan2 pour vos lib math

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum