Алгоритм построения графика неявной функции f(x,y)=0
Подскажите алгоритм построения графика неявно заданной функции f(x,y)=0.
Получается только тупым сплошным перебором, но долго и браузер подтормаживает :( Например, построение графиков кривых 2-го порядка (визуализация - Google Chart) <script type="text/javascript"> function Plot2d(a11,a22,a12,a1,a2,a0) { var x,y, points2d = []; for (x=-10; x<=10; x+=0.005) { for (y=-10; y<=10; y+=0.005) { var Fxy = (a11*x*x+a22*y*y+a12*x*y+a1*x+a2*y+a0); if ( Fxy>=-0.05 && Fxy<=0.05 ) { points2d.push([x,y]) } } } return drawChart(points2d); } </script> <script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript"> google.load("visualization", "1", {packages:["corechart"]}); function drawChart(points2d) { var xy = [['','']].concat(points2d); var data = google.visualization.arrayToDataTable(xy); var options = { hAxis: {minValue: -10, maxValue: 10, gridlines: {count: 11} }, vAxis: {minValue: -10, maxValue: 10, gridlines: {count: 11} }, legend: 'none', curveType: 'function', series: [{color: '#C41E3A', pointSize: 0.1, lineWidth: 0, visibleInLegend: false}], 'width': 350, 'height': 350, 'backgroundColor': 'transparent', 'chartArea': {'width': '90%', 'height': '90%', 'top': '10', 'left': '25'} }; var chart = new google.visualization.ScatterChart(document.getElementById('chart_div')); chart.draw(data, options); } </script> <button onclick="Plot2d(1,1,-8,1,-4,-9)">Построить график</button> <div id="chart_div" style="width: 350px; height: 350px;"></div> |
Часовой пояс GMT +3, время: 05:08. |