Подскажите алгоритм построения графика неявно заданной функции 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>