Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » WebCalc
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

WebCalc

Posté le 26/03/2014 18:58

Je me suis rendu compte qu'on niveau lecteurs de documents... on n'avait pas grand-chose. Après divers tests et choix, je me suis tourné vers le standard : on aura donc un afficheur de documents basé sur les langages HTML/CSS.


À cette occasion, j'ai également programmé une petit lib (qui viendra en remplacement de l'actuelle libtext) qui permet d'utiliser des polices custom sans limites de proportionnalité, taille, alignement, etc., ainsi qu'un interpréteur TeX pour afficher les formules mathématiques, lui-même pas encore complet puisqu'il ne gère que quelques éléments (racines, fractions, vecteurs, ...).

\frac{\frac{12}{\sqrt{5}}+14}{\vec{AB}.\frac{3\vec{BC}}{2}}+\sqrt{\frac{4}{\frac{1}{2}at}} = \frac{\frac{2}{BC}}{17}\sum{x=\frac{2}{5}}{\sqrt{\frac{3}{n}}}\frac{x}{2}

L'image a expiré, j'en remettrai une avec la prochaine version du moteur !


Fichier joint


Précédente 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ··· 19, 20, 21 Suivante
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 30/04/2014 09:09 | # | Fichier joint


Peu de nouveaux résultats mais grosse avancée.
La récursivité me paraît (si je ne me trompe pas) au point.
Chaque élément est maintenant défini par une baseline, c.a.d la ligne de base du texte. Prenons par exemple un symbole somme, celui-ci est placé au milieu de la hauteur, de sorte que le texte qui le suive soit naturellement placé en face.
Seulement, prenons une fraction dont le numérateur et le dénominateur ne mesurent pas la même hauteur. Le trait de fraction principal (et donc la baseline de la fraction) n'est plus au milieu de la hauteur.
Donc, lorsque j'ai un objet fraction à afficher, je calcule la taille de chacun des deux éléments que je place en fonction de la baseline de la fraction (celle-ci est définie à la création de l'objet selon son contenu). Et si l'un de ces éléments est une fraction, il calculera lui-même la baseline pour ses propres numérateur et dénominateur.
Ainsi, chaque élément modifie la baseline de son paramètre. Par exemple, l'élément exposant diminuera la baseline de son paramètre (qui à 0 se trouve en haut de l'objet math), tandis que l'élément indice l'augmentera.

Voilà une image pour expliquer tout ça. À noter que la baseline du texte (en gris foncé) est toujours au milieu de la hauteur, comme pour tous les objets équilibrés.


Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 30/04/2014 13:42 | #


on a du mal a différencié les baseline, on dirait que celui du -12/x et du (-12*3)/x sont egaux.

Espace les plus
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 30/04/2014 14:02 | #


J'ai mis un pixel de plus à chaque niveau. J'essaye avec 2, et j'envoie.

Ajouté le 30/04/2014 à 14:10 :
Argh... ça ne fonctionne pas.
Soit il y a un pixel d'espace à gauche et trois à droite, soit le texte est décalé à droite (récurrence oblige...).
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 30/04/2014 20:50 | #


Bref, j'ai totalement fini le programme calto pour downloader des fichiers, et il me reste à débugguer le programmer Arduino : je n'arrive pas à calibrer l'écran tactile, mais en testant manuellement ça marche.
Donc une fois que j'ai calibré le tout, je vous fait une démo vidéo

Ajouté le 30/04/2014 à 20:51 :
Sachant que je suis super content du résultat (affichage des fichiers par page, affichage de leur taille, validation de l'envoi, envoi des fichiers, etc.) 8)
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 01/05/2014 14:11 | # | Fichier joint


J'ai presque terminé le système des formules (attention, juste le système, pas les formules ! )
Le code que j'avais jusqu'à présent permettait de gérer un élément de la formule. Or dans une formule, il va y en avoir plus d'un (j'espère) ! La formule est donc découpée en blocs de deux types: formule (tous les éléments spéciaux qui commencent par un backslash) et expressions (le plain text).
Chacun de ces blocs est affiché à la suite du précédent. Et voilà ce que ça donne.

<math margin=4 border=1 padding=1 width=100>
  \frac{\frac{3}{4n}}{\frac{\frac{-12}{x}}{3}}+x-\frac{1}{2}-4n
</math>




Il ne me reste plus qu'à utiliser ce système lors de la création de la balise, puisque actullement, il ne prend en compte que les dimensions du premier bloc (d'où la nécessité de forcer la largeur dans la balise ci-dessus).

Ajouté le 02/05/2014 à 09:17 :
Dark Storm, j'ai jeté un coup d'oeil à ton code. À part que c'est génial de pouvoir transférer des fichiers, tu nous a même fait une interface !
Au fait, pour le uCase, tu peux simplement mettre
#define uCase(c) (c&~32)

Attention en revanche aux caractères qui ne sont pas des lettres.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 02/05/2014 11:09 | #


J'ai publié du code ? Fin du mode "alzheimer"
Tu parle de bien de Serial_DLFile ? Si non, t'as pas encore vu le système opérationnel qui sera greffé sur ton projet.
Si oui, je suis assez content de l'interface, en effet.

Bref, je me suis pas repenché sur le calibrage de mon écran, mais j'ai du temps aujourd'hui. J'espère pouvoir sortir une vidéo de démonstration avant dimanche.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 02/05/2014 11:12 | # | Fichier joint


Et moi j'espère empaqueter ce système de formules mathématiques aujourd'hui.
Ensuite, j'en définis les différents éléments, puis je reviens aux widgets.
Et je publie une version alpha.
Je m'attaquerai au CSS une fois que j'aurai terminé ce programme de maths.

Ajouté le 03/05/2014 à 18:53 :
Ça y est !
Le système automatique est au point.

<math margin=4 border=1 padding=1>
  \frac{\frac{3}{4n}}{\frac{-12}{3x}}+x-\frac{1}{2}-12n dx
</math>






Ajouté le 03/05/2014 à 19:01 :
Quoique... non. :aie2:
Le découpage en expressions/formules ne se fait qu'au premier niveau, ce qui est incorrect...
Imaginons qu'au lieu de -12/3x ci-dessus, on veuille -12/3x +1 (avec le +1 à côté de la fraction), ce n'est pas possible.
Il va donc falloir que j'intègre ce découpage dans la fonction récursive...
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Adelo Hors ligne Membre Points: 235 Défis: 4 Message

Citer : Posté le 24/05/2014 12:15 | #


Waouh !
Il est vraiment super ce projet !
si tu arrive à le finir, il faudra mettre plein de cours dessus et ce sera l'add-in la plus téléchargée du site.
Je me suis amusé a créer des fichier CHAP9.cdf pour pouvoir écrire des cours (avec l'éditeur de texte) mais ce projet serait parfait pour avoir plein de cours ! Avec libtext et l'éditeur "édit" de Neptune45, il sera mieux que l'add-in (pré-installé) e-act !

PS : Tu va le continuer/finir ton programme Maths 1ère S ?

Calculatrice : Graph 35++ USB (tweaké)
Projet que je soutient
Soutenez les!
Mes jeux
Testez les !
Mes utilitaires/cours
Testez les !
Mon topic !
Regardez le !
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 24/05/2014 13:13 | #


Bien sûr
Malgré tout j'ai peur que tu te fourvoies Les cdf sont les fichiers utilisés par feu l'application Documents.
Là, c'est du HTML.

Je pense que le temps que je termine le moteur HTML je me remets à ce programme de maths, puis le moteur CSS.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 31/05/2014 21:35 | # | Fichier joint


Après des heures de bugs d'algorithmes, de modifications douteuses (oui, très ), je corrige une petite erreur et voilà le résultat.
Ce n'est pas parfait (ni complet, il n'y a que les fractions), mais j'en suis déjà assez content !


Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 31/05/2014 22:55 | #


BG À la longue, tu pense gérer une la totalité des formules LaTeX de base (somme, produit, race, intégrale, ...) ?
Si oui, on pourrait ajouter une option à l'eact Maker pour tes documents
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 01/06/2014 09:01 | #


Ça pourrait être faisable, d'autant plus qu'en théorie on peut mettre des fractions sous une somme etc... Par contre, prenons une intégrale, si vous mettez deux fractions en limites il y a des chances qu'elles se chevauchent... ou alors non, je prévois ça intelligement et on n'a pas de problème (je viens d'avoir l'idée ).
Donc dans l'ensemble, tout devrait être possible ne serait-ce que dans ce que tu as cité. En revanche, je ne parie pas sur la taille du programme.
Et puis, les calculs faits lorsque la page est chargée et ceux qui sont fait lorsqu'elle est affichée sont différents alors qu'ils devraient être identiques ( ), et si vous regardez bien ci-dessus il y a un blanc de 3~4 pixels après le "+1" sous la fraction qui n'aurait pas du être là.
Bref, je vérifie aujourd'hui mes formules, je corrige, j'optimise et j'envoie les résultats dès que c'est prêt.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 01/06/2014 10:11 | # | Fichier joint


Pour ceux que ça intéresse, je joins la partie du log qui concerne l'affichage d'une telle expression.
Mon but est uniquement de simplifier les procédures qui sont ici bien détaillées.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1243 Défis: 54 Message

Citer : Posté le 01/06/2014 10:26 | #


Merci pour le fichier, j'ai jeté un coup d'œil et vois à peu près le principe, mais ça ne doit pas être commode et simple (du tout) à penser et implémenter. Donc joli boulot !
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 01/06/2014 10:46 | #


Je vais surtout essayer de réduire le nombre d'appels car l'affichage des éléments de la page HTML est déjà récursif, donc je risque d'avoir des problèmes.
Vous connaîtriez par hasard le taille de la pile de la 85 ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 01/06/2014 11:12 | #


Une fois que ton programme sera fini, tu donneras les sources ? Car cela me tenterait bien de l'adapter sur Classpad, histoire que l'on ait un format de fichier compatible

Ajouté le 01/06/2014 à 11:13 :
Enfin, quand je dis format c'st pas tout à fait ça, c'est plutot la syntaxe qui sera compatible de l'une à l'autre
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 01/06/2014 11:17 | # | Fichier joint


C'est du style TeX.
Et au passage, j'ai réglé le problème des blancs !
Bien que le vecteur ne fonctionne toujours pas ><

\frac{\frac{3}{4n}}{\frac{-12}{3x}+1}-12n dx \vect{0}



Cartix, je t'enverrai les sources avec plaisir, d'autant qu'elles sont il me semble assez dynamiques pour être portées facilement.
Pensez-vous utile que je fasse un add-in séparé pour ce programme ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 01/06/2014 15:07 | # | Fichier joint


Il y a quand même des fois où j'ai vraiment l'impression d'être un idiot...


Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 01/06/2014 15:23 | #


Ca commence à ressembler à quelque chose
Tu peux ajouter un pixel blance entrel le trait de fraction et le "+1" je pense
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Drac0300 Hors ligne Membre Points: 839 Défis: 39 Message

Citer : Posté le 01/06/2014 15:25 | #


C'est bizarre, ce pixel blanc est bien présent dans l'image d'au dessus !
Dans Z/1Z, 42==666
Coïncidence ? Je ne pense pas.
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 01/06/2014 15:25 | #


Justement je désespère de trouver d'où vient ce soudain bug

Edit de 3 minutes plus tard
Résolu.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Précédente 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ··· 19, 20, 21 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 109 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd