Learning
Voir le modèle
Function parser for OpenSCAD and parametric curve grapher
65
Téléchargements
54
Likes
0
Makes
One of the OpenSCAD limitations is the inability to pass functions to functions or modules.
This library lets you define mathematical functions in a string, using all of the OpenSCAD mathematical operators (and a bit more). This string is then compiled to an optimized representation which can be evaluated fairly quickly. For instance:
use ;
f = "pow(x,3)*y-x*cos(y)+y";
fc = compileFunction(f);
echo(eval(fc, [["x", 12], ["y", -5]]));
will evaluate the function at x=12 and y=-5.
Parsing the string is not fast, but if you evaluate the compiled function for different variable values, the evaluated function should be fairly fast (in my test, about 10,000 `eval()`s per second).
There are three public functions provided:
* `compileFunction(f)`: takes a function string `f` and returns an optimized compiled representation; the representation is described here: http://www.thingiverse.com/thing:2289738
There may be some bugs in the optimization. If you run into p
This library lets you define mathematical functions in a string, using all of the OpenSCAD mathematical operators (and a bit more). This string is then compiled to an optimized representation which can be evaluated fairly quickly. For instance:
use ;
f = "pow(x,3)*y-x*cos(y)+y";
fc = compileFunction(f);
echo(eval(fc, [["x", 12], ["y", -5]]));
will evaluate the function at x=12 and y=-5.
Parsing the string is not fast, but if you evaluate the compiled function for different variable values, the evaluated function should be fairly fast (in my test, about 10,000 `eval()`s per second).
There are three public functions provided:
* `compileFunction(f)`: takes a function string `f` and returns an optimized compiled representation; the representation is described here: http://www.thingiverse.com/thing:2289738
There may be some bugs in the optimization. If you run into p
arpruss publie également sur
5 modèles supplémentaires sur 1 autres plateformes
Vous avez imprimé ce modèle ? Connectez-vous et partagez votre make !
Connectez-vous pour laisser un commentaire
Se connecterPas encore de commentaires – soyez le premier !