Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.02.2013, 02:53
Аватар для Demath
Профессор
Отправить личное сообщение для Demath Посмотреть профиль Найти все сообщения от Demath
 
Регистрация: 22.06.2012
Сообщений: 168

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

Последний раз редактировалось Demath, 24.02.2013 в 02:58.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск