Takagi–Landsberg curve: Difference between revisions
A WASSERMANN (talk | contribs) No edit summary  | 
				A WASSERMANN (talk | contribs) No edit summary  | 
				||
| Line 13: | Line 13: | ||
<jsxgraph width="500" height="500" box="box">  | <jsxgraph width="500" height="500" box="box">  | ||
  var bd = JXG.JSXGraph.initBoard('box', {axis:true,originX: 25, originY:   |   var bd = JXG.JSXGraph.initBoard('box', {axis:true,originX: 25, originY: 400, unitX: 450, unitY: 25});  | ||
  var w = bd.createElement('slider', [[0,8],[0.8,8],[0,0.5  |   var w = bd.createElement('slider', [[0,8],[0.8,8],[0,0.25,1.5]], {name:'w'});  | ||
  var N = bd.createElement('slider', [[0,7],[0.8,7],[0,5,40]], {name:'N'});    |   var N = bd.createElement('slider', [[0,7],[0.8,7],[0,5,40]], {name:'N'});    | ||
  var s = function(x){ return Math.abs(x-Math.round(x)); };  |   var s = function(x){ return Math.abs(x-Math.round(x)); };  | ||
| Line 26: | Line 26: | ||
         }  |          }  | ||
         return su;  |          return su;  | ||
      },0,1]);         |       },0,1],{strokeColor:'red'});         | ||
</jsxgraph>  | </jsxgraph>  | ||
===The JavaScript code to produce this picture===  | |||
<source lang="xml">  | |||
<jsxgraph width="500" height="500" box="box">  | |||
 var bd = JXG.JSXGraph.initBoard('box', {axis:true,originX: 25, originY: 400, unitX: 450, unitY: 25});  | |||
 var w = bd.createElement('slider', [[0,8],[0.8,8],[0,0.25,1.5]], {name:'w'});  | |||
 var N = bd.createElement('slider', [[0,7],[0.8,7],[0,5,40]], {name:'N'});   | |||
 var s = function(x){ return Math.abs(x-Math.round(x)); };  | |||
 var c = bd.createElement('functiongraph', [  | |||
     function(x){  | |||
        var n, su, wval;  | |||
        su = 0.0;  | |||
        wval = w.Value();  | |||
        for (n=0;n<N.Value();n++) {  | |||
           su += Math.pow(wval,n)*s(Math.pow(2,n)*x);  | |||
        }  | |||
        return su;  | |||
     },0,1],{strokeColor:'red'});        | |||
</jsxgraph>  | |||
</source>  | |||
===External links===  | |||
* [http://en.wikipedia.org/wiki/Blancmange_curve http://en.wikipedia.org/wiki/Blancmange_curve]  | |||
[[Category:Examples]]  | |||
[[Category:Curves]]  | |||
Revision as of 17:38, 18 March 2009
The blancmange function is defined on the unit interval by
- [math]\displaystyle{ {\rm blanc}(x) = \sum_{n=0}^\infty {s(2^{n}x)\over 2^n}, }[/math]
 
where [math]\displaystyle{ s(x) }[/math] is defined by [math]\displaystyle{ s(x)=\min_{n\in{\bold Z}}|x-n| }[/math], that is, [math]\displaystyle{ s(x) }[/math] is the distance from x to the nearest integer. The infinite sum defining [math]\displaystyle{ blanc(x) }[/math] converges absolutely for all x, but the resulting curve is a fractal. The blancmange function is continuous but nowhere differentiable.
The Takagi–Landsberg curve is a slight generalization, given by
- [math]\displaystyle{ T_w(x) = \sum_{n=0}^\infty w^n s(2^{n}x) }[/math]
 
for a parameter w; thus the blancmange curve is the case [math]\displaystyle{ w = 1 / 2 }[/math]. For [math]\displaystyle{ w = 1 / 4 }[/math], one obtains the parabola: the construction of the parabola by midpoint subdivision was described by Archimedes.
The JavaScript code to produce this picture
<jsxgraph width="500" height="500" box="box">
 var bd = JXG.JSXGraph.initBoard('box', {axis:true,originX: 25, originY: 400, unitX: 450, unitY: 25});
 var w = bd.createElement('slider', [[0,8],[0.8,8],[0,0.25,1.5]], {name:'w'});
 var N = bd.createElement('slider', [[0,7],[0.8,7],[0,5,40]], {name:'N'}); 
 var s = function(x){ return Math.abs(x-Math.round(x)); };
 var c = bd.createElement('functiongraph', [
     function(x){
        var n, su, wval;
        su = 0.0;
        wval = w.Value();
        for (n=0;n<N.Value();n++) {
           su += Math.pow(wval,n)*s(Math.pow(2,n)*x);
        }
        return su;
     },0,1],{strokeColor:'red'});      
</jsxgraph>