Une question comme ça
Posté le 24/06/2017 17:39
Salut tout le monde,
étant donné Ue j'ai souvent une petite question à poser et que je ne veut pas embêter quelqun sur le live, je crée un topic sur lequel je poserais donc toutes ces questions. Vous pouvez également faire de même sur ce topic.
Donc voilà, 1ere question de ce topic ☺ :
Je bosses actuellement sur des rotations en 3D, et j'ai eu une idée beaucoup plus simple (enfin je pense
) que ce qui a été fait jusqu'à présent, attention : des rotations en utilisant des sinusoides. Rien de nouveau vous me direz, mais si, justement, je ne vous dévoilerai pas toute mon idée mais juste la partie qui me pose problème, voila: pour mes coordonnées de pts j'ai besoin de savoir comment on fait pour avoir les valeurs minimales et maximales de la sinusoide (en cosinus de X) dans deux variables distinctes.
Si quelqun à une idée, il ne se gêne pas
.
PS: ce nouveau systheme (enfin je pense qu'il est nouveau ) n'est q'au stade de test. Je ne sais même pas ce qui va ce passer au lencement du prog (enfin si un peu, mais pas assez pour prédire son conporte ment
)
Citer : Posté le 24/06/2017 17:45 | #
∀x∈R, Max(cos(x)) = Max(sin(x)) = 1
∀x∈R, Min(cos(x)) = Min(sin(x)) = -1
Si x = f(y) (décalage ou autre), alors il faut trouver y tel que :
Pour le max de cos : f(y) = 0 [2π]
Pour le min de cos : f(y) = π [2π]
Pour le max de sin : f(y) = π/2 [2π]
Pour le min de sin : f(y) = -π/2 [2π]
[2π] signifiant 'modulo deux pi'
Citer : Posté le 24/06/2017 17:54 | #
Tank you very much !
Merci. Je note ça.
Ajouté le 17/07/2017 à 09:48 :
j'ai un petit soucis, j'ai instalé sur ma graph 35 modifiée en graph 75 le programme "windmil" de Ninestar (son moteur 3d) et quand je démarre le programme qui est bien evidemment en add-ins, la calto me met un message d'erreur qui ressemble a peut près a ça:
System ERROR
REBOOT :[EXIT]
INITIALIZE :[EXE]
ADRESS(R)
TARGET=E6FF2136
PC =0810049C
Le tout dans un cadre. Je ne peut que faire [EXIT] et il redemmare la calto. Le [EXE] ne marche pas...je ne comprend rien et en plus ce n'est pas le premier programme avec lequel il me met ce message d'erreur, il y a aussi le prog "irobot" de Nitrosax...quelqun peut me dire ce qu'il se passe... SVP
-Planétarium 2
Citer : Posté le 17/07/2017 09:55 | #
Ce qui se passe ? Le programme de Ninestars a crashé. En l'occurrence, je peux même dire pourquoi : le système n'a pas apprécié se tentative de lire une zone de la RAM statique, sans doute un problème d'alignement.
Tu as vérifié la compatibilité SH3/SH4 de cet add-in avec ta machine ?
Edit 2 mois plus tard : inattention de ma part, il a tenté d'exécuter de la RAM statique. C'est du ML/appel de syscall tout craché (la procédure d'appel déclarée dans un tableau C est partie dans la section .data et non .rodata) o/
Citer : Posté le 17/07/2017 10:01 | #
en fait il y a un prog compatible SH4 mais le problème c'est que Fa124 ne l'accepte pas donc du coup je suis obligé de mettre l'autre qui est en G1a mais pas forcément compatible SH4...bizzare quoi.
-Planétarium 2
Citer : Posté le 17/07/2017 10:02 | #
L'autre est en SH3 (car compilé avec le SDK), il faut que tu mettes le SH4 (et que tu le renommes pour qu'il fasse 8 caractères ou moins).
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 17/07/2017 10:03 | #
Comment ça, FA-124 ne l'accepte pas ? Vérifie que le nom du fichier ne contient bien que 8 lettres (.g1a exclus) et aucun caractère spécial.
Citer : Posté le 17/07/2017 10:03 | #
ok je verifie
Ajouté le 06/09/2017 à 18:51 :
Bonjour tout le monde,
je me suis mis a apprendre le C et évidemment je me demande comment transférer mes programmes sur ma calto (graph 35+ améliorée), sachant que mon code source est en C évidemment 8) .
J'ai téléchargé le sdk graph 75 85 95 mais je ne comprend pas son fonctionnement car je fais mes progs en C sur le logiciel "code::blocks" (car j'apprends avec un livre: "apprendre a programmer en C pour les nuls" et qu'ils font les exemples là dessus.).
J'ai éssayé de transférer mes progs faits avec code::blocks sur le sdk mais il ne veut pas compiler le prog ("Build").
Une idée de solution sinon que de faire mes progs sur le sdk sachant que je ne sait pas m' en servir...
-Planétarium 2
Citer : Posté le 06/09/2017 18:56 | #
Oh merde... x)
Hmm, tu peux pas comme ça. Les programmes que tu compiles avec Code::Blocks le sont pour ton PC. Pour la calto, il y a des choses qui changent. Par exemple, tu n'as pas puts(const char *str) mais PrintXY(int x, int y, const unsigned char *str, int mode) pour afficher à l'écran.
Dans l'ensemble il faut apprendre à utiliser de nouvelles fonctions et il y a des choses qui changent pas mal. Si tu n'es pas diablement pressé, attends de connaître les fonctions et un peu de pointeurs avant de passer sur la calculatrice. Les pointeurs n'ont pas grand-chose de différent entre les deux plateformes, mais quand tu sauras les utiliser tu maîtriseras sans trop de problèmes les différences de concept entre la calto et le PC.
Citer : Posté le 06/09/2017 19:02 | #
Ok mais sur le sdk par ex il y a plusieurs cases, une, évidente pour le prog, mais je ne vois pas a quoi servent les autres.
Le prog que j'ai éssayé de transférer sur le sdk ne comportait pas de fonction puts ( const char *str , seulement un random et quelques affichages printf(...). C'est mon premier et c'est...c'est...UN + OU -.......déja vu...
Serieusement, je pense pas que ça change tant que ça d'un logiciel a l'autre...non ?
-Planétarium 2
Citer : Posté le 06/09/2017 19:04 | #
J'ai donné puts() comme exemple, mais printf() est un autre cas de truc qui n'existe pas sur la calculatrice. Honnêtement, ça le fera pas « juste comme ça ».
Visiblement tu ne t'imagines pas trop les différences qu'il peut exister. Alors renseigne-toi un peu sur les bibliothèques et en particulier sur la libc (quand tu connaîtras les fonctions). Ensuite, sache pour plus tard que :
- La calculatrice ne supporte qu'une partie de la libc (et pas printf())
- Une bibliothèque spéciale de Casio nommée fxlib existe « en échange »
Fais-moi confiance pour l'instant, ça ne marchera pas du tout tout seul. C'est fourbe à dire, mais le bon moment pour faire la transition est quand on commence à comprendre pourquoi il y a une transition !
Citer : Posté le 06/09/2017 19:08 | #
En plus de la bibliothèque standard d'input/output manquante (printf, scanf, etc, ne sont pas implémentés dans la bibliothèque standard sur calculatrice) à remplacer par l'usage de la fxlib, il y a autre chose d'important à considérer.
Le C est un langage qui a évolué et a été standardisé plusieurs fois. Les trois standardisations principales sont celles publiées en 1989 (« C89 »), 1999 (« C99 ») et 2011 (« C11 »). Code::Blocks utilise généralement comme compilateur derrière MinGW, une variante de GCC, donc supporte probablement les trois standards. Le SDK, quant à lui, utilise le compilateur d'Hitachi, qui ne supporte qu'un standard, celui de 1989. Toutes les fonctionnalités qui ont été ajoutées au fil du temps et standardisées par la suite ne sont donc pas supportées par ce compilateur. Tu risques donc d'avoir des erreurs à cause de ça.
Mon blog ⋅ Mes autres projets
Citer : Posté le 06/09/2017 19:08 | #
OK ok je fait confiance, il est vrai que je ne fait que débuter,...l'entousiasme tu sais...mais tu as une idée d'ou je peut me renseigner sur les bibliothèques (en particulier, du coup la LIBC et FXLIB aussi...
après je ne t'embète plus avec ça...
Edit Breizh_Craft : confiAnce. En général je corrige pas les messages, mais là mes yeux m'ont supplié.
-Planétarium 2
Citer : Posté le 06/09/2017 19:14 | #
Petite note au passage : la libc n'est qu'un aggrégat de différentes bibliothèques standardisées au sein même des standards C/C++, ou ailleurs (POSIX, SUS, etc, proposent des extensions à la libc qui sont appropriées pour un OS type UNIX). La fxlib telle que proposée dans le SDK, incluant donc celle faite par Renesas pour SuperH, propose certaines des fonctionnalités de la libc (maths, bibliothèque standard <stdlib.h>, etc), mais pas toutes.
Il n'y a pas d'endroit publiquement accessible (pas officiellement en tout cas) pour se renseigner vraiment sur les fonctionnalités sur lesquelles tu peux compter ou non (surtout que la fxlib/hitachi libc ne respecte pas totalement ce standard). Mais en suivant quelques tutoriels, tu peux grapiller des bouts çà et là.
Autrement, pour la fxlib, personne n'a publié de documentation web ; cependant, il y a des documents PDF présents dans les dossiers du SDK. Tu peux trouver ça ici : https://bible.planet-casio.com/casio/sdk_manuals/
Mon blog ⋅ Mes autres projets
Citer : Posté le 06/09/2017 19:16 | #
merci
Ajouté le 06/09/2017 à 19:25 :
attend, ce que tu m'as donné comme lien m'informe seulement sur le C standart. pas sur la fxlib...je me trompe non ?
-Planétarium 2
Citer : Posté le 06/09/2017 19:26 | #
C'est l'inverse. Le standard C n'est accessible qu'en payant (et ça coûte la peau du cul). Le lien que je t'ai mis, c'est la documentation de la fxlib, et du SDK en général. La documentation des fonctions de la fxlib, c'est dans Libraries.pdf.
Mon blog ⋅ Mes autres projets
Citer : Posté le 06/09/2017 19:27 | #
Ah mais alors c'est quasi pareil non ?
-Planétarium 2
Citer : Posté le 06/09/2017 19:32 | #
- les standards C couvre les fonctions auxquelles tu es sensé avoir accès sur toutes les plateformes. Cela inclue tout ce qui est <stdio.h>, <stdlib.h>, etc, avec des fonctions type strcpy(), printf(), cos(), etc. Tu dois avoir accès à ces headers tant sur Microsoft Windows que sur Linux en passant par Plan 9 de Bell Labs jusqu'à la fx-9860G (nom de code de la famille de calculatrices dont fait partie celle pour laquelle tu développes) ;
- la fxlib couvre les fonctions qui ne sont accessibles QUE sur pour la fx-9860G de base. Cela inclue les headers tels que <fxlib.h> (si tu décomposes le nom, ça fait "fx lib", "fx library", "bibliothèque (lib) pour la fx-9860G), <keybios.h>, etc, et tout ce que ces headers définissent, à savoir Getkey(), locate(), Print(), etc.
Ici, les deux documents intéressants sont :
- C Standard Libraries.pdf : CASIO décrit ici la partie du standard C qu'elle a implémenté et sur laquelle tu peux compter dans le SDK ;
- Libraries.pdf : les bibliothèques faites par CASIO pour l'OS sur la fx-9860G produite par CASIO (appelées fxlib par commodité).
Je peux comprendre que tu confondes, puisque tout ça est plus ou mis dans le même panier, celui du SDK, mais les headers (fichiers en .h) sont différents, et les fonctions, macros, types, etc, définis aussi. Attention
Mon blog ⋅ Mes autres projets
Citer : Posté le 06/09/2017 19:36 | #
Ah d'accord, mais ça m'embête un peu ça parce que dans mon livre on ne parle que du standard C et pas de ces fonctions comme Getkey(), le Print(). Pour ça je pense qu'il existe des tutos non ? Et aussi pour l'utilisation du sdk je ne sais pas m'en servir.
-Planétarium 2
Citer : Posté le 06/09/2017 19:46 | #
La communauté a écrit assez peu de tutoriels généralistes. Il y avait, semble-t-il, celui d'Intelligide, mais il a supprimé ça en partant avec pertes et fracas.
Donc n'hésites pas à lire le document Libraries.pdf. Pour compléter, cette page du CUW devrait faire l'affaire.
Par ailleurs, la communauté s'est bien vite rendue compte de l'inefficience de la partie graphique de la fxlib, et s'est tournée vers la MonochromeLib de PierrotLL, plus performante et complète. N'hésites pas à l'utiliser pour tout ce qui est graphismes.
Mon blog ⋅ Mes autres projets
Citer : Posté le 07/09/2017 07:41 | #
Donc si je comprends bien, il n'y a plus de tutos sur le SDK ?
-Planétarium 2