<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.formulasearchengine.com/w/index.php?action=history&amp;feed=atom&amp;title=Foundations_of_statistics</id>
	<title>Foundations of statistics - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://en.formulasearchengine.com/w/index.php?action=history&amp;feed=atom&amp;title=Foundations_of_statistics"/>
	<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/w/index.php?title=Foundations_of_statistics&amp;action=history"/>
	<updated>2026-08-10T06:47:39Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.47.0-wmf.7</generator>
	<entry>
		<id>https://en.formulasearchengine.com/w/index.php?title=Foundations_of_statistics&amp;diff=21606&amp;oldid=prev</id>
		<title>109.45.25.97: spelling</title>
		<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/w/index.php?title=Foundations_of_statistics&amp;diff=21606&amp;oldid=prev"/>
		<updated>2014-01-12T17:00:59Z</updated>

		<summary type="html">&lt;p&gt;spelling&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Unreferenced|date=February 2011}}&lt;br /&gt;
{{Infobox software&lt;br /&gt;
|name                       = CaRMetal&lt;br /&gt;
|logo                       = [[Image:CaRMetal.png|48px]]&lt;br /&gt;
|screenshot                 = [[Image:CaRMetal-Conics.jpg|200px]]&lt;br /&gt;
|caption                    = Two conic sections using &amp;#039;&amp;#039;&amp;#039;CaRMetal&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|collapsible                =&lt;br /&gt;
|author                     = Eric Hakenholz&lt;br /&gt;
|developer                  = Eric Hakenholz, Pierre-Marc Mazat, Alain Busser&lt;br /&gt;
|released                   = {{Start date|2006|10|28}}&lt;br /&gt;
|latest release version     = 3.8.2&lt;br /&gt;
|latest release date        = {{Start date and age|2013|06|14}}&lt;br /&gt;
|latest preview version     =&lt;br /&gt;
|latest preview date        = &amp;lt;!-- {{Start date and age|YYYY|MM|DD}} --&amp;gt;&lt;br /&gt;
|frequently updated         =&lt;br /&gt;
|programming language       =&lt;br /&gt;
|operating system           =&lt;br /&gt;
|platform                   = Java&lt;br /&gt;
|size                       =&lt;br /&gt;
|language                   =&lt;br /&gt;
|status                     = Active&lt;br /&gt;
|genre                      = [[Interactive geometry software]]&lt;br /&gt;
|license                    = [[GPL]]&lt;br /&gt;
|website                    = [http://db-maths.nuxit.net/CaRMetal/index_en.html db-maths.nuxit.net/CaRMetal]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CaRMetal&amp;#039;&amp;#039;&amp;#039; is an [[List of interactive geometry software|interactive geometry]] program which inherited the [[C.a.R.]] engine. The software has been created by Eric Hakenholz, in [[Java (programming language)|Java]]. CaRMetal is free, under [[GNU GPL]] license. It keeps an amount of functionality of C.a.R. but uses a different graphical interface which purportedly eliminates some intermediate dialogs and provides direct access to numerous effects. Constructions are done using a main palette, which contains some useful construction shortcuts in addition to the standard compass and ruler tools. These include perpendicular bisector, circle through three points, circumcircular arc through three points, and conic section through five points. Also interesting are the loci, functions, parametric curves, and implicit plots. Element thickness, color, label, and other attributes (including the so-called [[magnetic]] property) can be set using a separate panel.&lt;br /&gt;
&lt;br /&gt;
CaRMetal also supports a configurable restricted construction palette and has assignment capabilities, which use an apparently unique feature called &amp;#039;&amp;#039;Monkey&amp;#039;&amp;#039;. CaRMetal has a scripting language ([[JavaScript]]) which allows the user to build rather complex figures like [[fractal]]s. CaRMetal has several locales including French, English, Spanish, German, Italian, Dutch, Portuguese and Arabic.&lt;br /&gt;
&lt;br /&gt;
==Didactic interest==&lt;br /&gt;
&lt;br /&gt;
===Anticipation===&lt;br /&gt;
&lt;br /&gt;
[[File:CIRMParallL.png|thumb|264px|When one is constructing a [[parallel (geometry)|parallel]] line, it follows the mouse, which makes it easy to emit [[conjecture]]s even while the figure is still under construction.]]&lt;br /&gt;
&lt;br /&gt;
When one chooses a tool like the parallel to a line through a point, or a circle, the intended object appears in yellow color and follows the mouse movements. This allows the user to make conjectures even before the construction is finished. This constant interaction between the pupil and the object of experimentation is in phase with modern theories about [[didactics]] and, in this view, CaRMetal is intended to be used by [[student]]s.&lt;br /&gt;
&lt;br /&gt;
===Amodality===&lt;br /&gt;
&lt;br /&gt;
The windows which show the history, the tools palette, the properties of the selected object are around the figure and never above it. These windows are not [[modal window]]s in the sense that they never hide the construction. For example, whenever the user wants to change the color of a polygon, he sees the new color immediately.&lt;br /&gt;
&lt;br /&gt;
===Transformations===&lt;br /&gt;
&lt;br /&gt;
When a transformation (for example a [[macro (computer science)|macro]]) has been defined, such that it transforms points into points, this transformation can also be applied to curves. Once again, this allows the learning subject to see the properties of the transformation at a glance, even before the transformation has actually been applied.&lt;br /&gt;
&lt;br /&gt;
===Assignments===&lt;br /&gt;
&lt;br /&gt;
[[File:monkeybtn off.png|the Monkey button]]&lt;br /&gt;
The workbooks (see below) can be exported as [[html]] files, with a restricted tools palette (for example, leaving only the intersection and circle tools lets the pupil make compass-only construction). To create an assignment, the teacher chooses the initial objects, the objects to be created by the pupil, and writes a text explaining what is to be done. Since 2010, when the pupil has finished the construction and wants to test it, random variations are tested (with a tool called &amp;#039;&amp;#039;Monkey&amp;#039;&amp;#039;) and a quality note is attributed to the pupil (actually, a percentage of the good constructions amongst the variations).&lt;br /&gt;
&lt;br /&gt;
===Macros===&lt;br /&gt;
&lt;br /&gt;
The macros can be organized in a hierarchy of folders, which make it easy to transform CaRMetal into a tool allowing to explore non-euclidian geometries.&lt;br /&gt;
&lt;br /&gt;
==Special features==&lt;br /&gt;
&lt;br /&gt;
===workbooks===&lt;br /&gt;
&lt;br /&gt;
Since 2010, CaRMetal uses a folder system allowing one to put several figures in one folder, called &amp;quot;workbook&amp;quot;. It is easy to navigate between the sheets of a workbook, to duplicate a sheet (or figure), to merge several workbooks into one. CaRMetal allows one to include picture files and JavaScript files into a figure. The file extension of a figure is &amp;#039;&amp;#039;zir&amp;#039;&amp;#039; like in [[C.a.R.]] (by the way, there is much compatibility between both software) and the file structure is a meta-description of the figure in the [[XML]] language. But a workbook is saved as a zipped folder containing all the &amp;#039;&amp;#039;zir&amp;#039;&amp;#039; figures, plus the included pictures ([[GIF]], [[JPEG]] or [[Portable Network Graphics|PNG]]) and a &amp;#039;&amp;#039;preferences&amp;#039;&amp;#039; file.&lt;br /&gt;
&lt;br /&gt;
===numeric display===&lt;br /&gt;
&lt;br /&gt;
[[File:MatriceDynamique.png|thumb|338px|An example of a [[matrix (mathematics)|matrix]] which can be changed in [[Real-time computing|real time]] with the extremities of the [[vector graphics|vectors]], and displayed with [[LaTeX]].]]&lt;br /&gt;
It is possible to convert any numerical measure of the figure into text, for display purposes. For example, if a segment called &amp;#039;s1&amp;#039; is 4.5 unit long, writing&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;quot;The length of the segment is %s1%&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
creates a character string which displays as &amp;#039;&amp;#039;The length of the segment is 4.5&amp;#039;&amp;#039;. This character string can be included into the figure but also set as the &amp;#039;&amp;#039;alias&amp;#039;&amp;#039; of an object (for example &amp;#039;&amp;#039;s1&amp;#039;&amp;#039;) or the name of an expression. Of course when one of the extremities of the segment is moved with the mouse, the text is edited in real time. This is called a dynamic text.&lt;br /&gt;
&lt;br /&gt;
CaRMetal uses &amp;#039;&amp;#039;HotEqn&amp;#039;&amp;#039; and &amp;#039;&amp;#039;JLatexMath&amp;#039;&amp;#039; which are [[LaTeX]] parsers, and it is possible to write LaTeX formulae inside text objects. For example, if &amp;#039;&amp;#039;poly1&amp;#039;&amp;#039; is a square, and one wishes to find a circle which area is the same as the square&amp;#039;s one, one can build a text expression like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;quot;The radius of the circle would be $\sqrt{\frac{%poly1%}{\pi}}\simeq %sqrt(poly1/pi)%$&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This can give a text such as this: &amp;lt;math&amp;gt;\mbox{The radius of the circle would be }\sqrt{\frac{4}{\pi}}\simeq 1.13&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The strength of this feature comes from the fact that it is possible to mix up dynamic texts with LaTeX formulae, getting &amp;#039;&amp;#039;dynamic LaTeX&amp;#039;&amp;#039;(when the size of the square changes, the display changes too)!&lt;br /&gt;
&lt;br /&gt;
===2.5D===&lt;br /&gt;
&lt;br /&gt;
[[File:CMdodec.png|thumb|419px|a dodecahedron can be turned with the mouse]]&lt;br /&gt;
CaRMetal allows the user to set some properties of the objects, like their color or the fact that they are visible or not, as [[conditional (programming)|conditional]]. Also each object can have a layer number. An important application of these features is the &amp;#039;&amp;#039;3D&amp;#039;&amp;#039; mode of CaRMetal, which comes up with a [[regular tetrahedron]], a [[cube]], a [[diamond]] and a [[regular dodecahedron]]. It is also possible to bind a point to the inside of a circle or polygon. This feature, inherited from [[C.a.R.]], is based on [[barycentric coordinates (mathematics)|barycentric coordinates]]. One can speak about &amp;#039;&amp;#039;2.5D&amp;#039;&amp;#039; because CaRMetal is not quite a 3D software, but more than just a 2D software either.&lt;br /&gt;
&lt;br /&gt;
===Magnetism===&lt;br /&gt;
&lt;br /&gt;
A point can be made [[magnetic]] with a distance and a list of objects it is attracted to whenever the point is sufficiently near one or several of these objects (sufficiently near means that the distance between them is less than the minimal distance which is a property of the point, and is measured in [[pixel]] units). For example, when a point is attracted to a finite set of points, which themselves are fixed, it can explore a [[finite geometry]].&lt;br /&gt;
&lt;br /&gt;
===Network===&lt;br /&gt;
&lt;br /&gt;
Since 2013 there is the possibility to run one CaRMetal figure as server (typically, the teacher&amp;#039;s one) and several as clients. Therefore, it is possible&lt;br /&gt;
&lt;br /&gt;
* to send one&amp;#039;s figure to the server&lt;br /&gt;
* for the server, to send a correct figure to a student who lost his, or cannot create it in the requested times&lt;br /&gt;
* to collect data, geometrical or not, within one single figure (the server&amp;#039;s one)&lt;br /&gt;
* to manipulate the same figure at the same time, for several people who &amp;#039;&amp;#039;share&amp;#039;&amp;#039; their work&lt;br /&gt;
* to send and receive JavaScript programs (see below)&lt;br /&gt;
* to chat within a shared figure...&lt;br /&gt;
&lt;br /&gt;
==JavaScript inside CaRMetal==&lt;br /&gt;
&lt;br /&gt;
The script tool mixes up [[algorithmic]]s and [[geometry]]. Such scripting tools exist also in [[DrGeo]], [[Kig (software)|Kig]] and [[Cinderella (software)]]. To run a script, one clicks over the icon representing a [[traffic light]]. A script can be attached to one or several points, so that any movement of one of these points runs the script. This allows some kind of [[inverse kinematics]] much like with [[GeoLicia]].&lt;br /&gt;
&lt;br /&gt;
===Variables===&lt;br /&gt;
&lt;br /&gt;
To create a geometric object in [[JavaScript]] it suffices to click on an icon representing the object. The JavaScript instruction appears in the editor, with predefined parameters. The user has then only to edit these, and does not have to use [[mnemotechnics]]. But when a geometric object is created, the variable which called the routine is really a [[character string]], containing the name of the object.&lt;br /&gt;
&lt;br /&gt;
For example,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
a=Point(2,3);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
creates a point, usually called &amp;#039;&amp;#039;P1&amp;#039;&amp;#039; and the variable &amp;#039;&amp;#039;a&amp;#039;&amp;#039; contains the string &amp;quot;P1&amp;quot;. This allows to refer to the point by its name. The coordinates of the point are initialized but the point can still move with the use of the mouse. It is also possible to create a point in [[procedural programming]] with&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
Point(&amp;quot;A&amp;quot;,2,3);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case, the name of the point is &amp;quot;A&amp;quot; (unless there be already an object called &amp;quot;A&amp;quot;), and no variable is set to the name &amp;quot;A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Input-Output===&lt;br /&gt;
&lt;br /&gt;
To output a variable, there are four ways:&lt;br /&gt;
# Create an expression inside the figure (or display with a graphic mean such as an histogram);&lt;br /&gt;
# &amp;#039;&amp;#039;Print&amp;#039;&amp;#039; which opens a new window and prints the content of the variable in it;&lt;br /&gt;
# &amp;#039;&amp;#039;Println&amp;#039;&amp;#039; which also goes to the line;&lt;br /&gt;
# &amp;#039;&amp;#039;Alert&amp;#039;&amp;#039; which opens an alert window, which closes as soon as the user clicked on &amp;#039;&amp;#039;OK&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
To input a variable, there is&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;Input&amp;#039;&amp;#039; (you bet!) which opens an input window (with a text) and waits for the click on &amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&lt;br /&gt;
# &amp;#039;&amp;#039;InteractiveInput&amp;#039;&amp;#039; which lets the user choose an object in the figure&lt;br /&gt;
&lt;br /&gt;
This [[paradigm]] considers the variables of the program not necessarily as numeric or string variables but can act on graphic objects too. This is a common feature with [[Kig (software)|Kig]] (but in this case, the language is [[Python (language)]]) and [[DrGeo]] (in this case, with [[Scheme (language)]]).&lt;br /&gt;
&lt;br /&gt;
===Strings===&lt;br /&gt;
&lt;br /&gt;
It is also possible to set the coordinates of a point as [[character string]]s written in the language of CaRMetal. For example, to have a point &amp;#039;&amp;#039;B&amp;#039;&amp;#039; which follows &amp;#039;&amp;#039;A&amp;#039;&amp;#039; except that B&amp;#039;s coordinates are integer (to model a [[gaussian integer]]) one can write&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
a=Point(&amp;quot;2.72&amp;quot;,&amp;quot;3.14&amp;quot;);&lt;br /&gt;
b=Point(&amp;quot;round(x_a)&amp;quot;,&amp;quot;round(y_a)&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Loops===&lt;br /&gt;
&lt;br /&gt;
As an example, the [[Sierpinski triangle]] can be built up as an [[iterated function system]] with this recursive script, which is rather short because of the already available graphic instructions such as &amp;#039;&amp;#039;MidPoint&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
a=Point(-4,-2);&lt;br /&gt;
b=Point(4,-2);&lt;br /&gt;
c=Point(0,4);&lt;br /&gt;
m=Point(Math.random(),Math.random());&lt;br /&gt;
SetHide(m,true);&lt;br /&gt;
for(n=0;n&amp;lt;2000;n++){&lt;br /&gt;
	dice=Math.ceil(Math.random()*3);          //A 3-faces dice!&lt;br /&gt;
	switch(dice){&lt;br /&gt;
		case 1: {p=MidPoint(a,m); break;&lt;br /&gt;
		}&lt;br /&gt;
		case 2: {p=MidPoint(b,m); break;&lt;br /&gt;
		}&lt;br /&gt;
		case 3: {p=MidPoint(c,m); break;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	SetPointType(p,&amp;quot;point&amp;quot;);&lt;br /&gt;
	m=p;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After the cloud of points has been built up (and even while the script is still running!) one can make &amp;#039;&amp;#039;A&amp;#039;&amp;#039;, &amp;#039;&amp;#039;B&amp;#039;&amp;#039; and &amp;#039;&amp;#039;C&amp;#039;&amp;#039; move with the mouse (or automatically with the &amp;#039;&amp;#039;Monkey&amp;#039;&amp;#039;): The triangle is &amp;#039;&amp;#039;dynamic&amp;#039;&amp;#039;!&lt;br /&gt;
&lt;br /&gt;
===JavaScript objects===&lt;br /&gt;
&lt;br /&gt;
CaRMetal can also use the JavaScript objects like&lt;br /&gt;
&lt;br /&gt;
# arrays, useful to make [[statistics]] on geometric figures;&lt;br /&gt;
# date object, useful to measure time;&lt;br /&gt;
# String and [[RegExp]] objects, which make it easy to implement [[L-system]]s;&lt;br /&gt;
# General JavaScript objects can be used to create new geometric objects like [[complex numbers]], [[matrix (mathematics)|matrices]] etc. This [[object-oriented programming]] works much like [[Kig (software)|Kig]]&amp;#039;s [[Python (programming language)|Python]] scripts, but as of today no one seems to have publish anything using that.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[C.a.R.]]&lt;br /&gt;
* [[Compass and straightedge construction]]&lt;br /&gt;
* [[Interactive geometry software]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
* Vers des spécifications formelles : Fondements Mathématiques et Informatiques pour la Géométrie Dynamique, Bernard Genevès (PhD) [http://tel.archives-ouvertes.fr/docs/00/35/40/48/PDF/these_BG.pdf &amp;#039;&amp;#039;PDF&amp;#039;&amp;#039;]&lt;br /&gt;
*Busser Alain. TP sous JavaScript avec CaRMetal. Bulletin de l’APMEP, 487 (2010), p.&amp;amp;nbsp;191-199.&lt;br /&gt;
*Busser Alain. Un an d’algorithmique avec CaRMetal en Seconde. MathémaTICE, 21 (2010) (online article: [http://revue.sesamath.net/spip.php?article292])&lt;br /&gt;
*Martin Yves. Algorithmique et intégration des outils. Repères IREM, 79 (2010), p.&amp;amp;nbsp;5-22.&lt;br /&gt;
*Martin Yves. Géométrie repérée dynamique : une autre voie vers l’algébrisation ? MathémaTICE, 20 (2010) (available online: [http://revue.sesamath.net/spip.php?article287])&lt;br /&gt;
*Martin Yves. Quand la géométrie dynamique rencontre la programmation. In Actes du colloque « Les mathématiciens et l’enseignement de leur discipline en France » (CIRM, Marseille/Luminy, 15-19 mars 2010) (video online: [http://www.univ-irem.fr/spip2/spip.php?article7])&lt;br /&gt;
*Martin Yves. CaRMetal, une géométrie dynamique enrichie. Expressions, 35 (2010), p.&amp;amp;nbsp;165-272 [http://www.reunion.iufm.fr/Recherche/Expressions/35/Martin.pdf &amp;#039;&amp;#039;PDF&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://db-maths.nuxit.net/CaRMetal/index_en.html CaRMetal website]&lt;br /&gt;
* [http://www.youtube.com/watch?v=JsKJKOYwpa0 videos showing a truncated icosahedron&amp;#039;s net, unfolded and dynamically constructed with JavaScript under CaRMetal]&lt;br /&gt;
&lt;br /&gt;
[[Category:Free interactive geometry software]]&lt;br /&gt;
[[Category:Free educational software]]&lt;/div&gt;</summary>
		<author><name>109.45.25.97</name></author>
	</entry>
</feed>