This document is currently under integral style. You may change it to indexed or folding style. There is also a general help and a paper on WIMS.
The WIMS server is composed of a kernel program which is a cgi program (wims.cgi), plus various activity units called ``modules''.
The client browser accesses the server via a http request to wims.cgi, with parameters specifying the name of the module to request, the type of the request, and possibly parameters for the module ; wims.cgi processes the requested module, passing the user parameters to it, and sends the result returned by the module back to the client.
A module may consist of a number of script files grouped in one directory. These scripts are written in a special scripting language: the WIMS language.
The WIMS language contains commands which allow it to call external programs (especially various mathematical softwares) to make sophisticated computations. Such commands are processed by wims.cgi and sent through interface programs which filter the request, check for security breaches, and send back a filtered output.
!instex $$ \left( $matrix \right) $$Moreover, this implementation of dynamic insertions makes future updates possible without modification at module's level. (For example when a better way to render mathematical formula is available, a simple modification at server's level will immediately let all !instex lines take benefit of the new standard.)
factor=!exec pari print(factor($number))Upon execution of this line, the variable will be replaced by its current value, then the software package `PARI' will be called with the string `print(factor(<value of $number>))' as command to execute. The output of the program, with the overheads stripped, will be placed as the value of the variable `factor'.
The easiest is the creation of simple interactive exercises which does not really require the knowledge about a computer language, but exercises that can be written in this way have limited power and versatility.
On the other hand, you can also develop full-power WIMS modules by working entirely on line. For obvious security reasons, you will need a login/password pair which you must ask the site manager to attribute to you. Once logged in, you can create and modify as many modules as you like, in a special development zone. When you have finished the development of a module, you can ask the site manager to move it to a public place.
A WIMS server is a modular system, with different applications as modules. At each new call to WIMS, the user has to specify which module he wants to access.
A WIMS module may be an interactive course or interactive exercise (of any level), a computational tool, a dictionary, a mathematical game, a database, or a mixture of the above.
WIMS modules are independent from each other. Each module has its own directory, which serves as its address, and contains all the files of this module. Different modules have different authors and different maintainers, and may follow different copyright policies.
There is no relation between modules in a same WIMS site, except hypertext links which allows one module to access another in various ways.
https://wims.univ-cotedazur.fr/wims/wims.cgi
which usually should be followed by parameters. A call to the main wims.cgi program without parameter will bring up the WIMS homepage of the site.
Parameters of wims.cgi is a usual http name=value pair, where the name field may be one of the following:
Parameter string | Meaning |
---|---|
cmd=intro | get introduction page of the module |
cmd=new | open new working session |
cmd=renew | restart working session |
cmd=reply | send reply to the module |
cmd=next | get next exercise (in a working session) |
cmd=config | set preferences |
cmd=help | get contextual help |
cmd=hint | get contextual hint |
cmd=resume | resume work (e.g. after help) |
cmd=getins | get dynamic insertions: internal use by the server. Not to be used by modules. |
https://wims.univ-cotedazur.fr/~wims/wims.cgi?cmd=new&+module=tool/algebra/factor.encalls the WIMS server at wims.univ-cotedazur.fr, with `new' as the value of `cmd', `tool/algebra/factor.en' as the module name.
Each WIMS module has a private home directory in which go all the files of this module.
A module must have at least the following files:And it may often contain the following (optional) files too:
There may be any number of other files, like a README.md file, one or more help pages, an about page, one or more graphics files, files called by one of the above mandatory or optional files, etc.
The files var.init and var.proc, as well as any files called by these two files, are variable processing files.
A variable processing file is divided into lines, separated by non-escaped new-line characters. A new-line character can be escaped by the character \, in which case it does not separate the two lines before and after it.
Every line of a variable processing file must be one of the following:The files main.phtml and intro.phtml, as well as any files called by these two files, are phtml files (programmable html).
A phtml file is an ordinary html file, except for lines whose first non-space character is a ! or a :.
Lines can be escaped by \, just as in the case of a variable processing file.
A line starting with : is a label line, as in the case of a variable processing file.
A line starting with ! is a command line, as in the case of a variable processing file. To the difference that if the command produces an output string, this output will be inserted into the html page, at the place of the line.
Lines not of the above two types will be sent to the http client, after substitution of variables.
A variable may be defined or modified in a variable processing file, or by the commands !let and !default.
Variable names can contain any alphanumeric character, as well as the underscore character _. There is a limit to the length of variable names, and a limit to the length of values. (Limits depending on server configuration.)
Variable substitution can be done anywhere in a variable processing file or a phtml file (even in the name field of a variable definition line). A word preceeded by the character $ is considered to be a variable name, and will be replaced by its value when the line containing it is processed.
Special rules of variable substitution:
3*$(alpha$(i)beta)*xwill become
3*pi*xafter substitution.
Array addressing: if the variable i contains a comma-separated list a,b,c,d,e, then the string $(i[3]) gives c after substitution, and $(i[2 to 4]) gives b,c,d, etc.
Two-dimensional array addressing is also available: if
$M=x,y,z;a,b,c(a 2x3 matrix), then
$(M[1;3,2])=z,y
$(a$[$i-1])*x+$(a$[$i-2])will become
pi*x+3after substitution.
Variables | Meaning |
---|---|
module_title | title of the module |
module_description | short description of the module |
module_author | name(s) of author(s) of the module |
module_address | e-mail address of the (principal) author |
module_maintainer | name of the current maintainer |
module_maintainer_address | e-mail address of the maintainer |
module_copyright | copyright notice of the module |
module_version | current version of the module |
module_wims_version | minimal WIMS version required to run this module |
module_dir | address of the module to use inside the module for example to insert an image loaded in a subdirectory of the module |
module_language | language of the module (en, fr, de, or ...) |
module_category | category of the module (exercise, tool, course, pedia, recreation, adm, other) |
module_level | level of the module |
module_domain | algebra, analysis, geometry, ... |
module_keywords | keywords, to be placed in the html header |
module_scoring | = yes if the module gives scores according to WIMS standard |
module_data | address of datamodule |
wims_exec_error | is used to store error messages of the external program called by !exec. For this reason, this variable will be overwritten each time a !exec command is executed. |
wims_module_log | is used for individual module's log files: if this variable is non-empty, wims.cgi will put its content into the module's log file, at the end of the process of the user request. |
wims_version | has a value preset to the current version of the wims server. |
wims_version_date | has a value preset to the last compile date of the server program. |
wims_site_manager | contains the electronic address of the site manager, as defined in the configuration file wims.conf of the site. Modules should not modify this variable. |
wims_print_precision | defines the printing precision when a result of evaluation (via !eval or NaN) is converted to a character string. Default value: 8 (may be modified in wims.conf). |
wims_warn_ | ... is ... |
wims_compare_precision |
is used to define error tolerance when wims compares two numerical values.
Formula: !ifval a=b will
return TRUE if abs(a-b)*10000<abs(a+b)+1/10000. Default value: 10000 (may be modified in wims.conf). |
wims_texsize | can be used to modify TeX sizes for the module. Default value is 0 (no change). Maybe 1,2,... (increase TeX size) or -1,-2... (decrease TeX size). |
wims_homeref_parm | is reserved for future use in the command !homeref. |
wims_homeref_bgcolor | is... |
wims_rawmath_functions | is used to tell rawmath routine that the words contained in the variable value should be treated as function names. These words can be separated either by white space or by comma. |
wims_rawmath_variables | is used to tell rawmath routine that the words contained in the variable value should be treated as math variable names. These words can be separated either by white space or by comma. |
wims_ref_name | gives the addess of the wims serveur (for this server, https://wims.univ-cotedazur.fr/~wims/wims.cgi) |
httpd_HTTP_HOST | gives the name of the wims serveur (for this server, wims.univ-cotedazur.fr) |
wims_protocol | gives protocol used (http, https. for this connexion ) |
wims_ref_target | defines the target of the command !href, !homeref, !form. Its value is not automatically reset to empty after the commands. (Defaults to empty string, meaning that the target is the current document.) |
wims_ref_id | defines the id in the command !href (<a ... id=" ">) and in the commands !formradio, !formcheckbox and !getfile. Its value is automatically reset to empty after the commands. (Defaults to empty string) |
wims_ref_class | defines the css class in the command !href (<a ... class=" ">) and in the commands !formradio, !formcheckbox and !getfile. Its value is automatically reset to empty after the command. (Defaults to empty string) |
wims_ref_title | defines the title in the commands !href and !getfile (<a ... title=" ">). Its value is automatically reset to empty after the command. (Defaults to empty string) |
wims_html_mode | can be used before a command as !formradio, !formcheckbox. It forces the results of the formradio to be inside the html mode. The value must be span, li, div. It could be td. |
wims_getfile_fname | can be used before the command !getfile to specify the value for the download attribute, which will be the new filename of the downloaded file. |
wims_html_header | is the standardised html header for all its modules' html outputs. Its value is defined in the file html/header.phtml. It is highly recommended that modules use this variable to define their html headers. |
wims_expire | is used to define expiration dates of the pages sent to clients. Don't touch it if you don't know what this means. |
module_init_parm | is... |
wims_ins_alt | if the value is the word empty, no automatic alt is inserted (should be put in ins_attr for example); if the value is the word none, some alt is inserted (generated by WIMS). |
jquery_defined | if the value is the word yes, one can use jquery script (some themes do not use it, so another solution must be found even if there is less functionnality as dragdrop). |
freepar_ | If a variable begins by this prefix, no check on parenthesis is done. |
wims_writable | |
wims_prefix |
ins_align | defines the manner in which the inline picture is aligned with respect to the line. Possible values: bottom, middle or top. Default is empty (which means bottom). |
ins_attr |
is used to define miscallaneous attributes of a
dynamic insertion. Examples:
ins_attr = alt="meaning"or ins_attr = align=middle(aligns the middle of the image with the baseline for the current textline), or ins_attr = ismap(coordinates of the click will be passed back to the server; if the link of the element is the wims server, the coordinates will be registered under the variable no_name.) This variable is reset to empty after a dynamic insertion. |
ins_border |
is used to define border width of the html
element IMG resulted from the dynamic insertion. Its value should be a positive
number.
This variable is reset to empty after a dynamic insertion. |
ins_density |
is used to define the density of the dynamic
insertions. Default value: 100x100 .
Avoid using this variable! We are planning to suppress it. Will be replaced by a server-managed variable. |
ins_format |
can be used to determine the format of the
graphics file of the dynamic insertion: its value should be either
gif or jpg. The default value of this variable is
gif (which can be changed by modifying the file
wims.conf; but such change is not recommended). Some types of dynamic insertions may not be affected by this variable. |
ins_quality | is used to define quality of the graphics convertion used in dynamic insertions. Its value should be between 0 and 100. Affects only dynamic insertions whose graphics format is jpg. |
ins_tag |
is used for dynamic insertions within a form.
In this case define ins_tag=form name where name is the name of the html element IMG within the form (optional). This variable is reset to empty after a dynamic insertion. |
insdraw_size | is the size in pixels for the dynamic insertion. ins_filename is the name of the graphics file of the dynamic insertion (generated by wims). It must be taken just after the command !insdraw |
ins_url | is the url of the graphics file of the dynamic insertion. It must be taken just after the command !insdraw |
insplot_data | is ... |
insplot_font | is ... |
insplot_set | is ... |
insplot_split | is ... |
insplot_transparent | is used to define transparent color for insertions. Default is empty (no transparency). Usual value: 255,255,255(white is transparent). |
wims_backslash_insmath | if the value is yes, it is possible to use the notation \( \) to insert mathematical expressions. |
force_mathml | if the value is yes, force mathml output of tex formulas. |
disable_mathml | If the value is 1, disable mathml output of tex formulas. The variable disable_mathml has priority on force_mathml. |
pari_precision | give the pari precision of the computation with Pari/GP |
print_precision | give the precision of the computed number at the end of the computation. |
maxima_precision | give the maxima precision of the computation with Maxima. |
wims_multiexec | If the value is yes, allow the multiexecution of the mathematical software |
use_comma | If value is 1 moneyprint will use a decimal comma. Any other value or no value will use the decimal point notation. Only to be used for presentation purposes. |
This section is not yet finished. Sorry.
WIMS commands can be used in variable processing files and phtml files. A command is a word preceeded by the character !.
Commands has two types:
Some commands can be used both as execution command and as variable command.
Commands may accept parameters which are words following it. Parameter fields are separated by white spaces or special words (depending on the command).
The syntax for a range of integers is n1 to n2. For example, 2 to -2 means the whole string except the first and the last characters.
If your module depends on datamodules to run, declare them in the INDEX file, then use this command to check the presence of the datamodules. If the answer is "no", you can take actions to lock further access to your module and/or show error messages.
The syntax for a range of integers is n1 to n2. For example, 2 to -2 means the whole string except the first and the last columns.
When vname contains several names, the values of each will be returned with the same separators as for the names.
For example, if type is words, then the first (resp. second, etc.) variable in namelist will be set to the first (resp. second, etc.) word of string.
The curly braces in string can be nested, but the execution runs from outmost pair to innermost pair.
Available opword:
Special case: if the file name starts with getfile/, the file is written to the getfile subdirectory of the session. This file is then accessible via the command
!href cmd=getfile&special_parm=fname_without_getfile_prefixor a complete url
$wims_ref_name?session=$session&+cmd=getfile&+special_parm=fname_without_getfile_prefix
!fileexists themes/standard/_procs/tt.phtmlor for a trusted module,
!fileexists wimshome/log/classes/2001/Exindex
Special case: if the file name starts with getfile, the file is written to the getfile subdirectory of the session. This file is then accessible via the command
!href cmd=getfile&special_parm=fname_without_getfile_prefix, or a complete url
$wims_ref_name?session=$session&+cmd=getfile&+special_parm=fname_without_getfile_prefix
!breakwithin the for loop breaks it. continue is not yet implemented in this version.
The target of the form can be controlled by the variable wims_ref_target. It can also be defined via an optional word target=.... Note that in this case the target must start with wims_.
The variable wims_form_method which must be either get or post controls the method of the form. This method defaults to post for tool modules, and to get for all other modules.
Command | Result |
---|---|
!formcheckbox varCHK1 from 1 to 3 prompt txt1,txt2,txt3 |
, , |
!formcheckbox varCHK2 list a,b,c prompt txtA,txtB,txtC |
, , |
<ol> |
|
Command | Result |
---|---|
!formradio quest1 list 0,1,2 prompt zero,one,two |
, , |
!formradio quest2 from 0 to 2 prompt A,B,C |
, , |
!set wims_ref_id=quest3_0 |
|
<ol class="inline"> |
|
The CSS class (class='...') of the link can be controlled via the variable wims_ref_class.
The title (title='...') of the link can be controlled via the variable wims_ref_title.
The HTML ID (id='...') of the link can be controlled via the variable wims_ref_id.
It returns the defined value in the string, or the name itself if it appears in string but if there is no = sign following it, or an empty string if name does not appear in string as a word.
value can be a multi-word string, if it is enclosed by a pair of parentheses, brackets, curly braces or double quotes. The enclosing parentheses etc. will be removed from the output.
Spaces are allowed before and/or after the = sign.
parm is reserved for future implementation.
In particular, the result can be used as part of a variable name whatever the content of string is (as long as it is not too long).
The target of the reference can be controlled via the variable wims_ref_target. It can also be defined via an optional word target=.... Note that in this case the target must start with wims_.
The CSS class (class='...') of the link can be controlled via the variable wims_ref_class.
The title (title='...') of the link can be controlled via the variable wims_ref_title.
The HTML ID (id='...') of the link can be controlled via the variable wims_ref_id.
Relation | Condition | |
---|---|---|
== |
string1 == string2 string1 == string2 |
with if: true if string1 and string2 are identical. with ifval: true if the numerical evaluations of string1 and of string2 are equal. |
!= |
string1 != string2 string1 <> string2 |
with if: true if string1 and string2 are NOT identical. with ifval: true if the numerical evaluations of string1 and of string2 are not equal. |
!= | ||
< | string1 < string2 | true if (the numerical evaluation of) string1 is < string2. |
<= | string1 <= string2 | true if (the numerical evaluation of) string1 is string2. |
> | string1 > string2 | true if (the numerical evaluation of) string1 is > string2. |
>= | string1 >= string2 | true if (the numerical evaluation of) string1 is string2. |
isin | string1 isin string2 | true if string1 is a substring of string2. |
notin | string1 notin string2 | true if string1 is NOT a substring of string2. |
iswordof | string1 iswordof string2 | true if string1 is a word of string2. |
notwordof | string1 notwordof string2 | true if string1 is NOT a word of string2. |
isvarof | string1 isvarof string2 | true if string1 is a (mathematical) variable of the expression string2. |
notvarof | string1 notvarof string2 | true if string1 is NOT a (mathematical) variable of the expression string2. |
isvariableof | string1 isvariableof string2 | true if string1 is a (mathematical) variable of the expression string2. |
notvariableof | string1 notvariableof string2 | true if string1 is NOT a (mathematical) variable of the expression string2. |
isitemof | string1 isitemof string2 | true if string1 is an item of the list string2. |
notitemof | string1 notitemof string2 | true if string1 is NOT an item of the list string2. |
islineof | string1 islineof string2 | true if string1 is a line of the list string2. |
notlineof | string1 notlineof string2 | true if string1 is NOT a line of the list string2. |
issamecase | string1 issamecase string2 | true if string1 and string2 are the same text by a comparison insensitive to multiple spaces but case-sensitive. |
notsamecase | string1 notsamecase string2 | true if string1 and string2 are NOT the same text by a comparison nsensitive to multiple spaces but case-sensitive. |
issametext | string1 issametext string2 | true if string1 and string2 are the same text by a comparison insensitive to cases, multiple spaces and accented letters. |
notsametext | string1 notsametext string2 | true if string1 and string2 are NOT the same text by a comparison insensitive to cases, multiple spaces and accented letters. |
The syntax for a range of integers is n1 to n2. For example, 2 to -2 means the whole string except the first and the last items.
The computation is made from (x1,y1) to (x2,y2), and points are computed as integer positions in a picture with size xsize,ysize.
Order of the fields is not important. All the fields except levels are mandatory.
The syntax for a range of integers is n1 to n2. For example, 2 to -2 means the whole string except the first and the last lines.
!listfile $module_dir
The first word of the first line in the parameter should be the email address.
The rest of the first line is the recepient name (default to email address).
The second line and up is the mail subject.
This command calls, in the order of priority, one of the following files:
Command | Result |
---|---|
!makelist [x;x+1;xx] for x in a,x and y,1,(2,3) |
[a;a+1;xx],[x and y;x and y+1;xx],[1;1+1;xx],[(2,3);(2,3)+1;xx] |
Command | Result |
---|---|
!mathmlmath 1*x+3*y = 35E-05 |
|
!mathmlmath 2x, 2*x |
|
!mathmlmath x2, x_2, x^2 |
Actually wims use Wikipedia as the standard reference encyclopedia.
In the second syntax, the values are given with respect to each item in the list v1,v2,....
The syntax for a range of integers is n1 to n2. For example, 2 to -2 means the whole fname except the first and the last records.
In the second syntax, the values are given with respect to each item in the list v1,v2,....
The function fn should use the variable last to indicate the value of the previous recursion step. And the starting value can be put into the WIMS variable $recursion_start.
Browsers translate & primitives into corresponding (special) characters even when these primitives occur in input or textarea fields. Also, if string contains html tags, they may confuse browsers. You can use this command on the string (usually derived from an earlier user input) before inserting them back into a input or textarea, to avoid the above problems.
This command is useful with exercises where important information is carried by multimedia files (pictures, audios, movies). It can be used to hide the name of the multimedia file that otherwise would give clues to the solution of the problem.
The renamed file must be located within the module, and the filename f should start with $module_dir.
The command returns a string which is the new URL. The file is not effectively copied or renamed on the server.
Under the first syntax, variable substitution is first done on string.
Then all occurences of substring s1 are replaced by s2.
When the keyword internal is absent, the Linux utility sed is called to make the replacements,
therefore regular expressions are accepted in s1 and s2.
Please refer to the man page of sed for details.
Under the second syntax, obj can be char, word, item or line.
Then the word, item or line identified by ident in string is replaced
by s, after variable substitutions.
ident can be a string, in this case all objects (words, items or lines) matching ident
will be replaced. It can also be a number (positive or negative integer n), preceded
by the word number. In this case the object number n will be replaced.
(In the case where n<0, it is the last -n th object which is replaced.)
This command can be only used before output starts. Repeated restart is disabled, to avoid infinite loops.
The condition can use words column 1, column 2, etc. to designate comma-separated columns in each row.
fn may have several roots in the interval [v1,v2], but roots too close to each other may be overlooked.
Command | Result |
---|---|
!sort list 0,4,2 |
0,2,4 |
!sort reverse list 0,4,2 |
4,2,0 |
!sort list 10,4,2 |
10,2,4 |
!sort numeric list 10,4,2 |
2,4,10 |
In the second syntax, the values are given with respect to each item in the list v1,v2,....
parm is reserved for future implementation.
Command | Result |
---|---|
!texmath 1*x+3*y = 35E-05 |
x +3 y=35 \times 10^{-5} |
!texmath 2x, 2*x |
2,2 x |
!texmath x2, x_2, x^2 |
x _2 ,x_{2},x^2 |
In the second syntax, the values are given with respect to each item in the list v1,v2,....
fns may be a comma-separated list of functions.
This command can also be used to make recursions. If the functions fns contain a variable named last, this variable will take the value of the last step each time. And the starting value can be put into the WIMS variable $recursion_start.
If the switch nofn is present, function names will not be listed.
The syntax is the same as for if.
The syntax for a range of integers is n1 to n2. For example, 2 to -2 means the whole string except the first and the last words.
The symbol names are based on corresponding TeX names.
Symbol | Name tt |
---|---|
, , , ... , ... | $m_alpha, $m_beta, $m_gamma, ... $m_pi, ... $m_omega |
, , , , , , , , , , | $m_Gamma, $m_Delta, $m_Lambda, $m_Phi, $m_Psi, $m_Pi, $m_Sigma, $m_Theta, $m_Upsilon, $m_Xi, $m_Omega |
, , , , , | $m_varepsilon, $m_varphi, $m_wp, $m_ell, $m_Re, $m_Im |
, , , | $m_aleph, $m_infty, $m_nabla, $m_partial |
, , , , ... | $m_AA, $m_CC, $m_RR, $m_QQ, $m_ZZ ... |
, ,... ,... | $m_calA, $m_calB,... $m_calM,... $m_calZ |
, ,... ,... | $m_eufA, $m_eufB,... $m_eufM,... $m_eufZ |
, ,... ,... | $m_eufa, $m_eufb,... $m_eufm,... $m_eufz |
, , , , | $m_le, $m_ge, $m_pm, $m_times, $m_div |
, , , | $m_neq, $m_equiv, $m_cong, $m_approx |
, , , , , | $m_leftarrow, $m_rightarrow, $m_mapsto, $m_Leftarrow, $m_Rightarrow, $m_Leftrightarrow |
, , , | $m_exists, $m_forall, $m_in, $m_emptyset |
, , , , , , , | $m_subset, $m_supset, $m_subseteq, $m_supseteq, $m_cap, $m_cup, $m_prec, $m_succ |
, , , | $m_sum, $m_prod, $m_coprod, $m_surd |
, , , , | $m_int, $m_oint, $m_Vert, $m_oplus, $m_otimes |
, , , | $m_bigtriangleup, $m_bigtriangledown, $m_bigvee, $m_bigwedge |
!read slib/matrix/random 3, 5, 10generates a 3×5 matrix with random integer coefficients in [-10, 10]. The result is placed in the variable slib_out. To call an slib script from OEF exercises, documents or forum messages, use the function slib().
Only variables prefixed by slib_ are modified by these scripts.
Output | |
---|---|
algebra/partitionconj | Partition conjugate [] |
algebra/partitiondraw | Young diagram drawing of a partition [] |
algebra/partitionlex | Next partition in the lexicographic decreasing order [] |
algebra/slopedraw | Polygone tracé à partir des pentes (dessin) [] |
analysis/inversedomain | Inverse image of domains [] |
analysis/odejs | Draw solutions of a differential system (with jsxgraph). [] |
analysis/odejs2 | Draw a solution of a differential system: x' [] |
analysis/odephase | Phase portrait of a differential system [] |
analysis/rungekutta | Equation différentielle (par Runge-Kutta) experimental en faire une liste sans dessin [] |
analysis/slopefield | Direction field (for example for differential equation system) [] |
chemistry/brut2html | HTML form of the formula of a molécule [] |
chemistry/checkmol | Check Mol [] |
chemistry/chemeq_add | Computes a combination of chemical equations [] |
chemistry/chemeq_compare | Comparing chemical equations [] |
chemistry/chemeq_components | Chemical components [] |
chemistry/chemeq_el | Returns the number of electrons in a redox reaction [] |
chemistry/chemeq_equilibrium | Analysing the equilibrium in chemical formulas [] |
chemistry/chemeq_mass | Molar Mass [] |
chemistry/chemeq_periodic_table | Insert Mendeleiev's periodic table in the page [] |
chemistry/chemeq_rev | Returns a chemical equation reversed [] |
chemistry/chemeq_rq | Typeset reaction quotients and Nernst laws for chemical equations [] |
chemistry/chemeq_sto | stoechiometric coefficients [] |
chemistry/chemeq_tex | Typeset molecules and chemical equations [] |
chemistry/chemformula | Chem formula [] |
chemistry/chemshow | Dessin d'une molécule en 2D [] |
chemistry/cram | Cram representation [] |
chemistry/jmolbutton | Button in Jmol. Has to be inserted AFTER the Jmol applet. [] |
chemistry/jmolcheckbox | Checkbox Button in Jmol [] |
chemistry/jmolradiogroup | Radio Group in Jmol [] |
chemistry/jmolshow | Jmol Applet [] |
chemistry/leftind | left and right indices and exponents [] |
chemistry/molarmass | Molar Mass [] |
chemistry/moldraw | Dessin en flydraw ou en canvasdraw de la molécule [] |
chemistry/molecule | Periodic table [] |
chemistry/newman | Newman projection [] |
chemistry/reactiondraw | Dessin en canvasdraw d'une réaction [] |
circuits/complist | List available circuit components [] |
circuits/comppos | Component position information of a circuit type. [] |
circuits/draw | Draw circuit scheme according a circuit type. [] |
circuits/drawcomp | Draw circuit components according to a circuit type. [] |
circuits/drawwire | Draw the fixed circuit wiring of a given circuit type. [] |
circuits/range | Size and range information of a circuit type. [] |
coding/editor | WYSIWYG code editor [] |
coding/runcode | Run code [] |
data/columnsort | Sort data according to a column [] |
data/randline | Take a random line of a data file [] |
data/random | Randomly selects a number of (different) objects [] |
data/randrec | Take a random field of a record file [] |
draw/balance | Balance (Roberval) [] |
draw/brokenlinegraph | Draw a continuous stepwise affine function from the points where slpe changes [] |
draw/clock | Draw a clock according to given time [] |
draw/convpixel | Conversion pixel image coordinates - mathematical coordinates [] |
draw/domino | Domino [] |
draw/drtgraduee | Graduatied line [] |
draw/graphviz | Graphviz [] |
draw/graphvizpoints | Coordinates of the nodes of a graph by Graphviz [] |
draw/meter | Meter [] |
draw/polygon | Regular polygon [] |
draw/radar | Radar [] |
draw/randpolygon | Polygone quelconque [] |
draw/range | Range [] |
draw/repdroite | Computes the coordinates of extreme points to draw a line in a frame [] |
draw/repere | Draw a coordinate frame [] |
draw/rosette | Draw a rosette [] |
draw/thermometer | Thermometer [] |
function/bounds | The bound of a real function of one variable within an interval [x1,x2] [] |
function/bounds2 | The bound of a real function of two variables within a rectangle [x1,x2],[y1,y2] [] |
function/integrate | Indefinite or definite integration of a function of one variable [] |
function/tabsignes | Tableau de signes d'une fonction numérique [] |
games/chessimage | Chessboard [] |
geo2D/geogebra | Geogebra HTML 5 [] |
geo2D/jsxgraph | Plugin for JSXGraph responsive [] |
geo2D/offdraw | Conversion d'un dessin 2D codé dans la syntaxe off en canvasdraw [] |
geo2D/polynet | Dessin d'un patron aléatoire du polyèdre [] |
geo2D/squaretile | Square tile [] |
geo3D/3Dviewer | 3D Viewer [] |
geo3D/draw | Polyedron in flydraw [] |
geo3D/drawtile | Lattice of cubes [] |
geo3D/off2jmol | Format off to xyz [] |
geo3D/off2xyz | Format off to xyz [] |
geo3D/polyhedra | Polyhedra applet [] |
geo3D/polyhedradual | Polyhedra applet and its dual [] |
geo3D/polynet | Patron d'un polyèdre en 3D [] |
graph/connexcomponent | Connex component of a vertex in a graph [] |
graph/connexity | Connex components of a simple graph [] |
graph/distance | Matrix of diameter of a graph [] |
graph/draw | Graph draw [] |
graph/drawcc | Graph draw with one colored connex component [] |
graph/drawtree | Tree draw [] |
graph/gpt | Oriented graph without circuit [] |
graph/graphviz | Graphviz [] |
graph/path | Path of a graph [] |
graph/randomconnex | random connex graph [] |
graph/randomeuler | random eulerian graph [] |
graph/randtree | Random tree [] |
graph/shortpath | Shortest path of a graph [] |
graphpaper/correct_milli | Graphic paper sheet with red correct plot preloaded [] |
graphpaper/func | One function plot, ready to append to a previously made graph paper [] |
graphpaper/func_milli | Graphic paper sheet with function plot and red correct plot preloaded [] |
graphpaper/imgpoints | Utility for a clickable graphic paper sheet [] |
graphpaper/millimetre | Graphic paper sheet [] |
graphpaper/strings | Prepare strings to be written on a graphic paper sheet [] |
graphpaper/tograph | Utility for a clickable graphic paper sheet [] |
graphpaper/whereclick | Utility for a clickable graphic paper sheet [] |
lang/enword2ipa | IPA transcription of english words [] |
lang/epd2ipa | IPA transcription according to epd ascii codage (for english) [] |
lang/fname | A random firstname [] |
lang/fraccord | Accord of French adjectives and names [] |
lang/frapostrophe | Apostrophe reduction of a French text [] |
lang/frartdef | Transform a French noun into definite form [] |
lang/frcodcoi | Find a random complement of a French verb [] |
lang/frverbconj | The conjugation of a French verb [] |
lang/images | Images in some datamodule [] |
lang/itdetermart | Italian "articolo determinativo" [] |
lang/randomword | Output random words in the dictionary [] |
lang/sampa2ipa | IPA transcription according to Sampa Ascii codage (for english) [] |
lang/swac | Insertion of words (audio) from the swac packs [] |
life/frcommodity | Give a random commodity with given price, French [] |
list/selshuf | Selective shuffle [] |
matrix/concate | concatenation [] |
matrix/det | The determinant of a square matrix [] |
matrix/givenrank | Generates a random matrix of given rank [] |
matrix/inverse | The inverse of a square matrix [] |
matrix/invertible | Generates a random invertible matrix [] |
matrix/itriangular | Generates a random invertible triangular matrix [] |
matrix/non0 | Generates a random matrix with non-zero coefficients [] |
matrix/orthogonal | Generates a random orthogonal matrix [] |
matrix/random | Generates a random matrix [] |
matrix/trace | The trace of a square matrix [] |
matrix/transpose | The transpose of a matrix [] |
matrix/triangular | Generates a random triangular matrix [] |
matrix/unimodular | Generates a random unimodular matrix [] |
media/audio | Audio insertion [] |
media/dewplayer | Audio insertion with dewplayer [] |
media/player | Audio insertion with hbs_mp3_player [] |
media/player_mp3_multi | Audio insertion with player_mp3_multi [] |
media/video | Video insertion [] |
nuclear/nucleide | Data about nucleides, or LaTeX typesetting [] |
nuclear/reaction | Typesetting nuclear reactions from plain text formulas [] |
numeration/babylonien | Ecriture Babylonienne d'un nombre entier [] |
numeration/baseblock | Base blocks in numeration [] |
numeration/basep | Passage de la base dix vers la base p. [] |
numeration/ecriturelettre | Writing of a number in letters. [] |
numeration/ecriturenombre | Writing a number with grouping the numbers by three. [] |
numeration/egyptien | Ecriture Egyptienne d'un nombre entier [] |
numeration/rational | Repeating decimal of a rational [] |
numeration/romain | Numération romaine [] |
oef/blank | Blank [] |
oef/codelim | OEF code length limit register [] |
oef/codename | Register OEF code reply name allow/deny [] |
oef/env | Get an OEF environment variable [] |
oef/insfilename | Output the file name of the last insert [] |
oef/newfile | Save a text in a file [] |
oef/postsrc | OEF code input postpender [] |
oef/presrc | OEF code input prepender [] |
oef/sortorder | Sort order [] |
polynomial/random | Random polynomial [] |
set/subset | Subsets of a set [] |
stat/1d | Computes 1-dimensional statistical data [] |
stat/arithmean | Arithmetic mean of statistical data [] |
stat/beta | Generation of beta random data [] |
stat/betacdf | Cumulative distribution function of a Beta law [] |
stat/betainv | Quantiles of a Beta law [] |
stat/betapdf | Probability density function of a Beta law [] |
stat/binomial | Generation of binomial random data [] |
stat/binomialcdf | cumulative distribution function of Binomial law [] |
stat/binomialinv | Quantile of Binomial law [] |
stat/binomialpdf | Probability density function of the binomial law [] |
stat/boxplot | Box plot [] |
stat/cauchy | Generation of Cauchy random data [] |
stat/cauchycdf | Cumulative distribution function of Cauchy law [] |
stat/cauchyinv | Quantile of Cauchy law [] |
stat/cauchypdf | Probability density function of Cauchy law [] |
stat/chi2 | Generation of chi-square random data [] |
stat/chi2cdf | Chi-square cumulative distribution function [] |
stat/chi2inv | Quantile of a chi-square distribution [] |
stat/chi2pdf | Chi-square probability density function [] |
stat/correlation | Matrix of correlation [] |
stat/covariance | Matrix of covariance [] |
stat/deviation | Deviation of statistical data [] |
stat/discretelaw | Generation of a discrete law with nonnegative coefficients [] |
stat/effectif | Effectifs of statistical series in classes [] |
stat/empiric | Generation of random numbers with a discrete law [] |
stat/exponential | Generation of exponential random numbers [] |
stat/exponentialcdf | Cumulative distribution function of exponential law [] |
stat/exponentialinv | Quantile of exponential law [] |
stat/exponentialpdf | Probability density function of exponential law [] |
stat/fisher | Generation of Fisher random data [] |
stat/fishercdf | Fisher cumulative distribution function. [] |
stat/fisherinv | Quantiles of a Fisher law (also called F-distribution) [] |
stat/fisherpdf | Fisher probability density function [] |
stat/freq | Frequencies of statistical data [] |
stat/gamma | Generation of Gamma random data [] |
stat/gammacdf | Cumulative distribution function of Gamma law [] |
stat/gammainv | Quantile of a Gamma distribution [] |
stat/gammapdf | Gamma probability density function [] |
stat/geomean | Geometric mean of data [] |
stat/geometric | Generation of random data with a Geometric distribution on N [] |
stat/geometric1 | Generation of random data with a Geometric distribution on N* [] |
stat/geometric1cdf | Cumulative distribution function of a Geometric distribution on N* [] |
stat/geometric1inv | Quantiles of a Geometric law on N* [] |
stat/geometric1pdf | Probability density function of a Geometric law on N* [] |
stat/geometriccdf | Cumulative distribution function of a Geometric law on N [] |
stat/geometricinv | Quantiles of a Geometric law on N [] |
stat/geometricpdf | Probability density function of geometric law on N [] |
stat/harmonic | Harmonic mean of statistical data [] |
stat/histo | Histogram [] |
stat/hypergeometric | Generation of Hypergeometric random data [] |
stat/hypergeometriccdf | Cumulative distribution function of a hypergeometric law [] |
stat/hypergeometricinv | Quantile of hypergeometric law inverse [] |
stat/hypergeometricpdf | Probability density function of a Hypergeometric law [] |
stat/laplace | Generation of Laplace random data [] |
stat/laplacecdf | Laplace cumulative distribution function [] |
stat/laplaceinv | Quantiles of the Laplace law [] |
stat/laplacepdf | Laplace probability density function [] |
stat/linearcong | Generation of linear congruential random integers [] |
stat/logistic | Generation of logistic random data [] |
stat/logisticcdf | Logistic cumulative distribution function [] |
stat/logisticinv | Quantile of the logistic law [] |
stat/logisticpdf | Probability density function of the logistic law [] |
stat/lognormal | Generation of lognormal random data [] |
stat/lognormalcdf | Cumulative distribution function of log-normal law [] |
stat/lognormalinv | Quantile of log-normal law [] |
stat/lognormalpdf | Probability density function of log-normal law [] |
stat/median | Data median [] |
stat/multinomial | Generation of multinomial random data [] |
stat/nbin | Generation of Negative binomial random data [] |
stat/nbincdf | Cumulative distribution function of the Negative Binomial law [] |
stat/nbininv | Quantile of a Negative Binomial law. [] |
stat/nbinpdf | Probability density function of a Negative Binomial law [] |
stat/normal | Generation of Gaussian random data [] |
stat/normalcdf | Cumulative distribution function of the normal distribution [] |
stat/normalinv | Quantile of the normal law [] |
stat/normalpdf | Probability density function of the normal law [] |
stat/pascal | Generation of Pascal random data [] |
stat/pascalcdf | Cumulative distribution function of the Pascal law [] |
stat/pascalinv | Quantile of a Pascal law. [] |
stat/pascalpdf | Probability density function of a Pascal law [] |
stat/piechart | Pie chart [] |
stat/poisson | Generation of random numbers with Poisson law [] |
stat/poissoncdf | Poisson cumulative distribution function [] |
stat/poissoninv | Quantile of a Poisson law [] |
stat/poissonpdf | Probability density function of a Poisson law [] |
stat/posdiscretelaw | Generation of a discrete law with positive coefficients [] |
stat/prod | Product of data [] |
stat/quadratic | Quadratic mean [] |
stat/quantile | Quantile [] |
stat/random | Generation of random numbers [] |
stat/range | Data range [] |
stat/student | Generation of Student random data [] |
stat/studentcdf | Student cumulative distribution function [] |
stat/studentinv | Quantile of a Student law [] |
stat/studentpdf | Probability density function of a Student law [] |
stat/sum | Data sum [] |
stat/variance | Variance [] |
stat/weibull | Generation of Weibull random data [] |
stat/weibullcdf | Cumulative distribution function of Weibull law [] |
stat/weibullinv | Quantile of Weibull law [] |
stat/weibullpdf | Probability density function of Weibull law [] |
text/approximation | Calculate an approximation interval for a given real [] |
text/balloon | Talking Balloons (Cartoon style) [] |
text/cdecomment | Extract comment from a c source code. [] |
text/comblin | Simplify a linear combination [] |
text/crossword | Crossword [] |
text/cutchoice2 | Cut out embedded choices for OEF [] |
text/cutchoices | Cut out embedded choices for OEF [] |
text/markerror | For marking words with mistake [] |
text/markgroup | For marking group of words with given explanation [] |
text/marktext | Texte for use with type mark for OEF (word) [] |
text/marktextpartial | For marking some words with given explanation [] |
text/markword | For use with type mark in OEF [] |
text/matrixhtml | Transform a matrix into html matrix (table). [] |
text/matrixinsert | Insert a coefficient in a matrix [] |
text/matrixtex | Matrix in Latex [] |
text/maximamatrix | Transform a matrix to maxima format [] |
text/octavematrix | Transform an octave output matrix into standard format [] |
text/sigunits | Make a representation of a physical quantity with a given number of significative digits [] |
text/spirale | Write on a spirale [] |
text/whitespace | Replace white spaces [] |
triplerelation/tabular | Double entry table for training to relations between three quantities [] |
utilities/date | Date [] |
utilities/mathcalc | Mathcalc [] |
utilities/nopaste | No copy-paste [] |
utilities/notepad | Notepad [] |
utilities/tooltip | Tooltip containing an html text which appears when the mouse points on a word. [] |
utilities/trigo-calc | Inline Trigonometric calculator [] |
Output | |
---|---|
algebra/partitionconj | Partition conjugate [] |
algebra/partitiondraw | Young diagram drawing of a partition [] |
algebra/partitionlex | Next partition in the lexicographic decreasing order [] |
algebra/slopedraw | Polygone tracé à partir des pentes (dessin) [] |
Output | |
---|---|
analysis/inversedomain | Inverse image of domains [] |
analysis/odejs | Draw solutions of a differential system (with jsxgraph). [] |
analysis/odejs2 | Draw a solution of a differential system: x' [] |
analysis/odephase | Phase portrait of a differential system [] |
analysis/rungekutta | Equation différentielle (par Runge-Kutta) experimental en faire une liste sans dessin [] |
analysis/slopefield | Direction field (for example for differential equation system) [] |
Output | |
---|---|
chemistry/brut2html | HTML form of the formula of a molécule [] |
chemistry/checkmol | Check Mol [] |
chemistry/chemeq_add | Computes a combination of chemical equations [] |
chemistry/chemeq_compare | Comparing chemical equations [] |
chemistry/chemeq_components | Chemical components [] |
chemistry/chemeq_el | Returns the number of electrons in a redox reaction [] |
chemistry/chemeq_equilibrium | Analysing the equilibrium in chemical formulas [] |
chemistry/chemeq_mass | Molar Mass [] |
chemistry/chemeq_periodic_table | Insert Mendeleiev's periodic table in the page [] |
chemistry/chemeq_rev | Returns a chemical equation reversed [] |
chemistry/chemeq_rq | Typeset reaction quotients and Nernst laws for chemical equations [] |
chemistry/chemeq_sto | stoechiometric coefficients [] |
chemistry/chemeq_tex | Typeset molecules and chemical equations [] |
chemistry/chemformula | Chem formula [] |
chemistry/chemshow | Dessin d'une molécule en 2D [] |
chemistry/cram | Cram representation [] |
chemistry/jmolbutton | Button in Jmol. Has to be inserted AFTER the Jmol applet. [] |
chemistry/jmolcheckbox | Checkbox Button in Jmol [] |
chemistry/jmolradiogroup | Radio Group in Jmol [] |
chemistry/jmolshow | Jmol Applet [] |
chemistry/leftind | left and right indices and exponents [] |
chemistry/molarmass | Molar Mass [] |
chemistry/moldraw | Dessin en flydraw ou en canvasdraw de la molécule [] |
chemistry/molecule | Periodic table [] |
chemistry/newman | Newman projection [] |
chemistry/reactiondraw | Dessin en canvasdraw d'une réaction [] |
Output | |
---|---|
circuits/complist | List available circuit components [] |
circuits/comppos | Component position information of a circuit type. [] |
circuits/draw | Draw circuit scheme according a circuit type. [] |
circuits/drawcomp | Draw circuit components according to a circuit type. [] |
circuits/drawwire | Draw the fixed circuit wiring of a given circuit type. [] |
circuits/range | Size and range information of a circuit type. [] |
Output | |
---|---|
coding/editor | WYSIWYG code editor [] |
coding/runcode | Run code [] |
Output | |
---|---|
data/columnsort | Sort data according to a column [] |
data/randline | Take a random line of a data file [] |
data/random | Randomly selects a number of (different) objects [] |
data/randrec | Take a random field of a record file [] |
Output | |
---|---|
draw/balance | Balance (Roberval) [] |
draw/brokenlinegraph | Draw a continuous stepwise affine function from the points where slpe changes [] |
draw/clock | Draw a clock according to given time [] |
draw/convpixel | Conversion pixel image coordinates - mathematical coordinates [] |
draw/domino | Domino [] |
draw/drtgraduee | Graduatied line [] |
draw/graphviz | Graphviz [] |
draw/graphvizpoints | Coordinates of the nodes of a graph by Graphviz [] |
draw/meter | Meter [] |
draw/polygon | Regular polygon [] |
draw/radar | Radar [] |
draw/randpolygon | Polygone quelconque [] |
draw/range | Range [] |
draw/repdroite | Computes the coordinates of extreme points to draw a line in a frame [] |
draw/repere | Draw a coordinate frame [] |
draw/rosette | Draw a rosette [] |
draw/thermometer | Thermometer [] |
Output | |
---|---|
function/bounds | The bound of a real function of one variable within an interval [x1,x2] [] |
function/bounds2 | The bound of a real function of two variables within a rectangle [x1,x2],[y1,y2] [] |
function/integrate | Indefinite or definite integration of a function of one variable [] |
function/tabsignes | Tableau de signes d'une fonction numérique [] |
Output | |
---|---|
games/chessimage | Chessboard [] |
Output | |
---|---|
geo2D/geogebra | Geogebra HTML 5 [] |
geo2D/jsxgraph | Plugin for JSXGraph responsive [] |
geo2D/offdraw | Conversion d'un dessin 2D codé dans la syntaxe off en canvasdraw [] |
geo2D/polynet | Dessin d'un patron aléatoire du polyèdre [] |
geo2D/squaretile | Square tile [] |
Output | |
---|---|
geo3D/3Dviewer | 3D Viewer [] |
geo3D/draw | Polyedron in flydraw [] |
geo3D/drawtile | Lattice of cubes [] |
geo3D/off2jmol | Format off to xyz [] |
geo3D/off2xyz | Format off to xyz [] |
geo3D/polyhedra | Polyhedra applet [] |
geo3D/polyhedradual | Polyhedra applet and its dual [] |
geo3D/polynet | Patron d'un polyèdre en 3D [] |
Output | |
---|---|
graph/connexcomponent | Connex component of a vertex in a graph [] |
graph/connexity | Connex components of a simple graph [] |
graph/distance | Matrix of diameter of a graph [] |
graph/draw | Graph draw [] |
graph/drawcc | Graph draw with one colored connex component [] |
graph/drawtree | Tree draw [] |
graph/gpt | Oriented graph without circuit [] |
graph/graphviz | Graphviz [] |
graph/path | Path of a graph [] |
graph/randomconnex | random connex graph [] |
graph/randomeuler | random eulerian graph [] |
graph/randtree | Random tree [] |
graph/shortpath | Shortest path of a graph [] |
Output | |
---|---|
graphpaper/correct_milli | Graphic paper sheet with red correct plot preloaded [] |
graphpaper/func | One function plot, ready to append to a previously made graph paper [] |
graphpaper/func_milli | Graphic paper sheet with function plot and red correct plot preloaded [] |
graphpaper/imgpoints | Utility for a clickable graphic paper sheet [] |
graphpaper/millimetre | Graphic paper sheet [] |
graphpaper/strings | Prepare strings to be written on a graphic paper sheet [] |
graphpaper/tograph | Utility for a clickable graphic paper sheet [] |
graphpaper/whereclick | Utility for a clickable graphic paper sheet [] |
Output | |
---|---|
lang/enword2ipa | IPA transcription of english words [] |
lang/epd2ipa | IPA transcription according to epd ascii codage (for english) [] |
lang/fname | A random firstname [] |
lang/fraccord | Accord of French adjectives and names [] |
lang/frapostrophe | Apostrophe reduction of a French text [] |
lang/frartdef | Transform a French noun into definite form [] |
lang/frcodcoi | Find a random complement of a French verb [] |
lang/frverbconj | The conjugation of a French verb [] |
lang/images | Images in some datamodule [] |
lang/itdetermart | Italian "articolo determinativo" [] |
lang/randomword | Output random words in the dictionary [] |
lang/sampa2ipa | IPA transcription according to Sampa Ascii codage (for english) [] |
lang/swac | Insertion of words (audio) from the swac packs [] |
Output | |
---|---|
life/frcommodity | Give a random commodity with given price, French [] |
Output | |
---|---|
list/selshuf | Selective shuffle [] |
Output | |
---|---|
matrix/concate | concatenation [] |
matrix/det | The determinant of a square matrix [] |
matrix/givenrank | Generates a random matrix of given rank [] |
matrix/inverse | The inverse of a square matrix [] |
matrix/invertible | Generates a random invertible matrix [] |
matrix/itriangular | Generates a random invertible triangular matrix [] |
matrix/non0 | Generates a random matrix with non-zero coefficients [] |
matrix/orthogonal | Generates a random orthogonal matrix [] |
matrix/random | Generates a random matrix [] |
matrix/trace | The trace of a square matrix [] |
matrix/transpose | The transpose of a matrix [] |
matrix/triangular | Generates a random triangular matrix [] |
matrix/unimodular | Generates a random unimodular matrix [] |
Output | |
---|---|
media/audio | Audio insertion [] |
media/dewplayer | Audio insertion with dewplayer [] |
media/player | Audio insertion with hbs_mp3_player [] |
media/player_mp3_multi | Audio insertion with player_mp3_multi [] |
media/video | Video insertion [] |
Output | |
---|---|
nuclear/nucleide | Data about nucleides, or LaTeX typesetting [] |
nuclear/reaction | Typesetting nuclear reactions from plain text formulas [] |
Output | |
---|---|
numeration/babylonien | Ecriture Babylonienne d'un nombre entier [] |
numeration/baseblock | Base blocks in numeration [] |
numeration/basep | Passage de la base dix vers la base p. [] |
numeration/ecriturelettre | Writing of a number in letters. [] |
numeration/ecriturenombre | Writing a number with grouping the numbers by three. [] |
numeration/egyptien | Ecriture Egyptienne d'un nombre entier [] |
numeration/rational | Repeating decimal of a rational [] |
numeration/romain | Numération romaine [] |
Output | |
---|---|
oef/blank | Blank [] |
oef/codelim | OEF code length limit register [] |
oef/codename | Register OEF code reply name allow/deny [] |
oef/env | Get an OEF environment variable [] |
oef/insfilename | Output the file name of the last insert [] |
oef/newfile | Save a text in a file [] |
oef/postsrc | OEF code input postpender [] |
oef/presrc | OEF code input prepender [] |
oef/sortorder | Sort order [] |
Output | |
---|---|
polynomial/random | Random polynomial [] |
Output | |
---|---|
set/subset | Subsets of a set [] |
Output | |
---|---|
stat/1d | Computes 1-dimensional statistical data [] |
stat/arithmean | Arithmetic mean of statistical data [] |
stat/beta | Generation of beta random data [] |
stat/betacdf | Cumulative distribution function of a Beta law [] |
stat/betainv | Quantiles of a Beta law [] |
stat/betapdf | Probability density function of a Beta law [] |
stat/binomial | Generation of binomial random data [] |
stat/binomialcdf | cumulative distribution function of Binomial law [] |
stat/binomialinv | Quantile of Binomial law [] |
stat/binomialpdf | Probability density function of the binomial law [] |
stat/boxplot | Box plot [] |
stat/cauchy | Generation of Cauchy random data [] |
stat/cauchycdf | Cumulative distribution function of Cauchy law [] |
stat/cauchyinv | Quantile of Cauchy law [] |
stat/cauchypdf | Probability density function of Cauchy law [] |
stat/chi2 | Generation of chi-square random data [] |
stat/chi2cdf | Chi-square cumulative distribution function [] |
stat/chi2inv | Quantile of a chi-square distribution [] |
stat/chi2pdf | Chi-square probability density function [] |
stat/correlation | Matrix of correlation [] |
stat/covariance | Matrix of covariance [] |
stat/deviation | Deviation of statistical data [] |
stat/discretelaw | Generation of a discrete law with nonnegative coefficients [] |
stat/effectif | Effectifs of statistical series in classes [] |
stat/empiric | Generation of random numbers with a discrete law [] |
stat/exponential | Generation of exponential random numbers [] |
stat/exponentialcdf | Cumulative distribution function of exponential law [] |
stat/exponentialinv | Quantile of exponential law [] |
stat/exponentialpdf | Probability density function of exponential law [] |
stat/fisher | Generation of Fisher random data [] |
stat/fishercdf | Fisher cumulative distribution function. [] |
stat/fisherinv | Quantiles of a Fisher law (also called F-distribution) [] |
stat/fisherpdf | Fisher probability density function [] |
stat/freq | Frequencies of statistical data [] |
stat/gamma | Generation of Gamma random data [] |
stat/gammacdf | Cumulative distribution function of Gamma law [] |
stat/gammainv | Quantile of a Gamma distribution [] |
stat/gammapdf | Gamma probability density function [] |
stat/geomean | Geometric mean of data [] |
stat/geometric | Generation of random data with a Geometric distribution on N [] |
stat/geometric1 | Generation of random data with a Geometric distribution on N* [] |
stat/geometric1cdf | Cumulative distribution function of a Geometric distribution on N* [] |
stat/geometric1inv | Quantiles of a Geometric law on N* [] |
stat/geometric1pdf | Probability density function of a Geometric law on N* [] |
stat/geometriccdf | Cumulative distribution function of a Geometric law on N [] |
stat/geometricinv | Quantiles of a Geometric law on N [] |
stat/geometricpdf | Probability density function of geometric law on N [] |
stat/harmonic | Harmonic mean of statistical data [] |
stat/histo | Histogram [] |
stat/hypergeometric | Generation of Hypergeometric random data [] |
stat/hypergeometriccdf | Cumulative distribution function of a hypergeometric law [] |
stat/hypergeometricinv | Quantile of hypergeometric law inverse [] |
stat/hypergeometricpdf | Probability density function of a Hypergeometric law [] |
stat/laplace | Generation of Laplace random data [] |
stat/laplacecdf | Laplace cumulative distribution function [] |
stat/laplaceinv | Quantiles of the Laplace law [] |
stat/laplacepdf | Laplace probability density function [] |
stat/linearcong | Generation of linear congruential random integers [] |
stat/logistic | Generation of logistic random data [] |
stat/logisticcdf | Logistic cumulative distribution function [] |
stat/logisticinv | Quantile of the logistic law [] |
stat/logisticpdf | Probability density function of the logistic law [] |
stat/lognormal | Generation of lognormal random data [] |
stat/lognormalcdf | Cumulative distribution function of log-normal law [] |
stat/lognormalinv | Quantile of log-normal law [] |
stat/lognormalpdf | Probability density function of log-normal law [] |
stat/median | Data median [] |
stat/multinomial | Generation of multinomial random data [] |
stat/nbin | Generation of Negative binomial random data [] |
stat/nbincdf | Cumulative distribution function of the Negative Binomial law [] |
stat/nbininv | Quantile of a Negative Binomial law. [] |
stat/nbinpdf | Probability density function of a Negative Binomial law [] |
stat/normal | Generation of Gaussian random data [] |
stat/normalcdf | Cumulative distribution function of the normal distribution [] |
stat/normalinv | Quantile of the normal law [] |
stat/normalpdf | Probability density function of the normal law [] |
stat/pascal | Generation of Pascal random data [] |
stat/pascalcdf | Cumulative distribution function of the Pascal law [] |
stat/pascalinv | Quantile of a Pascal law. [] |
stat/pascalpdf | Probability density function of a Pascal law [] |
stat/piechart | Pie chart [] |
stat/poisson | Generation of random numbers with Poisson law [] |
stat/poissoncdf | Poisson cumulative distribution function [] |
stat/poissoninv | Quantile of a Poisson law [] |
stat/poissonpdf | Probability density function of a Poisson law [] |
stat/posdiscretelaw | Generation of a discrete law with positive coefficients [] |
stat/prod | Product of data [] |
stat/quadratic | Quadratic mean [] |
stat/quantile | Quantile [] |
stat/random | Generation of random numbers [] |
stat/range | Data range [] |
stat/student | Generation of Student random data [] |
stat/studentcdf | Student cumulative distribution function [] |
stat/studentinv | Quantile of a Student law [] |
stat/studentpdf | Probability density function of a Student law [] |
stat/sum | Data sum [] |
stat/variance | Variance [] |
stat/weibull | Generation of Weibull random data [] |
stat/weibullcdf | Cumulative distribution function of Weibull law [] |
stat/weibullinv | Quantile of Weibull law [] |
stat/weibullpdf | Probability density function of Weibull law [] |
Output | |
---|---|
text/approximation | Calculate an approximation interval for a given real [] |
text/balloon | Talking Balloons (Cartoon style) [] |
text/cdecomment | Extract comment from a c source code. [] |
text/comblin | Simplify a linear combination [] |
text/crossword | Crossword [] |
text/cutchoice2 | Cut out embedded choices for OEF [] |
text/cutchoices | Cut out embedded choices for OEF [] |
text/markerror | For marking words with mistake [] |
text/markgroup | For marking group of words with given explanation [] |
text/marktext | Texte for use with type mark for OEF (word) [] |
text/marktextpartial | For marking some words with given explanation [] |
text/markword | For use with type mark in OEF [] |
text/matrixhtml | Transform a matrix into html matrix (table). [] |
text/matrixinsert | Insert a coefficient in a matrix [] |
text/matrixtex | Matrix in Latex [] |
text/maximamatrix | Transform a matrix to maxima format [] |
text/octavematrix | Transform an octave output matrix into standard format [] |
text/sigunits | Make a representation of a physical quantity with a given number of significative digits [] |
text/spirale | Write on a spirale [] |
text/whitespace | Replace white spaces [] |
Output | |
---|---|
triplerelation/tabular | Double entry table for training to relations between three quantities [] |
Output | |
---|---|
utilities/date | Date [] |
utilities/mathcalc | Mathcalc [] |
utilities/nopaste | No copy-paste [] |
utilities/notepad | Notepad [] |
utilities/tooltip | Tooltip containing an html text which appears when the mouse points on a word. [] |
utilities/trigo-calc | Inline Trigonometric calculator [] |
Each command takes one line.
In the following table, [color] may be either a color name, or 3 integers between 0 and 255, separated by commas, for the values of red,green,blue.
- | ||||
---|---|---|---|---|
Synonymes | ||||
affine a,b,c,d,tx,ty | ||||
Make an affine transformation for the subsequent objects: (x;y) -> [a,b;c,d](x;y)+(tx;ty). | ||||
alt texte | ||||
This command is only available for WIMS OEF and doc and MUST appear on the first line. It gives the attribut alt="text" to the image. | ||||
animate fra,del,rep | ||||
This command is only available for WIMS OEF and doc, and MUST appear on the first line or after the command alt. Set up animation for fra frames, with del seconds between frames, and rep repetitions (rep=0 means infinite repetition). Frame control is done via two variables: animstep (integer) going from 1 to frame count, and s going from 0 to 1. | ||||
animstep n | ||||
Set up an integer which can be called in any evaluation. Used for animation. Direct use of this command must be avoided under WIMS. | ||||
arc x,y,w,h,a1,a2,[color] | ||||
Arc segment of an ellipse of width w and hight h centered at (x,y), from angle a1 to angle a2 (in degrees) counterclockwise. | ||||
arrow x1,y1,x2,y2,l,[color] | ||||
Arrow (x1,y1)--->(x2,y2), where l is the length (in pixels) of arrowhead. | ||||
arrow2 x1,y1,x2,y2,l,[color] | ||||
Two sided arrow (x1,y1)<--->(x2,y2), where l is the length (in pixels) of arrowhead. | ||||
arrows [color],l,x1,y1,x2,y2,x3,y3,x4,y4,... | ||||
Arrow (x1,y1)--->(x2,y2), (x3;y3)--->(x4;y4) where l is the length (in pixels) of arrowhead. | ||||
arrows2 [color],l,x1,y1,x2,y2,x3,y3,x4,y4,... | ||||
Two sided arrow (x1,y1)<--->(x2,y2), (x3;y3)<--->(x4;y4) where l is the length (in pixels) of arrowhead. | ||||
circle x,y,r,[color] | ||||
Circle of center (x,y) and radius r (in pixels). | ||||
circles [color],x1,y1,r1,x2,y2,r2 ... | ||||
Circles of center (x1;y1) and radius r1 (according to xrange) ... | ||||
comment | ||||
Does nothing. | ||||
copy x,y,x1,y1,x2,y2,[filename] | ||||
insert | Insert the region from (x1,y1) to (x2,y2) (in pixels) of [filename] to (x,y). If x1=y1=x2=y2=-1, the whole [filename] is copied. [filename] is the address of the file from the directory wims/public_html/gifs or from the directory common_images for OEF modules. | |||
copyresized x1,y1,x2,y2,dx1,dy1,dx2,dy2,[filename] | ||||
Insert the region from (x1,y1) to (x2,y2) (in pixels) of [filename], possibly resized, to the region of (dx1,dy1) to (dx2,dy2). If x1=y1=x2=y2=-1, the whole [filename] is copied and resized. | ||||
crosshair x1,y1,[color] | ||||
draw a crosshair point at (x1,y1) | ||||
crosshairs [color], x1,y1,x2,y2,... | ||||
draw multiple crosshair points at given coordinates (x1,y1), (x2,y2), ... | ||||
crosshairsize w | ||||
Set crosshair size to w (in pixels). | ||||
dashed | ||||
Indique que la commande suivante est en pointillés si cette possibilité existe pour cette commande. | ||||
dashhalfline x1,y1,x2,y2,[color] | ||||
Dashed halfline from (x1; y1) through (x2; y2). | ||||
darrow x1,y1,x2,y2,l,[color] | ||||
dasharrow dashedarrow | Dashed arrow (x1,y1)- - ->(x2,y2), where l is the length (in pixels) of arrowhead. | |||
darrow2 x1,y1,x2,y2,l,[color] | ||||
dasharrow2 dashedarrow2 | Two sided dashed arrow (x1,y1)<- - ->(x2,y2), where l is the length (in pixels) of arrowhead. | |||
darrows [color],l,x1,y1,x2,y2,x3,y3,x4,y4,... | ||||
Flèches en pointillés allant du point (x1;y1) vers le point (x2;y2), du point (x3;y3) vers le point (x4;y4) et dont la tête est de longueur l pixels. | ||||
darrows2 [color],l,x1,y1,x2,y2,x3,y3,x4,y4,... | ||||
Flèches en pointillés entre les points (x1;y1) et (x2;y2), (x3;y3) et (x4;y4) ayant deux têtes de longueur l pixels. | ||||
dashhalfline x1,y1,x2,y2,[color] | ||||
Demi-droite en pointillés partant de (x1; y1) et passant par (x2; y2) de couleur color | ||||
dhline x,y,[color] | ||||
dashedhorizontalline dashhorizontalline hdline horizontaldashedline | Dashed horizontal line through (x,y). | |||
diamondfill x,y,nx,ny,[color] | ||||
diafill | Flood fill the region containing (x,y) with the same original color by double hatching (parallel lines), (nx,ny) being the horizontal and vertical distance between adjacent lines (in pixels). | |||
dpolyline [color],x1,y1,x2,y2,x3,y3... | ||||
n dashed line segments (x1,y1)---(x2,y2)---(x3,y3)... | ||||
dotfill x,y,nx,ny,[color] | ||||
pointfill diskfill | Flood fill the region containing (x,y) with the same original color by (fat) dots at each (nx,ny) pixels. | |||
dsegment x1,y1,x2,y2,[color] | ||||
dashsegment | Dashed line segment (x1,y1)---(x2,y2). | |||
dvline x,y,[color] | ||||
dashedverticaline dashverticalline vdline verticaldashedline | Dashed vertical line through (x,y). | |||
ellipse x,y,w,h,[color] | ||||
Ellipse with center (x,y), width w and height h. | ||||
ellipses [color],x1,y1,w1,h1,x2,y2,w2,h2,... | ||||
Ellipse with center (x1,y1), width w1 and height h1 etc. | ||||
fcircle x,y,d,[color] | ||||
ball disk filledcircle | Filled circle of center (x,y) and diameter d (in pixels). | |||
fcircles [color],x1,y1,r1,x2,y2,r2 ... | ||||
Filled circles of center (x1;y1) and radius r1 (according to xrange) ... | ||||
fellipse x,y,w,h,[color] | ||||
filledellipse | Filled ellipse with center (x,y), width w and height h. | |||
fill x,y,[color] | ||||
flood floodfill | Flood fill the region containing (x,y) with the same original color, by color. | |||
filled | ||||
Keyword: indique que l'objet suivant sera colorié si pertinent | ||||
filltoborder x,y,[color1],[color2] | ||||
Flood fill by color2 the region containing (x,y) and bounded by color1. | ||||
fpoly [color],x1,y1,x2,y2,x3,y3... | ||||
filledpoly filledpolygon fpolygon | Filled polygon (x1,y1)--(x2,y2)--(x3,y3)... | |||
frect x1,y1,x2,y2,[color] | ||||
filledrect fillecrectangle frectangle | Filled rectangle with corners (x1,y1) and (x2,y2). | |||
fsquare x,y,s,[color] | ||||
filledsquare | Filled square with sides s (in pixels) and first corner at (x,y). | |||
ftriangle x1,y1,x2,y2,x3,y3,[color] | ||||
filledtriangle | Filled triangle with vertices (x1,y1),(x2,y2),(x3,y3). | |||
gridfill x,y,nx,ny,[color] | ||||
Flood fill the region containing (x,y) with the same original color by a grid of horizontal and vertical lines with distance (nx,ny) (in pixels). | ||||
halfline x1,y1,x2,y2,[color] | ||||
Halfline from (x1; y1) through (x2; y2). | ||||
hatchfill x,y,nx,ny,[color] | ||||
Flood fill the region containing (x,y) with the same original color by hatching (parallel lines), (nx,ny) being the horizontal and vertical displacement of adjacent lines (in pixels). | ||||
hline x,y,[color] | ||||
horizontalline | Horizontal line through (x,y). | |||
interlace | ||||
Set interlaced image | ||||
killaffine | ||||
Reset affine transformation to identity. | ||||
killbrush | ||||
Turns off brush selection for line drawing. | ||||
killlinear | ||||
killrotation killrotate | Reset linear transformation to identity. | |||
killtile | ||||
Turns off tile selection for filling. | ||||
killtranslation | ||||
killtranslate | Reset translation to identity. | |||
lattice x0,y0,x1,y1,x2,y2,n1,n2,[color] | ||||
A lattice of n1xn2 points starting with (x0,y0), with n1 rows in direction of (x1,y1) and n2 rows in direction of (x2,y2). | ||||
levelcurve [color],[expression],l1,l2,... | ||||
Draws level curves for expression, with levels l1, l2,... | ||||
levelstep n | ||||
Set the number of pixel steps in levelcurve plotting. Between 1 and 16, defaults to 4. | ||||
linear a,b,c,d | ||||
Make a linear transformation for the subsequent objects: (x;y) -> [a,b;c,d](x;y). | ||||
linewidth w | ||||
Set line width to w (in pixels) for line drawing. | ||||
multicopy n1,n2,...,nk, [filename] | ||||
Copy the image [filename] in the parallelogram given by parallelogram command (with deformation) and apply to it the transformations n_1, ..., n_k (up to 19). If no n1 ... are given, all the transformations are applied. So setparallelogram and some setvector or setmatrix or settransform must be previously defined. | ||||
new x,y | ||||
Set a new image of size x,y. | ||||
noreset | ||||
keyword: if it is followed by dashed or filled, the following commands are dashed or filled, up to the command reset | ||||
output [filename] | ||||
Output the current image to [filename]. | ||||
parallel x1,y1,x2,y2,xv,yv,n,[color] | ||||
n parallel segments starting from (x1,y1)---(x2,y2), with displacement (xv,yv). | ||||
pixels [color],x1,y1,x2,y2,... | ||||
Points (all of diameter 1) at (x1,y1), (x2,y2), ... | ||||
plot [color],[formula] | ||||
curve | Plot a curve according to [formula] which can be either an explicit function of x, or a pair of parametric functions in t. | |||
plotjump j | ||||
Plotted curve will jump if two consecutive points have distance more than j pixels. Useful to avoid plotting discontinuous functions as continuous. Default value: 200. | ||||
plotstep n | ||||
plotsteps tstep tsteps | Set the number of point computations in curve plot. Defaults to 100. | |||
point x,y,[color] | ||||
A (fat) point at (x,y), whose diameter is equal to linewidth. | ||||
points [color],x1,y1,x2,y2,... | ||||
(Fat) points at (x1,y1), (x2,y2), ..., whose diameters are equal to linewidth. | ||||
polygon [color],x1,y1,x2,y2,x3,y3... | ||||
poly | Polygon (x1,y1)-(x2,y2)-(x3,y3)... | |||
polyline [color],x1,y1,x2,y2,x3,y3... | ||||
brokenline | n line segments (x1,y1)---(x2,y2)---(x3,y3)... | |||
range x1,x2,y1,y2 | ||||
Set the drawing range to [x1,x2] horizontally and [y1,y2] vertically. Note that by default, horizontal range is [0,xsize-1] and vertical range is [ysize-1,0]. | ||||
rays [color],x0,y0,x1,y1,x2,y2... | ||||
Line segments (x0,y0)---(x1,y1), (x0,y0)---(x2,y2), ... | ||||
rect x1,y1,x2,y2,[color] | ||||
rectangle | Rectangle with corners (x1,y1) and (x2,y2). | |||
reset | ||||
Keyword: reset the command "noreset" | ||||
resetmatrix n | ||||
Reset n-th linear or affine transformation to identity. | ||||
resetparallelogram | ||||
kill setparallelogram | ||||
resetvector n | ||||
Reset n-th translation to identity. | ||||
resettransform n | ||||
Reset n-th linear, affine transformation and n-th translation to initial values (identity or null vector). | ||||
rotation d | ||||
rotate | Make a rotation of degree d counter-clockwise (centered at (0,0)), for the subsequent objects. | |||
segment x1,y1,x2,y2,[color] | ||||
seg | Line segment (x1,y1)---(x2,y2). | |||
segments [color],x1,y1,x2,y2,x3,y3,x4,y4, ... | ||||
Line segments (x1; y1)---(x2; y2), (x3; y3)---(x4; y4), ... | ||||
setbrush [filename] | ||||
Use the image [filename] as a brush for all line draws. | ||||
setmatrix n,a,b,c,d | ||||
Make the n-th linear transformation for multicopy objects: (x;y) -> [a,b;c,d](x;y). | ||||
setparallelogram xs,ys,xu,yu,xv,yv | ||||
Prepare the place where the image will be copied by multicopy (mathematical coordinates) : xs,ys mathematical coordinates of the origin point, xu,yu mathematical coordinates of the "horizontal line of the image" to copy, xv,yv mathematical coordinates of the "verticale line of the image" to copy. | ||||
setpixel x,y,[color] | ||||
A point (of diameter 1 pixel) at (x,y). | ||||
setstyle [color1],[color2],... | ||||
Set the line style to color1,color2,... | ||||
settile [filename] | ||||
Use the image [filename] as a tile for all filling commands. | ||||
settransform n,a,b,c,d,tx,ty | ||||
Make the n-th linear transformation for multicopy objects: (x;y) -> [a,b;c,d](x;y) + (tx;ty). (settransform n,a,b,c,d,tx,ty is equivalent to setmatrix n,a,b,c,d and setvector n,tx,ty, so it kills a previous definition setmatrix n,a,b,c,d with the same number n). | ||||
setvector n,tx,ty | ||||
Make the n-th translation for multicopy objects: (x;y) -> (tx,ty). | ||||
size x,y | ||||
Set the image size to x pixels horizontally and y pixels vertically. | ||||
square x,y,s,[color] | ||||
Square with sides s (in pixels) and first corner at (x,y). | ||||
text [color],x,y,[font],[string] | ||||
print string write | Write the string at (x,y), with font=small,medium,large or giant. | |||
textup [color],x,y,[font],[string] | ||||
stringup writeup | Write upwards the string at (x,y), with font=small,medium,large or giant. | |||
trange t1,t2 | ||||
ranget | Set the t range to [t1,t2] for parametric curve plotting. Defaults to [0,1]. | |||
translation tx,ty | ||||
translate | Make a translation for the subsequent objects: (x;y) -> (x;y)+(tx;ty). | |||
transparent [color] | ||||
Makes [color] a transparent color. | ||||
triangle x1,y1,x2,y2,x3,y3,[color] | ||||
Triangle with vertices (x1,y1),(x2,y2),(x3,y3). | ||||
vimg n | ||||
Enable (1) or disable (0) vector graphics output. | ||||
vimgfile [filename] | ||||
Direct vector graphics output (currently DXF only) to [filename]. | ||||
vline x,y,[color] | ||||
verticalline | Vertical line through (x,y). | |||
xrange x1,x2 | ||||
rangex | Set the horizontal drawing range to [x1,x2]. Defaults to [0,xsize-1]. | |||
yrange y1,y2 | ||||
rangey | Set the horizontal drawing range to [y1,y2]. Defaults to [ysize-1,0]. |
\text{A=canvasdraw(xsize,ysize
commande...)}
\canvasdraw{xsize,ysize}{commande...}
canvasdraw
snaptopoints x1,y1,x2,y2,...
snaptopoints x1,y1,x2,y2,...
object x1,y1,...,color
objects color,x1,y1,...
fontfamily
is not active for these elementsread_canvas()
and / or read_dragdrop()
can read all interactive userdata from these images.canvas_scripts
will contain all unique random "canvas_root_id" of the included scripts.fun = eval("read_canvas"+canvas_scripts[0])
to read user based drawings / inputfield in this first image.function read_all_canvas_images(){
var script_len = canvas_scripts.length;
var draw_reply = "";
var found_result = false;
for(var p = 0 ; p < script_len ; p++){
var fun = eval("read_canvas"+canvas_scripts[p]);
if( typeof fun === 'function'){
var result = fun();
if( result && result.length != 0){
if(script_len == 1 ){.return result;};
found_result = true;
draw_reply = draw_reply + result + "newline";
};
};
};
if( found_result ){return draw_reply;}else{return null;};
};
ext{popup_grapher=wims(exec canvasdraw
popup
size 400,400
xrange -10,10
yrange -10,10
axis
axisnumbering
opacity 100,100
grid 2,2,grey,2,2,6,black
snaptogrid
linewidth 2
jsplot red,5*sin(1/x)
strokecolor green
functionlabel f(x)=
userinput function
mouse blue,22
)
}
\statement{
\popup_grapher
}
.
affine a,b,c,d,tx,ty
duplicates || allowdups
angle xc,yc,width,start_angle,end_angle,color
animate
fillcolor colorname/hexnumber
animate
is allowed...in case of multiple animate
keywords, only the last one is valid
arc xc,yc,x-width,y-height,start_angle,end_angle,color
arrowarc xc,yc,x-width,y-height,start_angle,end_angle,color,type
arcarrow
arrow x1,y1,x2,y2,h,color
vector
linewidth int
to adjust thickness of the arrow
arrows color,head (px),x1,y1,x2,y2...x_n,y_n
vectors
linewidth int
to adjust thickness of the arrow
arrow2 x1,y1,x2,y2,h,color
arrowhead int
to adjust the arrow head size
linewidth int
to adjust thickness of the arrow
arrows2 color,head (px),x1,y1,x2,y2...x_n,y_n
linewidth int
to adjust thickness of the arrows
arrowhead int
audio x,y,w,h,loop,visible,audiofile location
axisnumbering
axis
barchart x_1:y_1:color_1:x_2:y_2:color_2:...x_n:y_n:color_n
bezier color,x_start,y_start,x_first,y_first,x_second,y_second,x_end,y_end
bgcolor colorname or #hex
bgimage image_location
blink time(seconds)
boxplot x_or_y,box-height_or_box-width,position,min,Q1,median,Q3,max
xrange 0,300
yrange 0,10
boxplot x,4,8,120,160,170,220,245
xrange 0,10
yrange 0,300
boxplot y,4,8,120,160,170,220,245
boxplotdata some_data
boxplot
: the command boxplot will provide the boxplot drawing of the data.
statistics()
will parse the data and calculate the values [min,Q1,median,Q3,max] and hand them to the boxplot draw function.
boxplotdata
can be made. If multiple boxplots should be present in a single canvas, then use multiple calls to command boxplot
canvastype TYPE
centered
centerstring color,y-value,the text string
centerstring red,5,\u2232
fontfamily italic 24pt Arial
to set fonts on browser that support font change
circle xc,yc,width (2*r in pixels),color
fcircle xc,yc,d,color
disk
fillcolor color
to set the fillcolor
circles color,xc1,yc1,r1,xc2,yc2,r2...xc_n,yc_n,r_n
filled
or command fcircles
to produce solid circles
disks
fillcolor color
to set the fillcolor
clearbutton value
delete
erase
clearbutton
is incompatible with multidraw based drawingsmultidraw
there is always a remove_object_button for every draw primitive)
intooltip
if(document.getElementById("clearbutton"+canvas_scripts[0])){
var p = 0;
while(document.getElementById("clearbutton"+canvas_scripts[p])){
document.getElementById("clearbutton"+canvas_scripts[p]).className="some_class_name";
<!−−
or document.getElementById("clearbutton"+canvas_scripts[p]).setAttribute("style","some_style"); −−>
p++;
};
};
clock x,y,r(px),H,M,S,type hourglass,interactive [ ,H_color,M_color,S_color,background_color,foreground_color ]
opacity stroke-opacity,fill-opacity
to adjust foreground (stroke) and background (fill) transparency
colorpalette color_name_1,color_name_2,...,color_name_8
copy x,y,x1,y1,x2,y2,[filename URL]
snaptopoints x1,y1,x2,y2...
.
copyresized x1,y2,x2,y2,dx1,dy1,dx2,dy2,image_file_url
snaptopoints x1,y1,x2,y2...
crosshair x,y,color
crosshairsize int
and / or linewidth int
to adjust
crosshairs color,x1,y1,x2,y2,...,x_n,y_n
crosshairsize int
and / or linewidth int
to adjust
crosshairsize int
css css_class
cursor some CSS cursor_style
pointer
curve color,formula(x)
plot
trange -pi,pi
curve color,formula1(t),formula2(t)
curvedarrow x1,y1,xc,yc,x2,y2,color
linewidth int
to adjust thickness of the arrow
curvedarrow2 x1,y1,xc,yc,x2,y2,color
linewidth int
to adjust thickness of the arrow
curvedarrows color,x1,y1,xc,yc,x2,y2,...,x_(n-1),y_(n-1),xc,yc,x_n,y_n
linewidth int
to adjust thickness of the arrow
curvedarrows2 color,x1,y1,xc,yc,x2,y2,...x_(n-1),y_(n-1),xc,yc,x_n,y_n
linewidth int
to adjust thickness of the arrow
dashed
dashtype line_width_px,space_width_px
dashtype 2,2
e.g. 2px line and 2px space
diamondfill x0,y0,dx,dy,color
dotfill x0,y0,dx,dy,color
drag [x][y][xy]
javascript:read_dragdrop();
linewidth 4
point 0,0,red
drag xy
point 0,0,blue
linewidth 4
drag xy
point 0,0,red
drag xy
point 0,0,blue
ellipse xc,yc,width_x,height_y,color
ellipses color,xc1,yc1,width_x1,height_y1,xc2,yc2,width_x2,height_y2,xc3,yc3,width_x3,height_y3,...
fillall color,x1,y1,x2,y2...x_n,y_n
filled
opacity 0-255,0-255
to set stroke and fill-opacity
fillcolor colorname or #hex
fillpattern grid | hatch | diamond | dot | image_url
settileimage_url
size 370,370
xrange -5,5
yrange -5,5
opacity 165,150
fillpattern grid
fcircle -6,3,160,blue
fillpattern dot
fcircle -3,-3,160,red
fillpattern hatch
fcircle 0,3,160,green
filpattern diamond
fcircle 3,-3,160,cyan
userdraw dotfill,blue
zoom red
size 150,150
xrange -5,5
yrange -5,5
drag xy
fillpattern gifs/en.gif
fcircle 0,0,100,red
fillpattern gifs/nl.gif
drag xy
fcircle -3,2,100,green
fillpattern gifs/cn.gif
drag xy
fcircle 3,2,100,green
filltoborder x,y,bordercolor,color
floodfill x,y,color
fill
userdraw clickfill,color
for user click driven flood fill.
fontcolor color
fontfamily font_description
string color,x,y,the string
, stringup color,x,y,rotation,the string
, fontfamily can be something like:fontfamily italic 34pt Arial
. Use correct syntax: font style, font size pt, fontfamily
fontsize font_size
functionlabel label_1:label_2:label_3...
functionlabels
grid step_x,step_y,gridcolor
grid step_x,step_y,major_color,minor_x,minor_y,tics height in px,axis_color
minor x step = step_x / minor_x
gridfill x0,y0,dx,dy,color
group
demiline x1,y1,x2,y2,color
halfline
demilines color,x1,y1,x2,y2,....
halflines
hatchfill x0,y0,dx,dy,color
hline x,y,color
horizontalline
hlines color,x1,y1,x2,y2,...
horizontallines
http x1,y1,x2,y2,http://some_adress.com
html x1,y1,html_string
imagefill x,y,scaling to xsize × ysize?,image_url
imagepalette image1,image2,image3,...
input x,y,size,editable,value
intooltip link_text
jscurve color,formula1(x),formula2(x),formula3(x),...
jsplot
sqrt,^,asin,acos,atan,log,pi,abs,sin,cos,tan,e
jscurve red,fun1(x),fun2(x)...fun_n(x)
, you must specify individual multistrokecolors & multistrokeopacity & multilinewidth for these multiple js-curves to use different colors. Otherwise all curves will be the same color... Use commands like: multistrokecolors, multilinewidth, multidash, multistroke, color given for the command jscurve color,formulas(x)
will not be used in that case... but the color argument must still be given in any case (otherwise syntax error...)
jsmath some_math_function
kill arguments
killaffine
killlinear
killrotate
killslider
killtranslation
killtranslate
latex x,y,tex string
math
javascript:read_dragdrop();
will return click numbers of mathml-objectsjavascript:read_dragdrop();
will return all coordinates in the same order as the canvas script: unmoved object will have their original coordinates...
javascript:read_mathml();
. attention: if after this mathml-input object other user-interactions are included, these will read mathml too using "read_canvas();"
lattice x0,y0,xv1,yv1,xv2,yv2,n1,n2,color
linear a,b,c,d
line x1,y1,x2,y2,color
lines color,x1,y1,x2,y2...x_n-1,y_n-1,x_n,y_n
linewidth int
levelcurve color,expression in x/y,l1,l2,...
legend string1:string2:string3....string_n
legendcolors color1:color2:color3:...:color_n
legend test1:test2:test3
legendcolors blue:red:orange
.
linegraph x1:y1:x2:y2...x_n:y_n
mathml x1,y1,mathml_string
javascript:read_dragdrop();
will return click numbers of mathml-objects; if 4 clickable object are drawn, the reply could be 1,0,1,0 ... meaning clicked on the first and third object
javascript:read_dragdrop()
will return all coordinates in same order as the canvas script: unmoved objects will have their original coordinates...
mouse color,fontsize
mouse_degree color,fontsize
display TYPE,color,fontsize
userdraw arc,color
or protractor, ruler (if set dynamic).
precision int
mousex color,fontsize
mousey color,fontsize
multidash 0,1,1
multifill points,circle,segments
, are dashed
dashtype line_px,space_px
will give no control over multidraw objects)
multidraw obj_type_1,obj_type_2...obj_type_11
multilabel cirkel,lijnstuk,punten,STOP
multidraw circle,segment,points
read_canvas%d
will read all userbased drawings.multiuserinput 1
for images) if not used with imagepalette, provide the images or div's (<img> tag with bitmap or SVG or anything in a div element) somewhere on the html exercise page, with an onclick handler like:<img src='gifs/images/dog.svg' onclick='javascript:place_image_on_canvas(this.id);' id="ext_image_1" />
<img src='gifs/fish.png' onclick='javascript:place_image_on_canvas(this.id);' id="another" />
<input type='button' onclick='javascript:userdraw_primitive=null' value='STOP DRAWING' />
<input type='button' onclick='javascript:userdraw_primitive=24;multidraw_object_cnt = 0;' value='start drawing curvedarrows2' />
<input type='button' onclick='javascript:var fun=eval("clear_draw_area"+canvas_scripts[0]);fun(24,0);' value='REMOVE LAST CURVEDARROW ' />
multilabel button_label_1,button_label_2,...,button_label_8,'stop drawing text'
multilabel punten,lijnen,Stop met Tekenen
multidraw points,lines
css
multilabel NOCONTROLS
multilinewidth linewidth_1,linewidth_2,...,linewidth_8
multidraw obj_type_1,obj_type_2...obj_type_7
multifill 0,0,1,0,1,0,0
filled
was given before command multifill
multifillcolors color_name_1,color_name_2,...,color_name_8
multidraw obj_type_1,obj_type_2...obj_type_n
multifillopacity fill_opacity_1,fill_opacity_2,...,fill_opacity_8
opacity int,int
and keyword filled
multidraw obj_type_1,obj_type_2...obj_type_y
multisnaptogrid 0,1,1
multisnap
multifill points,circle,segments
, will snap to the xy-grid (default 1 in x/y-coordinate system: see command snaptogrid)
multisnaptogrid 1,1,1,...
multisnaptogrid 1,1,1,...
multisnaptogrid 2,2,2,...
multisnaptogrid 3,3,3,...
multisnaptogrid 4,4,4,...
multisnaptogrid 0,1,2,3,4
multidraw text,arrow,line,circle,image
multistrokecolors color_name_1,color_name_2,...,color_name_8
multidraw obj_type_1,obj_type_2...obj_type_7
multistrokeopacity stroke_opacity_1,stroke_opacity_2,...,stroke_opacity_7
opacity int,int
multidraw obj_type_1,obj_type_2...obj_type_7
multiuserinput 0,1,1,0
multiinput
multidraw circles,points,lines,triangles
noreset
killreset
noxaxis
noyaxis
numberline x0,x1,xmajor,xminor,y0,y1
obabel x,y,type input,molecule smiles-code or file location, extra arguments,extra arguments,...
javascript:read_dragdrop();
will return click numbers of mathml-objectsjavascript:read_dragdrop();
will return all coordinates in the same order as the canvas script: unmoved object will have their original coordinates...
opacity [0-255],[0-255]
transparent
onclick
javascript:read_canvas();
parallel x1,y1,x2,y2,dx,dy,n,[colorname or #hexcolor]
plotsteps a_number
point x,y,color
linewidth int
to adjust size
circle x,y,r,color
will resize on zooming)
points color,x1,y1,x2,y2,...,x_n,y_n
linewidth int
to adjust size
poly color,x1,y1,x2,y2...x_n,y_n
polyline color,x1,y1,x2,y2...x_n,y_n
polyline, x1,y1,x2,y2...x_n,y_n
userdraw path(s),color
and userdraw polyline,color
... these are two entirely different things ! the path(s) userdraw commands may be used for freehand drawing(s) popup
size xsize,ysize
the canvas will also be displayed in a popup window with size xsize × ysize
function read_all(){
if( typeof popup !== 'undefined' ){
var fun1 = popup['read_dragdrop'+canvas_scripts[0]];
var fun2 = popup['read_canvas'+canvas_scripts[0]];
popup.close();
return "dragdrop="+fun1()+"
canvas="+fun2();
};
popup.set_clock(clock_id,type,diff);
as js-function for a button (or something else) in your document page. protractor x,y,x_width,type,mode,use_a_scale
snap_to_grid
may be used to assist the pupil at placing the protractor
pixels color,x1,y1,x2,y2,x3,y3...
pixelsize int
pixelsize int
piechart xc,yc,radius,'data+colorlist'
range xmin,xmax,ymin,ymax
rays color,xc,yc,x1,y1,x2,y2,x3,y3...x_n,y_n
rect x1,y1,x2,y2,color
frect x1,y1,x2,y2,color
for a filled rectangle
rect x1,y1,x2,y2,color
rects color,x1,y1,x2,y2,.....
frect color,x1,y1,x2,y2,.....
for a filled rectangle
rects color,x1,y1,x2,y2,....
fillcolor color
before frects to set the fill colour.
replyformat number
precision [0,1,10,100,1000,10000...]
before command replyformat to set the desired number of decimals in the student reply / drawing
x1,x2,x3,x4....x_n
y1,y2,y3,y4....y_n
x/y in pixels x1,x2,x3,x4....x_n
y1,y2,y3,y4....y_n
x/y in xrange / yrange coordinate system x1,x2,x3,x4....x_n
y1,y2,y3,y4....y_n
r1,r2,r3,r4....r_n
x/y in pixels, r in pixels x1,x2,x3,x4....x_n
y1,y2,y3,y4....y_n
r1,r2,r3,r4....r_n
x/y in xrange / yrange coordinate system, r in pixels Ax1,Ax2,Ax3,Ax4....Ax_n
Ay1,Ay2,Ay3,Ay4....Ay_n
Bx1,Bx2,Bx3,Bx4....Bx_n
By1,By2,By3,By4....By_n
Cx1,Cx2,Cx3,Cx4....Cx_n
Cy1,Cy2,Cy3,Cy4....Cy_n
....
Zx1,Zx2,Zx3,Zx4....Zx_n
Zy1,Zy2,Zy3,Zy4....Zy_n
x/y in pixels Ax1,Ax2,Ax3,Ax4....Ax_n
Ay1,Ay2,Ay3,Ay4....Ay_n
Bx1,Bx2,Bx3,Bx4....Bx_n
By1,By2,By3,By4....By_n
Cx1,Cx2,Cx3,Cx4....Cx_n
Cy1,Cy2,Cy3,Cy4....Cy_n
....
Zx1,Zx2,Zx3,Zx4....Zx_n
Zy1,Zy2,Zy3,Zy4....Zy_n
x/y in xrange / yrange coordinate system x1:y1,x2:y2,x3:y3,x4:y4...x_n:y_n
x/y in pixels x1:y1,x2:y2,x3:y3,x4:y4...x_n:y_n
x/y in xrange / yrange coordinate system x1:y1:r1,x2:y2:r2,x3:y3:r3,x4:y4:r3...x_n:y_n:r_n
x/y in pixels x1:y1:r1,x2:y2:r2,x3:y3:r3,x4:y4:r3...x_n:y_n:r_n
x/y in xrange / yrange coordinate system Ax1,Ay1,Ax2,Ay2
Bx1,By1,Bx2,By2
Cx1,Cy1,Cx2,Cy2
Dx1,Dy1,Dx2,Dy2
......
Zx1,Zy1,Zx2,Zy2
x/y in xrange / yrange coordinate system Ax1,Ay1,Ax2,Ay2
Bx1,By1,Bx2,By2
Cx1,Cy1,Cx2,Cy2
Dx1,Dy1,Dx2,Dy2
......
Zx1,Zy1,Zx2,Zy2
x/y in pixels Ax1:Ay1:Ax2:Ay2,Bx1:By1:Bx2:By2,Cx1:Cy1:Cx2:Cy2,Dx1:Dy1:Dx2:Dy2, ... ,Zx1:Zy1:Zx2:Zy2
x/y in xrange / yrange coordinate system Ax1:Ay1:Ax2:Ay2,Bx1:By1:Bx2:By2....Zx1:Zy1:Zx2:Zy2
x/y in pixelsreply1,reply2,reply3,...,reply_n
x1,y1,text1
x2,y2,text2...
...x_n,y_n,text_n
x/y-values are in xrange/yrangeH1:M1:S1,H2:M2:S2...Hn:Mn:Sn
(x1:y1) (x2:y2) ... (x_n:y_n)
verbatim coordinate returnreply[0]=x1 reply[1]=y1 reply[2]=x2 reply[3]=y2 ... reply[n-1]=x_n reply[n]=y_n
x/y in xrange / yrange coordinate systemx1,y1,x2,y2,x3,y3,.....x(n-1),y(n-1),xn,yn
; multiple occurences will be filtered out. The reply will be in x-y-range (xreply
yreply) angle1,angle2;...;angle_n
will return the radius (one or many) of the user drawn circle segment in degrees rad1,rad2,...rad_n
will return the radius (one or many) of the user drawn circle segment in radiansx1,y1,text1
x2,y2,text2...
...x_n,y_n,textn
x1,y1,r1,x2,y2,r2...x_n,y_n,r_n
x / y / r in xrange / yrange coordinate system: may be used to reinput into command circles color,x1,y1,r1,x2,y2,r2...x_n,y_n,r_n
will not return anything else (e.g. no inputfields, text etc)read_canvas_images()
for reading the coordinates of the images. roundrect x1,y1,x2,y2,radius in px,color
froundrect x1,y1,x2,y2,radius,color
for a filled rectangle
roundrect x1,y1,x2,y2,radius,color
roundrects color,radius in px,x1,y1,x2,y2,x3,y3,x4,y4,....
ruler x,y,x-width,y-height,mode
reset
resetoffset
rotate rotation_angle
rotate 45
triangle 1,1,5,1,3,4,red
rotationcenter x_center,y_center
size width,height
segment x1,y1,x2,y2,color
seg
segments color,x1,y1,x2,y2,...,x_n,y_n
segs
setlimits
setpixel x,y,color
pixelsize int
slider start_value,end_value,width px,height px,type,label
slider -2*pi,2*pi,300,30,angle degree active,Rotate
sliderfunction_x x^2
sliderfunction_y y^2
slider -5,5,100,100,xy function,Some_Text
...some stuff to slide
killslider
sliderfunction_x x^2-2
slider -15,15,100,10,x function,Some_Other_Text
...more stuff to slide
killslider... etc
size 300,300
xrange -5,5
yrange -5,5
grid 1,1,grey
linewidth 3
drag xy
fillcolor orange
strokecolor blue
slider 0,2*pi,250,30,angle degrees,Rotate arrow
arrow 2,2,5,5,8,red
javascript:read_dragdrop();
will return an array with object_number:slider_value
sgraph xstart,ystart,xmajor,ymajor,xminor,yminor,majorgrid_color,minorgrid_color
snaptofunction some_function_in_x,some_funtion_in_y
snaptofun
snaptofunction x,5*sin(1/y)
snaptofunction 5*sin(1/x),y
snaptofunction y,x
snaptopoints x1,y1,x2,y2,x3,y3....
snaptogrid
snaptogrid
axis
grid 2,1,grey,4,4,7,red
will snap on x=0, x=0.5, x=1, x=1.5 .... will snap on y=0, y=0.25 y=0.5 y=0.75 ...
square x,y,side (px),color
fsquare x,y,side,color
for a filled square
square x,y,side,color
status
string color,x,y,the text string
string red,0,0,\u2232
fontfamily italic 24px Arial
to set fonts on browser that support font change
stringup color,x,y,rotation_degrees,the text string
stringup red,0,0,45,\u2232
fontfamily bold 34px Courier
to set fonts on browser that support font change
onclick
rotate 45
string red,0,0,AAAAAA
killrotate
string red,4,4,BBBBBB
onclick
stringup red,0,0,45,AAAAAA
string red,4,4,BBBBBB
highlight color,opacity,linewidth
strokecolor colorname or #hex
text fontcolor,x,y,font,text_string
fontfamily italic 24px Arial
. In that case reset fontfamily to something lke fontfamily Arial before the old flydraw commands.
textarea x,y,cols,rows,readonly,value
javascript:read_canvas();
)
textfill x0,y0,color,some_text
textup fontcolor,x,y,font,text_string
fontfamily italic 24px Arial
. In that case reset fontfamily to something like fontfamily Arial before the old flydraw commands.
trace_jscurve some_math_function
trange tmin,tmax
ranget
translation tx,ty
translate
triangle x1,y1,x2,y2,x3,y3,color
triangles color,x1,y1,x2,y2,x3,y3,...
userboxplot
var student_boxplot = new Array(5)
function show_boxplot(){
student_boxplot[0] = min;
student_boxplot[1] = Q1;
student_boxplot[2] = median;
student_boxplot[3] = Q3;
student_boxplot[4] = max;
document.getElementById('boxplot').style.display = "block";
draw_boxplot(12345,1,2.00,5.00,[0,0,0,0,0],4,"0,0,255",0.78,"255,165,0",0.60,1,0,1,1);
};
userboxplotdata
userdraw object_type,color
onclick='javascript:place_image_on_canvas(this.id)'
can be placed onto the canvas.userdraw function,color
is identical to acombination of strokecolor color
and userinput function
multicolors red,green,blue
multilabel f(x)=:g(x)=:h(x)=
userdraw functions3,color
functionlabel f(x)=:p(x)=:w(x)=
strokecolor red
userinput function
strokecolor green
userinput function
strokecolor blue
userinput function
userinput function inputfield
userinput_function
userinput_xy
functionlabel some_string
to define the inputfield text: default value "f(x)="
strokecolor some_color
to adjust the plot / functionlabel color
css some_css
to adjust the inputfields
fontsize int
to adjust the label fonts. (default 12px)
userinput_xy
userinput_function
userinput
read_canvas()
. vline x,y,color
verticalline
vlines color,x1,y1,x2,y2....
verticallines
video x,y,w,h,videofile location
xaxis num1:string1:num2:string2:num3:string3:num4:string4:....num_n:string_n
xaxistext
grid 1,100,grey,1,4,6,grey
xaxisup num1:string1:num2:string2:num3:string3:num4:string4:....num_n:string_n
xaxistextup
grid 1,100,grey,1,4,6,grey
xerrorbars color,E1,E2,x1,y1,x2,y2,...,x_n,y_n
newrange xmin,xmax,ymin,ymax
xrange xmin,xmax
rangex
xsnaptogrid
xsnaptogrid
axis
grid 2,1,grey,4,4,7,red
xoffset
xyoffset
xunit some_unit_for_x-values
xlabel some_string
xlogbase number
xlogscale ymajor,yminor,majorcolor,minorcolor
xrange xmin,xmax
and yrange ymin,ymax
xylogscale majorcolor,minorcolor
yaxis num1:string1:num2:string2:num3:string3:num4:string4:....num_n:string_n
yaxistext
yerrorbars color,E1,E2,x1,y1,x2,y2,...,x_n,y_n
yoffset
yrange ymin,ymax
rangey
ysnaptogrid
ysnaptogrid
axis
grid 2,1,grey,4,4,7,red
ylabel some_string
ylogbase number
ylogscale xmajor,xminor,majorcolor,minorcolor
yunit some_unit_for_y-values
zoom button_color
pari | |
the PARI group | |
http://pari.math.u-bordeaux1.fr/ | |
Use | PARI/GP est un système de calcul formel très répandu, conçu pour des calculs rapides en arithmétique (factorisations, théorie algébrique des nombres, courbes elliptiques...) mais contient aussi un grand nombre de fonctions pour le calcul matriciel, sur les développements limités, les nombres algébriques, etc. ainsi que de nombreuses fonctions transcendantes. |
maxima | |
http://maxima.sourceforge.net/ | |
Use | Maxima is a system for the manipulation of symbolic and numerical expressions, including differentiation, integration, Taylor series, Laplace transforms, ordinary differential equations, systems of linear equations, polynomials, and sets, lists, vectors, matrices, and tensors. Maxima yields high precision numeric results by using exact fractions, arbitrary precision integers, and variable precision floating point numbers. |
graphviz | |
Credits | |
http://www.graphviz.org/ | |
Use | Graph visualization is a way of representing structural information as diagrams of abstract graphs and networks. Automatic graph drawing has many important applications in software engineering, database and web design, networking, and in visual interfaces for many other domains. |
gap | |
The GAP Group | |
http://www.gap-system.org/ | |
Use | GAP is a system for computational discrete algebra, with particular emphasis on Computational Group Theory. GAP provides a programming language, a library of thousands of functions implementing algebraic algorithms written in the GAP language as well as large data libraries of algebraic objects. See also the overview and the description of the mathematical capabilities. GAP is used in research and teaching for studying groups and their representations, rings, vector spaces, algebras, combinatorial structures, and more. |
float_calc,integer_calc | |
http://www.gnu.org/software/bc/ | |
Use | interface to bc ; bc -l |
yacas | |
Credits | |
http://yacas.sourceforge.net/homepage.html | |
Use | YACAS is an easy to use, general purpose Computer Algebra System, a program for symbolic manipulation of mathematical expressions. It uses its own programming language designed for symbolic as well as arbitrary-precision numerical computations. The system has a library of scripts that implement many of the symbolic algebra operations; new algorithms can be easily added to the library. YACAS comes with extensive documentation (hundreds of pages) covering the scripting language, the functionality that is already implemented in the system, and the algorithms we used. |
jmol | |
Use |
geogebra | |
Use |
checkmol | |
Norbert Haider, norbert.haider@univie.ac.at, modified by Ernst-Georg Schmid | |
Use | |
Input data | |
Output data | |
Example |
curvecomp | |
Xiao Gang | |
Use | Compare two curves |
Input data |
Input parameters: environment. w_curvecomp_1 and w_curvecomp_2: curves to compare, as lists of points. w_curvecomp_xrange and w_curvecomp_yrange: list of 2 integers each. w_curvecomp_tolerance: Maximal tolerance of distances. |
Output data |
Output: 10 double numbers separated by white spaces. - Average distance of curve 1 with respect to curve 2. - Average distance of curve 2 with respect to curve 1. - Maximal distance of curve 1 with respect to curve 2. - Maximal distance of curve 2 with respect to curve 1. - Proportion of curve 1 close to curve 2. - Proportion of curve 2 close to curve 1. - Maximal jump of curve 1. - Maximal jump of curve 2. - Ratio of repetitions found in curve 1. Number 10: Ratio of repetitions found in curve 2. Furthermore, words "fnofx" and/or "fnofy" will appear if curve 2 represents the graph of a function of x (and/or y). Returns empty if one of the curves is degenerated. |
Example |
curvecomp_1=0,92,1,92,2,92,3,92
curvecomp_2=46,41,48,41,50,45
curvecomp_tolerance=40
curvecomp_xrange=11,208
curvecomp_yrange=0,220
curvecomp
|
cyclicode | |
Xiao Gang | |
Use | This program generates cyclic code from a polynomial defined over a prime field. It does not check whether the polynomial is primitive or irreducible. |
Input data |
Accepted parameter: 3 words Word 1: field characteristics, limited to 2,3,5,7 Word 2: The polynomial coefficients (except the leading one, from lower degree to higher). Word 3: The starting status (starting from the first bit). |
Output data | |
Example |
cyclicode 3 22 10
|
dicfind | |
Xiao Gang | |
Use | for adm modules |
Input data | |
Output data | |
Example |
dicsort | |
Xiao Gang | |
Use | Sort dictionary |
Input data | for adm modules |
Output data | |
Example |
huffman | |
Xiao Gang | |
Use | This program computes an optimal coding of variable lengths on a given distribution of probabilities, using Huffman algorithm. |
Input data |
Two environment variables wims_exec_parm is a comma-separated list of probability distributions Limited to MAX_ITEMS The input data will be scaled to unit sum w_huffman_radix is the encoding radix, between 2 and MAX_RADIX. |
Output data |
two lines Line 1: Entropy and Average code length, comma-separated Line 2: comma-separated list of codes. |
Example |
huffman_radix=4
huffman 0.16, 0.39, 0.55
|
lceb | |
Lucas Nussbaum, lucas@lucas-nussbaum.net | |
Use | jeu "le compte est bon" |
Input data | 7 integers |
Output data | How to obtain the first number from the six other ones by addition, multiplication, division, substraction |
Example |
lceb 598 6 8 2 5 10 12
|
matchmol | |
Norbert Haider, norbert.haider@univie.ac.at, modified by Ernst-Georg Schmid | |
Use | |
Input data | |
Output data | |
Example |
mathexp | |
Xiao Gang | |
Use | Mathematical expression manipulations for WIMS |
Input data | For the moment, use only in deductio |
Output data | |
Example |
moneyprint | |
J.M. Evers | |
Use | prints a number with fixed amount of decimal places |
Input data |
Usage:!exec moneyprint number1,number2,number3,....number_n decimal_places or !exec moneyprint number1,number2,number3;....number_n decimal_places \text{A=wims(exec moneyprint number1,number2,number3....number_n decimal_places)} default value "decimal_places = 2" A=!exec moneyprint 123,43.5,23.45665 A=123.00,43.50,23.47 A=!exec moneyprint 1.000,6.234;8.4567 A=1.00,6.23;8.46 or specified a last "word" A=!exec moneyprint 123,43.5,23.45665 3 A=123.000,43.500,23.457 |
Output data | |
Example |
msg2wims | |
Xiao Gang | |
Use | transforms a text in a file and save it in another file (administrative module). Transforms some commands of the form \ in wims equivalence. By default, the commands are \(\) (replace by !insmath) and translation in html of $, !, (to complete). More commands can be translated by the configuration of the variable msg2wims_primitives. Usage:!sh cd $wims_home; bin/msg2wims file_in > file_out |
Input data | name of a file |
Output data | modified text of the input file |
Example |
oncechar | |
Xiao Gang | |
Use | This special program selects words composed by selected characters, each selected character being used at most once in the word. Used in the shell script public_html/bin/dicfind |
Input data | Selected characters are entered by the env var 'oncechar'. Words entered by stdin. Output to stdout. |
Output data | |
Example |
scienceprint | |
J.M. Evers | |
Use | Prints a number in scientific notation. |
Input data |
Usage: !exec scienceprint number,significant_digits,output_type \text{A=wims(exec scienceprint number,significant_digits,output_type )} output_type can be
|
Output data | |
Example |
shortpath | |
Xiao Gang | |
Use | Finds the shortest paths linking given points |
Input data |
wims_exec_parm is ... . w_shortpath_style : 0: loop to the start 1: arbitrary open path 2: open path with fixed start 3: open path with fixed end 4: open path with fixed start and end |
Output data | |
Example |
shortpath_style=0
shortpath 1,3
5,1
3,4
1,1
3,1
4,5
|
translator | |
Xiao Gang | |
Use | Versatile translation according to a dictionary |
Input data | for adm modules |
Output data | |
Example |
voronoi | |
Steve J. Fortune | |
Use | compute Voronoi diagram or Delaunay triangulation. Voronoi reads the standard input for a set of points in the plane and writes either the Voronoi diagram or the Delaunay triangulation to the standard output. |
Input data | Each input line should consist of two real numbers, separated by white space. |
Output data |
If option -t is present, the Delaunay triangulation is produced. Each output line is a triple i j k which are the indices of the three points in a Delaunay triangle. Points are numbered starting at 0. If this option is not present, the Voronoi diagram is produced. There are four output record types. s a b indicates that an input point at coordinates l a b c indicates a line with equation ax + by = c. v a b indicates a vertex at a b. e l v1 v2 indicates a Voronoi segment which is a subsegment of line number l; with endpoints numbered v1 and v2. If v1 or v2 is -1, the line extends to infinity. |
Example |
voronoi -t 5 7
2 8
7 6
3 5
1 2
8 1
4 3
6 4
|
log/front.phtml.template | replace template by the symbol of a language xx | read this page instead of public_html/modules/home/front.phtml.xx so it changes the home page of WIMS for lang=xx |
log/motd.phtml.template | replace template by the symbol of a language xx | General message in the front page of WIMS for lang=xx |
log/manager_msg.phtml.template | replace template by the symbol of a language for xx | message in all classes seen only by class supervisors for lang=xx |
log/wims.conf.access.template | delete .template | limits the access to some ressources for the whole site see public_html/scripts/help/xx/accessconf.phtml for example |
themes/*/local.template | replace template by the symbol of a language xx | can modify the menu in home for lang=xx |
# To add a theme: 1. Decide on the name of the theme. If the theme is not intended for publication, please put it under the subdirectory "local": `local/1`, `local/YourName`, etc. Say the name is `local/1`. 2. Copy the content of `public_html/themes/standard` to `public_html/themes/local/1`, and modify. - un fichier css global est créé par le script mkcss.pl dans themes. Ce script concatene et minimise les fichiers css dont la liste est dans le fichier `css.css.template` (respecter la syntaxe ...). Vous pouvez ainsi utiliser des fichiers css communs dans `themes/_css` des fichiers d'autres thèmes (à manier avec précaution) ou dans le répertoire `local/1/_css` de votre thème. - Si vous désirez garder certains fichiers sans changement, il est conseillé de faire plutôt un changement de fichiers. Par exemple, si vous désirez conserver sans modification le fichier supervisor.phtml créez-le en écrivant simplement par exemple `!changeto themes/standard/supervisor.phtml` - Le fichier `local.phtml.template` une fois changé en `local_phtml.fr` permet d'inclure des modules administratifs locaux dans les menus - vous pouvez changer le "vocabulaire" dans la version de langue xx (par exemple xx=fr) de la manière suivante : créez un répertoire lang. Si vous désirez changer la définition des noms définis dans html, faites-le dans un fichier `lang/home_names.xx`. Si les définitions sont faites dans un module administratif, par exemple dans `modules/adm/class/exam/lang/names.phtml.xx`, faites-le dans un fichier de nom `adm_class_exam_lang_names.phtml.xx` - il est possible d'utiliser les "widgets" du répertoire `themes/_widgets` widget front.phtml: `!read themes/_widgets/frontmsg.phtml local/data/news.fr blocnews blocexamples` argument: `nom_du_module` `nom_du_bloc_news` `nom_du_bloc_exemple` (le module doit être dans `local/data`) css nécessaires (à rajouter dans `css.css.template`) `_css/news.css _css/foundation_button.css _css/foundation_animation.css` À faire : - nettoyer un peu plus les fichiers pour n'avoir qu'une succession de widgets. - bientôt un appel du type `!read themes/_widgets/visitormenubox.phtml` lira s'il existe `themes/local/1/_widgets/visitormenubox.phtml` dans `themes/local/1/_widgets` et sinon dans `themes/_widgets`. * wims_homeref_n0 = renouveler, aide, wims_menu_items (liens venant des modules) * wims_homeref_n1 : lien sur feuille, séquence, aide, about, resume, divers ! print * wims_homeref_n2 : * wims_homeref_n3 : était prévu pour des tabs, ne contient rien à supprimer * wims_homeref_n4 : contrôle des scores par l'élève * wims_homeref_n5 contient pour l'instant uniquement l'aide feedback des exos * wims_hm : lien du menu supérieur (headmenu)
# Model for an slib The first part (before :proc) is for the documentation. You can also put the documentation part (everything except slib_author) in multiple files, one per lang in scripts/help/lang/slib/... if you want it to be translated. ############## !if $wims_read_parm!=slib_header !goto proc !endif slib_author=Firstname, Lastname slib_parms=3\ default, explanation\ default, explanation\ default, explanation slib_example=example1\ example2 slib_require= slib_out= result of the slib slib_comment= more explanation !exit :proc proc !distribute items $wims_read_parm into slib_xx, slib_yy, slib_zz, and so on ... calculation slib_out= ############## The result must be in the variable slib_out. Please prefix all the variables names by slib_.
Please take note that WIMS pages are interactively generated; they are not ordinary HTML files. They must be used interactively ONLINE. It is useless for you to gather them through a robot program.