<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://jsxgraph.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=WikiSysop</id>
	<title>JSXGraph Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://jsxgraph.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=WikiSysop"/>
	<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Special:Contributions/WikiSysop"/>
	<updated>2026-04-06T13:13:03Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=702</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=702"/>
		<updated>2008-12-17T11:08:59Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again. Dependend elements are updated automatically.&lt;br /&gt;
&amp;lt;math&amp;gt;\int{x} dx&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[0,0], [1,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,0], [0,1]], {});&lt;br /&gt;
		&lt;br /&gt;
	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
	graph = board.createElement(&#039;curve&#039;, [&amp;quot;x&amp;quot;, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10],{curveType:&#039;plot&#039;});						&lt;br /&gt;
	//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [&#039;x&#039;, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;,{curveType:&#039;plot&#039;});&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [0,0,graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.Y = function(x){ return f(x); };&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
// Axes&lt;br /&gt;
b1axisx = board.createElement(&#039;axis&#039;, [[0,0], [1,0]], {});&lt;br /&gt;
b1axisy = board.createElement(&#039;axis&#039;, [[0,0], [0,1]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
graph = board.createElement(&#039;curve&#039;, [&amp;quot;x&amp;quot;, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10],{curveType:&#039;plot&#039;});						&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//glider on the curve&lt;br /&gt;
p1 = board.createElement(&#039;glider&#039;, [0,0,graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
//define the derivative of f&lt;br /&gt;
g = board.algebra.D(f);&lt;br /&gt;
//a point on the tangent&lt;br /&gt;
//                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
//the tangent &lt;br /&gt;
l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
//a third point fpr the slope triangle&lt;br /&gt;
p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
//the slope triangle&lt;br /&gt;
pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
//a text for displaying slope&#039;s value&lt;br /&gt;
//                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{color:ff0000}); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
function doIt(){&lt;br /&gt;
  //redefine function f according to the current text field value&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
  //change the Y attribute of the graph to the new function &lt;br /&gt;
  graph.Y = function(x){ return f(x); };&lt;br /&gt;
  //update the graph&lt;br /&gt;
  graph.updateCurve();&lt;br /&gt;
  //update the whole board&lt;br /&gt;
  board.update();&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by anonymous functions of JavaScript.&lt;br /&gt;
[[Category:Examples]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=701</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=701"/>
		<updated>2008-12-17T11:08:44Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again. Dependend elements are updated automatically.&lt;br /&gt;
&amp;lt;math&amp;gt;\intx dx&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[0,0], [1,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,0], [0,1]], {});&lt;br /&gt;
		&lt;br /&gt;
	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
	graph = board.createElement(&#039;curve&#039;, [&amp;quot;x&amp;quot;, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10],{curveType:&#039;plot&#039;});						&lt;br /&gt;
	//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [&#039;x&#039;, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;,{curveType:&#039;plot&#039;});&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [0,0,graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.Y = function(x){ return f(x); };&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
// Axes&lt;br /&gt;
b1axisx = board.createElement(&#039;axis&#039;, [[0,0], [1,0]], {});&lt;br /&gt;
b1axisy = board.createElement(&#039;axis&#039;, [[0,0], [0,1]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
graph = board.createElement(&#039;curve&#039;, [&amp;quot;x&amp;quot;, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10],{curveType:&#039;plot&#039;});						&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//glider on the curve&lt;br /&gt;
p1 = board.createElement(&#039;glider&#039;, [0,0,graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
//define the derivative of f&lt;br /&gt;
g = board.algebra.D(f);&lt;br /&gt;
//a point on the tangent&lt;br /&gt;
//                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
//the tangent &lt;br /&gt;
l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
//a third point fpr the slope triangle&lt;br /&gt;
p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
//the slope triangle&lt;br /&gt;
pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
//a text for displaying slope&#039;s value&lt;br /&gt;
//                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{color:ff0000}); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
function doIt(){&lt;br /&gt;
  //redefine function f according to the current text field value&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
  //change the Y attribute of the graph to the new function &lt;br /&gt;
  graph.Y = function(x){ return f(x); };&lt;br /&gt;
  //update the graph&lt;br /&gt;
  graph.updateCurve();&lt;br /&gt;
  //update the whole board&lt;br /&gt;
  board.update();&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by anonymous functions of JavaScript.&lt;br /&gt;
[[Category:Examples]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=699</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=699"/>
		<updated>2008-12-17T11:07:36Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again. Dependend elements are updated automatically.&lt;br /&gt;
&amp;lt;math&amp;gt;3x+x&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[0,0], [1,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,0], [0,1]], {});&lt;br /&gt;
		&lt;br /&gt;
	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
	graph = board.createElement(&#039;curve&#039;, [&amp;quot;x&amp;quot;, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10],{curveType:&#039;plot&#039;});						&lt;br /&gt;
	//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [&#039;x&#039;, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;,{curveType:&#039;plot&#039;});&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [0,0,graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.Y = function(x){ return f(x); };&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
// Axes&lt;br /&gt;
b1axisx = board.createElement(&#039;axis&#039;, [[0,0], [1,0]], {});&lt;br /&gt;
b1axisy = board.createElement(&#039;axis&#039;, [[0,0], [0,1]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
graph = board.createElement(&#039;curve&#039;, [&amp;quot;x&amp;quot;, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10],{curveType:&#039;plot&#039;});						&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//glider on the curve&lt;br /&gt;
p1 = board.createElement(&#039;glider&#039;, [0,0,graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
//define the derivative of f&lt;br /&gt;
g = board.algebra.D(f);&lt;br /&gt;
//a point on the tangent&lt;br /&gt;
//                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
//the tangent &lt;br /&gt;
l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
//a third point fpr the slope triangle&lt;br /&gt;
p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
//the slope triangle&lt;br /&gt;
pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
//a text for displaying slope&#039;s value&lt;br /&gt;
//                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{color:ff0000}); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
function doIt(){&lt;br /&gt;
  //redefine function f according to the current text field value&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
  //change the Y attribute of the graph to the new function &lt;br /&gt;
  graph.Y = function(x){ return f(x); };&lt;br /&gt;
  //update the graph&lt;br /&gt;
  graph.updateCurve();&lt;br /&gt;
  //update the whole board&lt;br /&gt;
  board.update();&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by anonymous functions of JavaScript.&lt;br /&gt;
[[Category:Examples]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=697</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=697"/>
		<updated>2008-12-17T11:06:00Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again. Dependend elements are updated automatically.&lt;br /&gt;
&amp;lt;math&amp;gt;3x+x&amp;gt;/math&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[0,0], [1,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,0], [0,1]], {});&lt;br /&gt;
		&lt;br /&gt;
	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
	graph = board.createElement(&#039;curve&#039;, [&amp;quot;x&amp;quot;, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10],{curveType:&#039;plot&#039;});						&lt;br /&gt;
	//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [&#039;x&#039;, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;,{curveType:&#039;plot&#039;});&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [0,0,graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.Y = function(x){ return f(x); };&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
// Axes&lt;br /&gt;
b1axisx = board.createElement(&#039;axis&#039;, [[0,0], [1,0]], {});&lt;br /&gt;
b1axisy = board.createElement(&#039;axis&#039;, [[0,0], [0,1]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
graph = board.createElement(&#039;curve&#039;, [&amp;quot;x&amp;quot;, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10],{curveType:&#039;plot&#039;});						&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//glider on the curve&lt;br /&gt;
p1 = board.createElement(&#039;glider&#039;, [0,0,graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
//define the derivative of f&lt;br /&gt;
g = board.algebra.D(f);&lt;br /&gt;
//a point on the tangent&lt;br /&gt;
//                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
//the tangent &lt;br /&gt;
l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
//a third point fpr the slope triangle&lt;br /&gt;
p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
//the slope triangle&lt;br /&gt;
pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
//a text for displaying slope&#039;s value&lt;br /&gt;
//                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{color:ff0000}); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
function doIt(){&lt;br /&gt;
  //redefine function f according to the current text field value&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
  //change the Y attribute of the graph to the new function &lt;br /&gt;
  graph.Y = function(x){ return f(x); };&lt;br /&gt;
  //update the graph&lt;br /&gt;
  graph.updateCurve();&lt;br /&gt;
  //update the whole board&lt;br /&gt;
  board.update();&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by anonymous functions of JavaScript.&lt;br /&gt;
[[Category:Examples]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=294</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=294"/>
		<updated>2008-11-14T08:52:14Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: Undo revision 275 by 94.102.60.77 (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again. Dependend elements are updated automatically.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
	graph = board.createElement(&#039;curve&#039;, [&amp;quot;x&amp;quot;, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10],{curveType:&#039;plot&#039;});						&lt;br /&gt;
	//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [&#039;x&#039;, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;,{curveType:&#039;plot&#039;});&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [0,0,graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.Y = function(x){ return f(x); };&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
// Axes&lt;br /&gt;
b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
graph = board.createElement(&#039;curve&#039;, [&amp;quot;x&amp;quot;, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10],{curveType:&#039;plot&#039;});						&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//glider on the curve&lt;br /&gt;
p1 = board.createElement(&#039;glider&#039;, [0,0,graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
//define the derivative of f&lt;br /&gt;
g = board.algebra.D(f);&lt;br /&gt;
//a point on the tangent&lt;br /&gt;
//                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
//the tangent &lt;br /&gt;
l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
//a third point fpr the slope triangle&lt;br /&gt;
p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
//the slope triangle&lt;br /&gt;
pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
//a text for displaying slope&#039;s value&lt;br /&gt;
//                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{color:ff0000}); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
function doIt(){&lt;br /&gt;
  //redefine function f according to the current text field value&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
  //change the Y attribute of the graph to the new function &lt;br /&gt;
  graph.Y = function(x){ return f(x); };&lt;br /&gt;
  //update the graph&lt;br /&gt;
  graph.updateCurve();&lt;br /&gt;
  //update the whole board&lt;br /&gt;
  board.update();&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by anonymous functions of JavaScript.&lt;br /&gt;
[[Category:Examples]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=File:Layermodel.png&amp;diff=91</id>
		<title>File:Layermodel.png</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=File:Layermodel.png&amp;diff=91"/>
		<updated>2008-09-16T19:56:46Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: Layer model of JSXGraph and dependend applications&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Layer model of JSXGraph and dependend applications&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=87</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=87"/>
		<updated>2008-09-16T08:18:26Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** portal-url|portal&lt;br /&gt;
** currentevents-url|currentevents&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help&lt;br /&gt;
** :Category:Examples|Examples&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=86</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=86"/>
		<updated>2008-09-16T08:18:05Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** portal-url|portal&lt;br /&gt;
** currentevents-url|currentevents&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help&lt;br /&gt;
** ex|[[:Category:Examples]]&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=85</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=85"/>
		<updated>2008-09-16T08:17:19Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** portal-url|portal&lt;br /&gt;
** currentevents-url|currentevents&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help&lt;br /&gt;
** [[:Category:Examples]]|Examples&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=84</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=84"/>
		<updated>2008-09-16T08:14:43Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** portal-url|portal&lt;br /&gt;
** currentevents-url|currentevents&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help&lt;br /&gt;
** Examples|Examples&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Category:Examples&amp;diff=83</id>
		<title>Category:Examples</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Category:Examples&amp;diff=83"/>
		<updated>2008-09-16T08:12:00Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: New page: Currently these documented examples are available&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Currently these documented examples are available&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=82</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=82"/>
		<updated>2008-09-16T08:07:37Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** portal-url|portal&lt;br /&gt;
** currentevents-url|currentevents&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help&lt;br /&gt;
** examples|Examples&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=81</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=81"/>
		<updated>2008-09-16T08:07:10Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** portal-url|portal&lt;br /&gt;
** currentevents-url|currentevents&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help&lt;br /&gt;
** examples&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=80</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=80"/>
		<updated>2008-09-16T08:06:55Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** portal-url|portal&lt;br /&gt;
** currentevents-url|currentevents&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help&lt;br /&gt;
* EXAMPLES&lt;br /&gt;
** latest examples&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=79</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=79"/>
		<updated>2008-09-16T08:06:09Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** portal-url|portal&lt;br /&gt;
** currentevents-url|currentevents&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help&lt;br /&gt;
* examples&lt;br /&gt;
** latest examples&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=63</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=63"/>
		<updated>2008-09-15T14:39:28Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** portal-url|portal&lt;br /&gt;
** currentevents-url|currentevents&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=62</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=62"/>
		<updated>2008-09-15T14:39:13Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** portal-url|portal&lt;br /&gt;
** currentevents-url|currentevents&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help&lt;br /&gt;
** [:Examples]|Examples&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=55</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=55"/>
		<updated>2008-09-15T14:31:54Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.Y = function(x){ return f(x); };&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
// Axes&lt;br /&gt;
b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//glider on the curve&lt;br /&gt;
p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
//define the derivative of f&lt;br /&gt;
g = board.algebra.D(f);&lt;br /&gt;
//a point on the tangent&lt;br /&gt;
//                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
//the tangent &lt;br /&gt;
l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
//a third point fpr the slope triangle&lt;br /&gt;
p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
//the slope triangle&lt;br /&gt;
pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
//a text for displaying slope&#039;s value&lt;br /&gt;
//                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{color:ff0000}); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
function doIt(){&lt;br /&gt;
  //redefine function f according to the current text field value&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
  //change the Y attribute of the graph to the new function &lt;br /&gt;
  graph.Y = function(x){ return f(x); };&lt;br /&gt;
  //update the graph&lt;br /&gt;
  graph.updateCurve();&lt;br /&gt;
  //update the whole board&lt;br /&gt;
  board.update();&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by aononymous functions of JavaScript.&lt;br /&gt;
[[Category:Examples]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=51</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=51"/>
		<updated>2008-09-15T14:27:37Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** portal-url|portal&lt;br /&gt;
** currentevents-url|currentevents&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help&lt;br /&gt;
** Examples|Examples&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=50</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=50"/>
		<updated>2008-09-15T14:27:20Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** portal-url|portal&lt;br /&gt;
** currentevents-url|currentevents&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help&lt;br /&gt;
** Examples|examples&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=49</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=49"/>
		<updated>2008-09-15T14:25:34Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** portal-url|portal&lt;br /&gt;
** currentevents-url|currentevents&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help&lt;br /&gt;
** Examples|Graph|sss&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=48</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=48"/>
		<updated>2008-09-15T14:24:50Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** portal-url|portal&lt;br /&gt;
** currentevents-url|currentevents&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help&lt;br /&gt;
** Examples|Graph&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=47</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=47"/>
		<updated>2008-09-15T14:23:30Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: New page: * navigation ** mainpage|mainpage-description ** portal-url|portal ** currentevents-url|currentevents ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help ** ex...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** portal-url|portal&lt;br /&gt;
** currentevents-url|currentevents&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help&lt;br /&gt;
** examples&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=44</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=44"/>
		<updated>2008-09-15T14:17:36Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.Y = function(x){ return f(x); };&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
// Axes&lt;br /&gt;
b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//glider on the curve&lt;br /&gt;
p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
//define the derivative of f&lt;br /&gt;
g = board.algebra.D(f);&lt;br /&gt;
//a point on the tangent&lt;br /&gt;
//                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
//the tangent &lt;br /&gt;
l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
//a third point fpr the slope triangle&lt;br /&gt;
p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
//the slope triangle&lt;br /&gt;
pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
//a text for displaying slope&#039;s value&lt;br /&gt;
//                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{color:ff0000}); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
function doIt(){&lt;br /&gt;
  //redefine function f according to the current text field value&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
  //change the Y attribute of the graph to the new function &lt;br /&gt;
  graph.Y = function(x){ return f(x); };&lt;br /&gt;
  //update the graph&lt;br /&gt;
  graph.updateCurve();&lt;br /&gt;
  //update the whole board&lt;br /&gt;
  board.update();&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by aononymous functions of JavaScript.&lt;br /&gt;
[[Category:Examples|Graph]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=38</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=38"/>
		<updated>2008-09-15T14:09:47Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.Y = function(x){ return f(x); };&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
// Axes&lt;br /&gt;
b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//glider on the curve&lt;br /&gt;
p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
//define the derivative of f&lt;br /&gt;
g = board.algebra.D(f);&lt;br /&gt;
//a point on the tangent&lt;br /&gt;
//                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
//the tangent &lt;br /&gt;
l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
//a third point fpr the slope triangle&lt;br /&gt;
p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
//the slope triangle&lt;br /&gt;
pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
//a text for displaying slope&#039;s value&lt;br /&gt;
//                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{color:ff0000}); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
function doIt(){&lt;br /&gt;
  //redefine function f according to the current text field value&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
  //change the Y attribute of the graph to the new function &lt;br /&gt;
  graph.Y = function(x){ return f(x); };&lt;br /&gt;
  //update the graph&lt;br /&gt;
  graph.updateCurve();&lt;br /&gt;
  //update the whole board&lt;br /&gt;
  board.update();&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by aononymous functions of JavaScript.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=37</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=37"/>
		<updated>2008-09-15T14:08:29Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };&lt;br /&gt;
		//graph.Y = graph.yterm;&lt;br /&gt;
//graph.Y = function(x){ return f(x); };&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
// Axes&lt;br /&gt;
b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//glider on the curve&lt;br /&gt;
p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
//define the derivative of f&lt;br /&gt;
g = board.algebra.D(f);&lt;br /&gt;
//a point on the tangent&lt;br /&gt;
//                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
//the tangent &lt;br /&gt;
l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
//a third point fpr the slope triangle&lt;br /&gt;
p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
//the slope triangle&lt;br /&gt;
pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
//a text for displaying slope&#039;s value&lt;br /&gt;
//                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{color:ff0000}); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
function doIt(){&lt;br /&gt;
  //redefine function f according to the current text field value&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
  //change the yterm attribute of the graph to the new function &lt;br /&gt;
  graph.yterm = function(x){ return f(x); };&lt;br /&gt;
  graph.Y = graph.yterm;&lt;br /&gt;
  //update the graph&lt;br /&gt;
  graph.updateCurve();&lt;br /&gt;
  //update the whole board&lt;br /&gt;
  board.update();&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by aononymous functions of JavaScript.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=36</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=36"/>
		<updated>2008-09-15T14:07:55Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	//graph.yterm = function(x){ return f(x); };&lt;br /&gt;
		//graph.Y = graph.yterm;&lt;br /&gt;
graph.Y = function(x){ return f(x); };&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
// Axes&lt;br /&gt;
b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//glider on the curve&lt;br /&gt;
p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
//define the derivative of f&lt;br /&gt;
g = board.algebra.D(f);&lt;br /&gt;
//a point on the tangent&lt;br /&gt;
//                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
//the tangent &lt;br /&gt;
l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
//a third point fpr the slope triangle&lt;br /&gt;
p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
//the slope triangle&lt;br /&gt;
pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
//a text for displaying slope&#039;s value&lt;br /&gt;
//                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{color:ff0000}); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
function doIt(){&lt;br /&gt;
  //redefine function f according to the current text field value&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
  //change the yterm attribute of the graph to the new function &lt;br /&gt;
  graph.yterm = function(x){ return f(x); };&lt;br /&gt;
  graph.Y = graph.yterm;&lt;br /&gt;
  //update the graph&lt;br /&gt;
  graph.updateCurve();&lt;br /&gt;
  //update the whole board&lt;br /&gt;
  board.update();&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by aononymous functions of JavaScript.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=35</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=35"/>
		<updated>2008-09-15T14:06:43Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
			//graph.yterm = eval(&amp;quot;function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;; };&amp;quot;);&lt;br /&gt;
    		graph.Y = graph.yterm;&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
// Axes&lt;br /&gt;
b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//glider on the curve&lt;br /&gt;
p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
//define the derivative of f&lt;br /&gt;
g = board.algebra.D(f);&lt;br /&gt;
//a point on the tangent&lt;br /&gt;
//                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
//the tangent &lt;br /&gt;
l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
//a third point fpr the slope triangle&lt;br /&gt;
p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
//the slope triangle&lt;br /&gt;
pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
//a text for displaying slope&#039;s value&lt;br /&gt;
//                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{color:ff0000}); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
function doIt(){&lt;br /&gt;
  //redefine function f according to the current text field value&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
  //change the yterm attribute of the graph to the new function &lt;br /&gt;
  graph.yterm = function(x){ return f(x); };&lt;br /&gt;
  graph.Y = graph.yterm;&lt;br /&gt;
  //update the graph&lt;br /&gt;
  graph.updateCurve();&lt;br /&gt;
  //update the whole board&lt;br /&gt;
  board.update();&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by aononymous functions of JavaScript.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=34</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=34"/>
		<updated>2008-09-15T14:06:10Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
			//graph.yterm = eval(&amp;quot;function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;; };&amp;quot;);&lt;br /&gt;
    		graph.Y = graph.yterm;&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
// Axes&lt;br /&gt;
b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
//glider on the curve&lt;br /&gt;
p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
//define the derivative of f&lt;br /&gt;
g = board.algebra.D(f);&lt;br /&gt;
//a point on the tangent&lt;br /&gt;
//                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
//the tangent &lt;br /&gt;
l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
//a third point fpr the slope triangle&lt;br /&gt;
p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
//the slope triangle&lt;br /&gt;
pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
//a text for displaying slope&#039;s value&lt;br /&gt;
//                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{color:ff0000}); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
function doIt(){&lt;br /&gt;
//redefine function f according to the current text field value&lt;br /&gt;
eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
//change the yterm attribute of the graph to the new function &lt;br /&gt;
graph.yterm = function(x){ return f(x); };&lt;br /&gt;
graph.Y = graph.yterm;&lt;br /&gt;
//update the graph&lt;br /&gt;
graph.updateCurve();&lt;br /&gt;
//update the whole board&lt;br /&gt;
board.update();&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by aononymous functions of JavaScript.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=33</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=33"/>
		<updated>2008-09-15T14:05:11Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
			//graph.yterm = eval(&amp;quot;function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;; };&amp;quot;);&lt;br /&gt;
    		graph.Y = graph.yterm;&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
// Axes&lt;br /&gt;
b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  //glider on the curve&lt;br /&gt;
  p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
  //define the derivative of f&lt;br /&gt;
  g = board.algebra.D(f);&lt;br /&gt;
  //a point on the tangent&lt;br /&gt;
  //                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
  p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
  //the tangent &lt;br /&gt;
  l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
  //a third point fpr the slope triangle&lt;br /&gt;
  p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
  //the slope triangle&lt;br /&gt;
  pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
  //a text for displaying slope&#039;s value&lt;br /&gt;
  //                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
  t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{color:ff0000}); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  function doIt(){&lt;br /&gt;
    //redefine function f according to the current text field value&lt;br /&gt;
    eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
    //change the yterm attribute of the graph to the new function &lt;br /&gt;
    graph.yterm = function(x){ return f(x); };&lt;br /&gt;
    graph.Y = graph.yterm;&lt;br /&gt;
    //update the graph&lt;br /&gt;
    graph.updateCurve();&lt;br /&gt;
    //update the whole board&lt;br /&gt;
    board.update();&lt;br /&gt;
  } &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by aononymous functions of JavaScript.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=32</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=32"/>
		<updated>2008-09-15T14:03:29Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
			//graph.yterm = eval(&amp;quot;function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;; };&amp;quot;);&lt;br /&gt;
    		graph.Y = graph.yterm;&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
  // Axes&lt;br /&gt;
  b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
  b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  //glider on the curve&lt;br /&gt;
  p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
  //define the derivative of f&lt;br /&gt;
  g = board.algebra.D(f);&lt;br /&gt;
  //a point on the tangent&lt;br /&gt;
  //                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
  p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
  //the tangent &lt;br /&gt;
  l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
  //a third point fpr the slope triangle&lt;br /&gt;
  p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
  //the slope triangle&lt;br /&gt;
  pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
  //a text for displaying slope&#039;s value&lt;br /&gt;
  //                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
  t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{color:ff0000}); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  function doIt(){&lt;br /&gt;
    //redefine function f according to the current text field value&lt;br /&gt;
    eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
    //change the yterm attribute of the graph to the new function &lt;br /&gt;
    graph.yterm = function(x){ return f(x); };&lt;br /&gt;
    graph.Y = graph.yterm;&lt;br /&gt;
    //update the graph&lt;br /&gt;
    graph.updateCurve();&lt;br /&gt;
    //update the whole board&lt;br /&gt;
    board.update();&lt;br /&gt;
  } &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by aononymous functions of JavaScript.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=31</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=31"/>
		<updated>2008-09-15T14:02:32Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
			//graph.yterm = eval(&amp;quot;function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;; };&amp;quot;);&lt;br /&gt;
    		graph.Y = graph.yterm;&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
  // Axes&lt;br /&gt;
  b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
  b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  //glider on the curve&lt;br /&gt;
  p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
  //define the derivative of f&lt;br /&gt;
  g = board.algebra.D(f);&lt;br /&gt;
  //a point on the tangent&lt;br /&gt;
  //                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
  p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
  //the tangent &lt;br /&gt;
  l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
  //a third point fpr the slope triangle&lt;br /&gt;
  p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
  //the slope triangle&lt;br /&gt;
  pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
  //a text for displaying slope&#039;s value&lt;br /&gt;
  //                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
  t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{color:ff0000}); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  function doIt(){&lt;br /&gt;
    //redefine function f according to the current text field value&lt;br /&gt;
    eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
    //change the yterm attribute of the graph to the new function &lt;br /&gt;
    graph.yterm = function(x){ return f(x); };&lt;br /&gt;
    graph.Y = graph.yterm;&lt;br /&gt;
    //update the graph&lt;br /&gt;
    graph.updateCurve();&lt;br /&gt;
    //update the whole board&lt;br /&gt;
    board.update();&lt;br /&gt;
  } &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by aononymous functions of JavaScript.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=30</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=30"/>
		<updated>2008-09-15T14:00:42Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* JavaScript Part */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
			//graph.yterm = eval(&amp;quot;function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;; };&amp;quot;);&lt;br /&gt;
    		graph.Y = graph.yterm;&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
  board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
  // Axes&lt;br /&gt;
  b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
  b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  //glider on the curve&lt;br /&gt;
  p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
  //define the derivative of f&lt;br /&gt;
  g = board.algebra.D(f);&lt;br /&gt;
  //a point on the tangent&lt;br /&gt;
  //                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
  p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
  //the tangent &lt;br /&gt;
  l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
  //a third point fpr the slope triangle&lt;br /&gt;
  p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
  //the slope triangle&lt;br /&gt;
  pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
  //a text for displaying slope&#039;s value&lt;br /&gt;
  //                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
  t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{color:ff0000}); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  function doIt(){&lt;br /&gt;
    //redefine function f according to the current text field value&lt;br /&gt;
    eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
    //change the yterm attribute of the graph to the new function &lt;br /&gt;
    graph.yterm = function(x){ return f(x); };&lt;br /&gt;
    graph.Y = graph.yterm;&lt;br /&gt;
    //update the graph&lt;br /&gt;
    graph.updateCurve();&lt;br /&gt;
    //update the whole board&lt;br /&gt;
    board.update();&lt;br /&gt;
  } &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by aononymous functions of JavaScript.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=29</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=29"/>
		<updated>2008-09-15T13:45:02Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* How to Create this Construction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
			//graph.yterm = eval(&amp;quot;function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;; };&amp;quot;);&lt;br /&gt;
    		graph.Y = graph.yterm;&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
  // Axes&lt;br /&gt;
  b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
  b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  //glider on the curve&lt;br /&gt;
  p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
  //define the derivative of f&lt;br /&gt;
  g = board.algebra.D(f);&lt;br /&gt;
  //a point on the tangent&lt;br /&gt;
  //                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
  p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
  //the tangent &lt;br /&gt;
  l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
  //a third point fpr the slope triangle&lt;br /&gt;
  p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
  //the slope triangle&lt;br /&gt;
  pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
  //a text for displaying slope&#039;s value&lt;br /&gt;
  //                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
  t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{color:ff0000}); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  function doIt(){&lt;br /&gt;
    //redefine function f according to the current text field value&lt;br /&gt;
    eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
    //change the yterm attribute of the graph to the new function &lt;br /&gt;
    graph.yterm = function(x){ return f(x); };&lt;br /&gt;
    graph.Y = graph.yterm;&lt;br /&gt;
    //update the graph&lt;br /&gt;
    graph.updateCurve();&lt;br /&gt;
    //update the whole board&lt;br /&gt;
    board.update();&lt;br /&gt;
  } &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by aononymous functions of JavaScript.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=28</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=28"/>
		<updated>2008-09-15T12:12:11Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* HowTo Create this Construction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
			//graph.yterm = eval(&amp;quot;function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;; };&amp;quot;);&lt;br /&gt;
    		graph.Y = graph.yterm;&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
  // Axes&lt;br /&gt;
  b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
  b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  //glider on the curve&lt;br /&gt;
  p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
  //define the derivative of f&lt;br /&gt;
  g = board.algebra.D(f);&lt;br /&gt;
  //a point on the tangent&lt;br /&gt;
  //                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
  p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
  //the tangent &lt;br /&gt;
  l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
  //a third point fpr the slope triangle&lt;br /&gt;
  p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
  //the slope triangle&lt;br /&gt;
  pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
  //a text for displaying slope&#039;s value&lt;br /&gt;
  //                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
  t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{color:ff0000}); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  function doIt(){&lt;br /&gt;
    //redefine function f according to the current text field value&lt;br /&gt;
    eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
    //change the yterm attribute of the graph to the new function &lt;br /&gt;
    graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
    graph.Y = graph.yterm;&lt;br /&gt;
    //update the graph&lt;br /&gt;
    graph.updateCurve();&lt;br /&gt;
    //update the whole board&lt;br /&gt;
    board.update();&lt;br /&gt;
  } &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by aononymous functions of JavaScript.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=27</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=27"/>
		<updated>2008-09-15T12:10:12Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
			//graph.yterm = eval(&amp;quot;function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;; };&amp;quot;);&lt;br /&gt;
    		graph.Y = graph.yterm;&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HowTo Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
  // Axes&lt;br /&gt;
  b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
  b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  //glider on the curve&lt;br /&gt;
  p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
  //define the derivative of f&lt;br /&gt;
  g = board.algebra.D(f);&lt;br /&gt;
  //a point on the tangent&lt;br /&gt;
  //                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
  p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
  //the tangent &lt;br /&gt;
  l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
  //a third point fpr the slope triangle&lt;br /&gt;
  p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
  //the slope triangle&lt;br /&gt;
  pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
  //a text for displaying slope&#039;s value&lt;br /&gt;
  //                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
  t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{color:ff0000}); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  function doIt(){&lt;br /&gt;
    //redefine function f according to the current text field value&lt;br /&gt;
    eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
    //change the yterm attribute of the graph to the new function &lt;br /&gt;
    graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
    graph.Y = graph.yterm;&lt;br /&gt;
    //update the graph&lt;br /&gt;
    graph.updateCurve();&lt;br /&gt;
    //update the whole board&lt;br /&gt;
    board.update();&lt;br /&gt;
  } &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by aononymous functions of JavaScript.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=26</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=26"/>
		<updated>2008-09-15T11:43:19Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{labelcolor:&#039;#ff0000&#039;}); &lt;br /&gt;
&lt;br /&gt;
        t.visProp[&#039;strokeColor&#039;] = &#039;#ff0000&#039;;&lt;br /&gt;
t.visProp[&#039;labelColor&#039;] = &#039;#ff0000&#039;;&lt;br /&gt;
            &lt;br /&gt;
        &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
			//graph.yterm = eval(&amp;quot;function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;; };&amp;quot;);&lt;br /&gt;
    		graph.Y = graph.yterm;&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HowTo Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
  // Axes&lt;br /&gt;
  b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
  b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  //glider on the curve&lt;br /&gt;
  p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
  //define the derivative of f&lt;br /&gt;
  g = board.algebra.D(f);&lt;br /&gt;
  //a point on the tangent&lt;br /&gt;
  //                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
  p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
  //the tangent &lt;br /&gt;
  l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
  //a third point fpr the slope triangle&lt;br /&gt;
  p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
  //the slope triangle&lt;br /&gt;
  pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
  //a text for displaying slope&#039;s value&lt;br /&gt;
  //                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
  t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{color:ff0000}); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  function doIt(){&lt;br /&gt;
    //redefine function f according to the current text field value&lt;br /&gt;
    eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
    //change the yterm attribute of the graph to the new function &lt;br /&gt;
    graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
    graph.Y = graph.yterm;&lt;br /&gt;
    //update the graph&lt;br /&gt;
    graph.updateCurve();&lt;br /&gt;
    //update the whole board&lt;br /&gt;
    board.update();&lt;br /&gt;
  } &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by aononymous functions of JavaScript.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=25</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=25"/>
		<updated>2008-09-15T11:41:39Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{labelcolor:&#039;#ff0000&#039;}); &lt;br /&gt;
&lt;br /&gt;
            &lt;br /&gt;
        &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
			//graph.yterm = eval(&amp;quot;function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;; };&amp;quot;);&lt;br /&gt;
    		graph.Y = graph.yterm;&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HowTo Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
  // Axes&lt;br /&gt;
  b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
  b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  //glider on the curve&lt;br /&gt;
  p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
  //define the derivative of f&lt;br /&gt;
  g = board.algebra.D(f);&lt;br /&gt;
  //a point on the tangent&lt;br /&gt;
  //                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
  p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
  //the tangent &lt;br /&gt;
  l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
  //a third point fpr the slope triangle&lt;br /&gt;
  p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
  //the slope triangle&lt;br /&gt;
  pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
  //a text for displaying slope&#039;s value&lt;br /&gt;
  //                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
  t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{color:ff0000}); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  function doIt(){&lt;br /&gt;
    //redefine function f according to the current text field value&lt;br /&gt;
    eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
    //change the yterm attribute of the graph to the new function &lt;br /&gt;
    graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
    graph.Y = graph.yterm;&lt;br /&gt;
    //update the graph&lt;br /&gt;
    graph.updateCurve();&lt;br /&gt;
    //update the whole board&lt;br /&gt;
    board.update();&lt;br /&gt;
  } &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by aononymous functions of JavaScript.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=24</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=24"/>
		<updated>2008-09-15T11:34:07Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* HowTo Create this Construction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
&lt;br /&gt;
            &lt;br /&gt;
        &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
			//graph.yterm = eval(&amp;quot;function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;; };&amp;quot;);&lt;br /&gt;
    		graph.Y = graph.yterm;&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HowTo Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
  // Axes&lt;br /&gt;
  b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
  b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  //glider on the curve&lt;br /&gt;
  p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
  //define the derivative of f&lt;br /&gt;
  g = board.algebra.D(f);&lt;br /&gt;
  //a point on the tangent&lt;br /&gt;
  //                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
  p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
  //the tangent &lt;br /&gt;
  l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
  //a third point fpr the slope triangle&lt;br /&gt;
  p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
  //the slope triangle&lt;br /&gt;
  pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
  //a text for displaying slope&#039;s value&lt;br /&gt;
  //                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
  t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}],{color:ff0000}); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  function doIt(){&lt;br /&gt;
    //redefine function f according to the current text field value&lt;br /&gt;
    eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
    //change the yterm attribute of the graph to the new function &lt;br /&gt;
    graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
    graph.Y = graph.yterm;&lt;br /&gt;
    //update the graph&lt;br /&gt;
    graph.updateCurve();&lt;br /&gt;
    //update the whole board&lt;br /&gt;
    board.update();&lt;br /&gt;
  } &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by aononymous functions of JavaScript.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=23</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=23"/>
		<updated>2008-09-15T10:25:53Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* JavaScript Part */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
&lt;br /&gt;
            &lt;br /&gt;
        &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
			//graph.yterm = eval(&amp;quot;function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;; };&amp;quot;);&lt;br /&gt;
    		graph.Y = graph.yterm;&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HowTo Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
  // Axes&lt;br /&gt;
  b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
  b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  //glider on the curve&lt;br /&gt;
  p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
  //define the derivative of f&lt;br /&gt;
  g = board.algebra.D(f);&lt;br /&gt;
  //a point on the tangent&lt;br /&gt;
  //                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
  p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
  //the tangent &lt;br /&gt;
  l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
  //a third point fpr the slope triangle&lt;br /&gt;
  p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
  //the slope triangle&lt;br /&gt;
  pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
  //a text for displaying slope&#039;s value&lt;br /&gt;
  //                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
  t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  function doIt(){&lt;br /&gt;
    //redefine function f according to the current text field value&lt;br /&gt;
    eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
    //change the yterm attribute of the graph to the new function &lt;br /&gt;
    graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
    graph.Y = graph.yterm;&lt;br /&gt;
    //update the graph&lt;br /&gt;
    graph.updateCurve();&lt;br /&gt;
    //update the whole board&lt;br /&gt;
    board.update();&lt;br /&gt;
  } &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by aononymous functions of JavaScript.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Main_Page&amp;diff=22</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Main_Page&amp;diff=22"/>
		<updated>2008-09-15T10:23:19Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* JSXGrpah Wiki */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== JSXGraph Wiki ==&lt;br /&gt;
Welcome to the JSXGraph Wiki. This Wiki provides information and examples about the use of JSXGraph.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=21</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=21"/>
		<updated>2008-09-15T10:21:16Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: /* Remarks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
&lt;br /&gt;
            &lt;br /&gt;
        &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
			//graph.yterm = eval(&amp;quot;function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;; };&amp;quot;);&lt;br /&gt;
    		graph.Y = graph.yterm;&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HowTo Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
  // Axes&lt;br /&gt;
  b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
  b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  //glider on the curve&lt;br /&gt;
  p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
  //define the derivative of f&lt;br /&gt;
  g = board.algebra.D(f);&lt;br /&gt;
  //a point on the tangent&lt;br /&gt;
  //                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
  p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
  //the tangent &lt;br /&gt;
  l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
  //a third point fpr the slope triangle&lt;br /&gt;
  p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
  //the slope triangle&lt;br /&gt;
  pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
  //a text for displaying slope&#039;s value&lt;br /&gt;
  //                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
  t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  function doIt(){&lt;br /&gt;
    //redefine function f according to the current text field value&lt;br /&gt;
    eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
    //change the yterm attribute of the graph to the new function &lt;br /&gt;
    graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
    graph.Y = graph.yterm;&lt;br /&gt;
    //update the graph&lt;br /&gt;
    graph.updateCurve();&lt;br /&gt;
    //update the whole board&lt;br /&gt;
    board.update();&lt;br /&gt;
  } &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt() function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by aononymous functions of JavaScript.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=20</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=20"/>
		<updated>2008-09-15T10:20:49Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
&lt;br /&gt;
            &lt;br /&gt;
        &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
			//graph.yterm = eval(&amp;quot;function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;; };&amp;quot;);&lt;br /&gt;
    		graph.Y = graph.yterm;&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HowTo Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
  // Axes&lt;br /&gt;
  b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
  b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  //glider on the curve&lt;br /&gt;
  p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
  //define the derivative of f&lt;br /&gt;
  g = board.algebra.D(f);&lt;br /&gt;
  //a point on the tangent&lt;br /&gt;
  //                                 variable x coordinate           variable y coordinate depending on the derivative of f at point p1.X()&lt;br /&gt;
  p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
  //the tangent &lt;br /&gt;
  l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
  //a third point fpr the slope triangle&lt;br /&gt;
  p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
  //the slope triangle&lt;br /&gt;
  pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
  //a text for displaying slope&#039;s value&lt;br /&gt;
  //                               variable x coordinate          variable y coordinate                        variable value&lt;br /&gt;
  t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  function doIt(){&lt;br /&gt;
    //redefine function f according to the current text field value&lt;br /&gt;
    eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
    //change the yterm attribute of the graph to the new function &lt;br /&gt;
    graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
    graph.Y = graph.yterm;&lt;br /&gt;
    //update the graph&lt;br /&gt;
    graph.updateCurve();&lt;br /&gt;
    //update the whole board&lt;br /&gt;
    board.update();&lt;br /&gt;
  } &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The doIt function is only responsible for updating the graph. All other dependend objects are self-updating, especially the object p2 which depends on the derivative of function f. This is all done by aononymous functions of JavaScript.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=19</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=19"/>
		<updated>2008-09-15T10:14:56Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
			//graph.yterm = eval(&amp;quot;function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;; };&amp;quot;);&lt;br /&gt;
    		graph.Y = graph.yterm;&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HowTo Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
  // Axes&lt;br /&gt;
  b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
  b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  //glider on the curve&lt;br /&gt;
  p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
  //define the derivative of f&lt;br /&gt;
  g = board.algebra.D(f);&lt;br /&gt;
  //a point on the tangent&lt;br /&gt;
  p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
  //the tangent &lt;br /&gt;
  l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
  //a third point fpr the slope triangle&lt;br /&gt;
  p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
  //the slope triangle&lt;br /&gt;
  pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
  //a text for displaying slope&#039;s value&lt;br /&gt;
  t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  function doIt(){&lt;br /&gt;
    //redefine function f according to the current text field value&lt;br /&gt;
    eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
    //change the yterm attribute of the graph to the new function &lt;br /&gt;
    graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
    graph.Y = graph.yterm;&lt;br /&gt;
    //update the graph&lt;br /&gt;
    graph.updateCurve();&lt;br /&gt;
    //update the whole board&lt;br /&gt;
    board.update();&lt;br /&gt;
  } &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=18</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=18"/>
		<updated>2008-09-15T10:11:09Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        g = board.algebra.D(f);&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
			//graph.yterm = eval(&amp;quot;function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;; };&amp;quot;);&lt;br /&gt;
    		graph.Y = graph.yterm;&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HowTo Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
  // Axes&lt;br /&gt;
  b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
  b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  //glider on the curve&lt;br /&gt;
  p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
  //define the derivative of f&lt;br /&gt;
  g = board.algebra.D(f);&lt;br /&gt;
  //a point on the tangent&lt;br /&gt;
  p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
  //the tangent &lt;br /&gt;
  l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
  //a third point fpr the slope triangle&lt;br /&gt;
  p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
  //the slope triangle&lt;br /&gt;
  pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
  //a text for displaying slope&#039;s value&lt;br /&gt;
  t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  function doIt(){&lt;br /&gt;
    //redefine function f according to the current text field value&lt;br /&gt;
    eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
    //change the yterm attribute of the graph to the new function &lt;br /&gt;
    graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
    graph.Y = graph.yterm;&lt;br /&gt;
    //update the graph&lt;br /&gt;
    graph.updateCurve();&lt;br /&gt;
    //update the whole board&lt;br /&gt;
    board.update();&lt;br /&gt;
  } &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=17</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=17"/>
		<updated>2008-09-15T10:10:01Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
			//graph.yterm = eval(&amp;quot;function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;; };&amp;quot;);&lt;br /&gt;
    		graph.Y = graph.yterm;&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HowTo Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
  // Axes&lt;br /&gt;
  b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
  b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  //glider on the curve&lt;br /&gt;
  p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
  //define the derivative of f&lt;br /&gt;
  g = board.algebra.D(f);&lt;br /&gt;
  //a point on the tangent&lt;br /&gt;
  p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
  //the tangent &lt;br /&gt;
  l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); &lt;br /&gt;
  //a third point fpr the slope triangle&lt;br /&gt;
  p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
  //the slope triangle&lt;br /&gt;
  pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
  //a text for displaying slope&#039;s value&lt;br /&gt;
  t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define JavaScript Function doIt() for Reacting on User Input&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  function doIt(){&lt;br /&gt;
    //redefine function f according to the current text field value&lt;br /&gt;
    eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
    //change the yterm attribute of the graph to the new function &lt;br /&gt;
    graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
    graph.Y = graph.yterm;&lt;br /&gt;
    //update the graph&lt;br /&gt;
    graph.updateCurve();&lt;br /&gt;
    //update the whole board&lt;br /&gt;
    board.update();&lt;br /&gt;
  } &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remarks ==&lt;br /&gt;
The&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=16</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=16"/>
		<updated>2008-09-15T09:59:20Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        g = board.algebra.D(f);&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
			//graph.yterm = eval(&amp;quot;function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;; };&amp;quot;);&lt;br /&gt;
    		graph.Y = graph.yterm;&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HowTo Create this Construction ==&lt;br /&gt;
&lt;br /&gt;
=== HTML Part ===&lt;br /&gt;
&#039;&#039;&#039;Adding a text input field somewhere on the page together with a button&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JavaScript Part ===&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
  // Axes&lt;br /&gt;
  b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
  b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create a JavaScript Function f(x) From the Text Field&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use f(x) for defining the Graph&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Define Further Elements&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
//glider on the curve&lt;br /&gt;
p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
&lt;br /&gt;
//define the derivative of f&lt;br /&gt;
g = board.algebra.D(f);&lt;br /&gt;
p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;}); // apoint on the tangent&lt;br /&gt;
l1 = board.createElement(&#039;line&#039;, [p1,p2],{}); // the tangent&lt;br /&gt;
p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=15</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=15"/>
		<updated>2008-09-15T09:48:55Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        g = board.algebra.D(f);&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
			//graph.yterm = eval(&amp;quot;function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;; };&amp;quot;);&lt;br /&gt;
    		graph.Y = graph.yterm;&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HowTo of this construction ==&lt;br /&gt;
Adding a text input field somewhere on the page&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Setting up the board&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
  board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
  // Axes&lt;br /&gt;
  b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
  b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=14</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=14"/>
		<updated>2008-09-15T09:45:54Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        g = board.algebra.D(f);&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
			//graph.yterm = eval(&amp;quot;function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;; };&amp;quot;);&lt;br /&gt;
    		graph.Y = graph.yterm;&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=13</id>
		<title>Change Equation of a Graph</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Change_Equation_of_a_Graph&amp;diff=13"/>
		<updated>2008-09-15T09:43:39Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example shows how you can change the equation of a graph without creating the whole construction again.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/prototype.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/loadjsxgraphXML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:960px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;jxgbox&amp;quot; class=&amp;quot;jxgbox&amp;quot; style=&amp;quot;width:600px; height:400px; float:left; &amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;float:right&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;eingabe&amp;quot; value=&amp;quot;Math.sin(x)*Math.cos(x)&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;set&amp;quot; onClick=&amp;quot;doIt()&amp;quot; style=&#039;margin:1em&#039;&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;debug&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    /* &amp;lt;![CDATA[ */&lt;br /&gt;
&lt;br /&gt;
        board = JXG.JSXGraph.initBoard(&#039;jxgbox&#039;, {originX: 250, originY: 250, unitX: 40, unitY: 20});&lt;br /&gt;
		// Axes&lt;br /&gt;
        b1axisx = board.createElement(&#039;axis&#039;, [[1,0], [0,0]], {});&lt;br /&gt;
        b1axisy = board.createElement(&#039;axis&#039;, [[0,1], [0,0]], {});&lt;br /&gt;
		&lt;br /&gt;
		eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
		graph = board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return f(x); }, &amp;quot;x&amp;quot;, -10, 10]);						&lt;br /&gt;
		//graph = eval(&amp;quot;board.createElement(&#039;curve&#039;, [function(x){ return x; }, function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}, &#039;x&#039;, -10, 10])&amp;quot;);&lt;br /&gt;
		//graph.curveType = &amp;quot;graph&amp;quot;;&lt;br /&gt;
        p1 = board.createElement(&#039;glider&#039;, [graph], {style:6, name:&#039;P&#039;});&lt;br /&gt;
        g = board.algebra.D(f);&lt;br /&gt;
        p2 = board.createElement(&#039;point&#039;, [function() { return p1.X()+1;}, function() {return p1.Y()+board.algebra.D(graph.Y)(p1.X());}], {style:1, name:&#039;&#039;});&lt;br /&gt;
        l1 = board.createElement(&#039;line&#039;, [p1,p2],{});&lt;br /&gt;
        p3 = board.createElement(&#039;point&#039;, [function() { return p2.X();}, function() {return p1.Y();}],{style:1, name:&#039;&#039;});&lt;br /&gt;
        pol = board.createElement(&#039;polygon&#039;, [p1,p2,p3], {});&lt;br /&gt;
        t = board.createElement(&#039;text&#039;, [function(){return p1.X()+1.1;},function(){return p1.Y()+(p2.Y()-p3.Y())/2;},function(){ return &amp;quot;m=&amp;quot;+(board.round(p2.Y()-p3.Y(),2));}]); &lt;br /&gt;
            &lt;br /&gt;
        &lt;br /&gt;
        function doIt(){&lt;br /&gt;
        	eval(&amp;quot;function f(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;;}&amp;quot;);&lt;br /&gt;
        	graph.yterm = function(x){ return f(x); };  // usually: e.g. &amp;quot;x^2&amp;quot;&lt;br /&gt;
			//graph.yterm = eval(&amp;quot;function(x){ return &amp;quot;+document.getElementById(&amp;quot;eingabe&amp;quot;).value+&amp;quot;; };&amp;quot;);&lt;br /&gt;
    		graph.Y = graph.yterm;&lt;br /&gt;
    		graph.updateCurve();&lt;br /&gt;
    		board.update();&lt;br /&gt;
        } &lt;br /&gt;
        &lt;br /&gt;
  /* ]]&amp;gt; */&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
</feed>