Уроки, алгоритмы, программы, примеры

Вход на сайт

Материалы по разделам

Построения
на плоскости (2D)
Графика
в пространстве (3D)
Вычислительная
геометрия
Физическое
моделирование
Фрактальная
графика

Новые комментарии

Выдаёт ошибку glut32.dll не найден! При том, что он лежит в System32! Всё решил) Нужно отправить не в System32, а в System.
Спасибо за статью. Я не Ваш студент. Но мне она помогла написать функцию для Канторова множества на Python для черепашки: import turtle def kanter(x, y, d):     if d > 1:         turtle...
Как реализовать в данном примере границы расчёта?

Счетчики и рейтинг

Рейтинг@Mail.ru Яндекс.Метрика
Демо JavaScript: 

Dist(0-500):
Scale(0-10):

<canvas id="paintbox" width="500" height="500"></canvas><br />
Dist(0-500): <input type="range" id="dist" min="0" max="500" value="250"><br />
Scale(0-20): <input type="range" id="scale" min="0" max="10" value="5">
<input type="button" onclick="start()" value="Пуск">

<script>
  var ctx;
  var x = [];
  var y = [];
 
  ctx = document.getElementById('paintbox').getContext('2d');
 
    var t=0;
    var R=10;
     while (t <= 2*Math.PI) {
       x.push( 3*R*Math.cos(t));  // Параметрическое уравнение эллипса
       y.push( R*Math.sin(t));
       t = t + Math.PI/36;
     }
 
function start(){
    let D=Number(document.getElementById('dist').value);
    let scl=Number(document.getElementById('scale').value);
    ctx.fillStyle = 'yellow';
    ctx.fillRect(0,0,500,500);
    ctx.strokeStyle = 'blue';
    ctx.beginPath();
    for(let i=0; i<x.length; i++){
        sx=D+scl*x[i];
        sy=D+scl*y[i];
        if(i==0) ctx.moveTo(sx, sy); else ctx.lineTo(sx, sy);
    }
    ctx.stroke();   
}
</script>