2011年6月6日月曜日

google chart api Visualizationでフェルマー(2次関数の包絡線)

フェルマーでやりたかったのはこれだ。フェルマーは色々なことを発見したらしいが、これもフェルマーが発見したそうだ。下記グラフに描かれているのは、61本の直線ですが、全てy=x^2のグラフ上のある点の接線であります。結果的に、y=x^2のグラフが浮かび上がってくるのだ。こういうのを包絡線ともいうらしい。

y=x^2のグラフ上のある点を(a,a^2)とすると、その点の接線のy切片は、(0,-a^2)となるのだ。これはどの点をとってもそうなっているのだ!とフェルマーが発見したそうだ。すごいですね。この接線の傾きは、(a^2+a^2)/a = 2a^2/a = 2a ということで、2aになるのだ。
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = new google.visualization.DataTable();
        
        var i ;
        var x;
        var y;
        var z = 0;
        var max = 61;
        var a;
        var c = 0;

        for(i=0; i<max;i++){
            data.addColumn('number', i);
        }

        data.addRows(max);
  
        for (a = -30; a < 31; a = a +1){
          for(x = -30; x < 31; x = x +1){
            y = 2*a*x-a*a;
            data.setValue(z, c, y);
            z = z+1;
          }
          z=0;
          c= c+1;
        }  
 
      new google.visualization.LineChart(document.getElementById('chart_div4')).
      draw(data, {width: 500, height: 400,vAxis: {maxValue: 10},legend:'none'});
}
</script>
<div id="chart_div4">
</div>

0 件のコメント:

コメントを投稿