edo1z blog

プログラミングなどに関するブログです

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

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

y=x2のグラフ上のある点を(a,a2)とすると、その点の接線のy切片は、(0,-a2)となるのだ。これはどの点をとってもそうなっているのだ!とフェルマーが発見したそうだ。すごいですね。この接線の傾きは、(a2+a2)/a = 2a2/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>