Seuls les membres ayant 30 points peuvent parler sur le chat.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Rendu mathématique 2D avec syntaxe TeX
LephenixnoirHors ligneAdministrateurPoints: 15487 Défis: 136 Message

Rendu mathématique 2D avec syntaxe TeX

Posté le 14/05/2015 15:11

Voici une bibliothèque que j'avais écrite il y a longtemps pour WebCalc et que je reprends au propre. Elle permet d'afficher des formules mathématiques en 2D (parfois appelé pretty printing) et de les produire à partir de code TeX.

\frac{x^7 \left[X,Y\right] + 3\left|\frac{A}{B}\right>}
     {\left\{\frac{a_k+b_k}{k!}\right\}^5}
+ \int_a^b \frac{\left(b-t\right)^{n+1}}{n!} dt
+ \left(\begin{matrix} \frac{1}{2} & 5 \\ -1 & a+b \end{matrix}\right)


Elle peut s'utiliser avec fxlib, gint, ou n'importe quel système qui fournit des opérations de dessins élémentaires comme tracer une ligne ou du texte.

Vous pouvez télécharger la bibliothèque et trouver des détails plus techniques sur le dépôt :

Dépôt du programme sur la forge Gitea

Il y avait une autre version assez sale de cette bibliothèque entre 2014 et 2015, et je supporte toutes ses fonctions sauf les racines carrées et les caractères spéciaux. Ça arrive !

Liste des éléments supportés :

^exposant
_indice

\frac{numérateur}{dénominateur}
\vec{vecteur}

\sum_{début}^{fin}
\prod_{début}^{fin}
\int_{inf}^{sup}
\lim_{limite}

\left(  \right)
\left[  \right]
\left\{ \right\}
\left|  \right|
\left.  \right.

\begin{matrix} ... & ... \\ ... & ... \end{matrix}



Fichier joint


Pages : 1, 2, 3, 4Suivante
Dark stormHors ligneMembre d'honneurPoints: 10821 Défis: 176 Message

Citer : Posté le 14/05/2015 15:51 | #


Une petite liste d'idées à ajouter :
– Intégrales (si possible les doubles et triples, pour les cours de SI)
– Exposants
– Indices
– Produits (PI de début à fin de expression)

Et d'autres idées viendront sans doute plus tard.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya
LephenixnoirHors ligneAdministrateurPoints: 15487 Défis: 136 Message

Citer : Posté le 14/05/2015 15:53 | #


Dark storm a écrit :
– Intégrales (si possible les doubles et triples, pour les cours de SI)

Oui, c'est encore le plus important, après les vecteurs et quelques symboles

Dark storm a écrit :
– Exposants
– Indices

Facile

Dark storm a écrit :
– Produits (PI de début à fin de expression)

Ça sera plutôt « produit de début à fin », et ensuite tu colles manuellement l'expression à côté
Dark stormHors ligneMembre d'honneurPoints: 10821 Défis: 176 Message

Citer : Posté le 14/05/2015 16:00 | #


Ben faut que ce soit exactement le même fonctionnement que les sommes, mais tu gère comme tu le sens.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya
CartixHors ligneMembrePoints: 2748 Défis: 98 Message

Citer : Posté le 14/05/2015 17:29 | #


Ca serait sympa si tu pouvais gérer la différence entre \sum\limits et \sum, \int\limits et \int et \prod\limits et \prod
LephenixnoirHors ligneAdministrateurPoints: 15487 Défis: 136 Message

Citer : Posté le 14/05/2015 17:30 | #


Cartix a écrit :
Ca serait sympa si tu pouvais gérer la différence entre \sum\limits et \sum, \int\limits et \int et \prod\limits et \prod

Ce serait sympa si tu pouvais me l'expliquer ? oO
Désolé, je ne connais pas assez le fonctionnement de TeX pour connaître la subtilité
CartixHors ligneMembrePoints: 2748 Défis: 98 Message

Citer : Posté le 14/05/2015 17:34 | #


Dans un certain envirronement, si tu mets juste \sum_{i=1}^{3}, tu auras les limits mise à droite du symbole somme, tandis qu'en mettant \sum\limits_{i=1}^{3}, tu auras les limites en haut et en bas du symbole somme.

Le fait d'écrire sans le \limits permet, par exemple, d'obtenir un résultat plus esthétique dans le cas où on ne stipule que l'indice, genre \sum_{i}, ou \int_{V}
LephenixnoirHors ligneAdministrateurPoints: 15487 Défis: 136 Message

Citer : Posté le 14/05/2015 17:37 | #


Ah, je vois. En fait, je ne pense pas qu'une manière simple de gérer le moteur permette de fonctionner comme ces éléments. ><

En gros, j'ai juste une fonction somme qui met les arguments en haut et en bas avec la syntaxe \sum{i=1}{3} (c'est très simplifié hein, je n'ai pas l'ambition d'écrire un truc aussi complet que le moteur originel). Par contre, il devrait être possible d'écrire \sum_{i=3} pour obtenir le second résultat
CartixHors ligneMembrePoints: 2748 Défis: 98 Message

Citer : Posté le 14/05/2015 17:39 | #


Ah oui, c'est bien aussi
LephenixnoirHors ligneAdministrateurPoints: 15487 Défis: 136 Message

Citer : Posté le 14/05/2015 17:46 | #


Au fait, j'avais quelques problèmes au niveau de la structure des données, que j'avais organisées en nœuds, de sorte que chacun d'eux ait des frères (allez, des sœurs aussi), et des enfants.
Sauf que ça posait problème dans le calcul des « expressions », c'est-à-dire des éléments composés de plusieurs autres simples mis les uns à la suite des autres. Par exemple, « 2\frac{a}{b} » est une expression dont les éléments simples sont « 2 » et « \frac{a}{b} ».

Du coup, je vais modifier un peu ça : je vais récupérer des « expressions », composées de plusieurs « formules » (nodes dans le code), dont les arguments sont eux-mêmes des « expressions ».
Ça va me permettre d'économiser de la mémoire pour une perte de possibilités minimale voire très probablement nulle.

Ajouté le 14/05/2015 à 18:10 :
C'est bon, j'ai modifié cette structure. Ça me simplifie un bon coup le concept, du coup, ça va encore améliorer la performance et la modularité \o/

Edit : j'ai aussi mis à jour le post principal.
ScientifixHors ligneMembrePoints: 762 Défis: 30 Message

Citer : Posté le 14/05/2015 19:44 | #


Très belles tes fractions et tes racines carrée C'est particulièrement propre !!
Et chose super importante, les espace entre le "n" et le "(n+1)" ainsi que le signe " * " ne sont plus là !!


@Lephé: T'es aussi intéressé par les eActs de physique/chimie ?

JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
LephenixnoirHors ligneAdministrateurPoints: 15487 Défis: 136 Message

Citer : Posté le 14/05/2015 20:57 | #


Scientifix a écrit :
Très belles tes fractions et tes racines carrée C'est particulièrement propre !!

Merci J'aime beaucoup cet adjectif, je crois

Scientifix a écrit :
Et chose super importante, les espace entre le "n" et le "(n+1)" ainsi que le signe " * " ne sont plus là !!

Mais je me tue à te le dire, c'est juste que j'ai remplacé le texte « n * (n+1) » dans la formule par « n(n+1) », il n'y a rien de magique xD

Scientifix a écrit :
@Lephé: T'es aussi intéressé par les eActs de physique/chimie ?

Tu ne veux les publier de ton côté ?
Bien sûr, ça m'intéresse, mais je me demande quand même si ça ne te serait pas plus profitable.
ScientifixHors ligneMembrePoints: 762 Défis: 30 Message

Citer : Posté le 14/05/2015 21:04 | #


Pour le deuxième quote c'est vraiment con de ma part j'ai pas fait gaffe ...
Sinon pour les eActs je verrai mais je ne sais pas encore si je les publierai tel quel, mais je te les passes volontiers
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
LephenixnoirHors ligneAdministrateurPoints: 15487 Défis: 136 Message

Citer : Posté le 14/05/2015 21:11 | #


J'aurais une première question sur le design des racines



Vous préférez la barre inclinée ou droite ? Et avec ou sans patte en haut à droite ?
ScientifixHors ligneMembrePoints: 762 Défis: 30 Message

Citer : Posté le 14/05/2015 21:26 | #


Barre droite avec patte !! (la première en gros)
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Dark stormHors ligneMembre d'honneurPoints: 10821 Défis: 176 Message

Citer : Posté le 14/05/2015 21:56 | #


Idem, la première : je la préfère car beaucoup plus explicite dans un produit (visuellement parlant)
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Páranÿe quetë Quendya
-florian66-Hors ligneAncien rédacteurPoints: 2300 Défis: 19 Message

Citer : Posté le 14/05/2015 21:57 | #


aussi la première : plus sympa et on voit la fin de la racine
In Arch, I trust ! And you ?
Xavier59Hors ligneMembre de CreativeCalcPoints: 1337 Défis: 12 Message

Citer : Posté le 14/05/2015 22:00 | #


Je dirais la première avec un pixel de moins sur la fin
LegolasHors ligneAncien rédacteurPoints: 3266 Défis: 104 Message

Citer : Posté le 14/05/2015 22:33 | #


Je préfère la barre droite.
Mes programmes
Cacher les programmes
Mes défis
Cacher les défis



Breizh_craftEn ligneModérateurPoints: 968 Défis: 7 Message

Citer : Posté le 14/05/2015 22:44 | #


Moi aussi la première.
Informagicien professionnel, prestidigitateur système. Tout est possible.
LephenixnoirHors ligneAdministrateurPoints: 15487 Défis: 136 Message

Citer : Posté le 14/05/2015 22:54 | #


Ok, je garde la première alors !

Ajouté le 15/05/2015 à 09:57 :
J'ai ajouté les produits et les vecteurs


Du coup, j'ai encore besoin de vous ^^, pour les intégrales cette fois
Pages : 1, 2, 3, 4Suivante

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2019 | Il y a 34 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