J'ai mis en ligne à cette adresse : https://github.com/pfradin/luadraw, un paquet appelé luadraw pour LuaLaTeX, dont voici un rapide descriptif :
Le paquet luadraw définit l'environnement du même nom, celui-ci permet de créer des graphiques mathématiques en utilisant le langage Lua. Ces graphiques sont dessinés au final par tikz (et automatiquement sauvegardés), alors pourquoi les faire en Lua ? Parce que celui-ci apporte toute la puissance d'un langage de programmation simple, efficace, capable de faire des calculs, tout en utilisant les possibilités graphiques de tikz. Pas besoin de logiciel de dessin externe puisque c'est Lua qui fait le travail.
C'est inspiré directement de TeXgraph bien sûr, et pour l'instant c'est limité à la 2d. Un exemple :
- Code: Tout sélectionner
\begin{luadraw}{name=Dcontour}
local g = graph:new{window={-1,6.5,-1.5,11},size={7,7,0}}
local i, sin, cos = cpx.I, math.sin, math.cos
local f = function(x,y) return (x+y)/(2+cos(x)*sin(y)) end
local rainbow = {Purple,Indigo,Blue,Green,Yellow,Orange,Red}
local Lz = range(1,10) -- niveaux à tracer
local Colors = {} -- liste des couleurs une par niveau
for k = 1,10 do
table.insert(Colors, palette(rainbow,k/10))
end
g:Dgradbox({0,5+10*i,1,1},{legend={"$x$","$y$"},grid=true,
title="$z=\\frac{x+y}{2+\\cos(x)\\sin(y)}$"})
g:Linewidth(12)
g:Dcontour(f,Lz,{view={0,5,0,10}, colors=Colors})
for k = 1, 10 do
local y = (2*k+4)/3*i
g:Dseg({5.25+y,5.5+y},1,"color="..Colors[k])
g:Labelcolor(Colors[k])
g:Dlabel("$z="..k.."$",5.5+y,{pos="E"})
end
g:Show()
\end{luadraw}
Il y a une doc en français avec le paquet (luadraw.pdf).