Редактирование: Простейшая колебательная система с двумя степенями свободы

Перейти к: навигация, поиск

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 3: Строка 3:
 
Рассматривается простейшая колебательноя система, состоящая из двух тел разных масс и двух пружин разных жесткостей.
 
Рассматривается простейшая колебательноя система, состоящая из двух тел разных масс и двух пружин разных жесткостей.
  
[[Файл:system222.jpg]]
+
[[File:System222.jpg]]
  
Уравнения движения системы будут выглядеть так:
+
Скачать [[Медиа:Vers21.rar|File:Vers21.rar]].
::<math>
 
\left\{
 
\begin{array}{ll}
 
m_{1} \ddot{x_{1}}  = -c_{2}x_{1}+c_{2}x_{2}-c_{2}l_{20}-c_{1}x_{1}+c_{1}l_{10} \\
 
\displaystyle m_{2} \ddot{x_{2}}  = -c_{2}x_{2}+c_{2}x_{1}+c_{2}l_{20} \\
 
\end{array}
 
\right.
 
</math>
 
 
 
Для запуска программы потяните за синий шар или воспользуйтесь слайдерами внизу страницы. Так же внизу страницы можно изменять параметры системы.
 
{{#widget:Iframe |url=http://tm.spbstu.ru/htmlets/Vanyushkina/osc_system_2_degrees_of_freedom/1_2.html |width=860 |height=1800 |border=0 }}
 
 
 
Скачать [[Медиа:Vers21.rar|Vers21.rar]].
 
 
 
<div class="mw-collapsible mw-collapsed" style="width:100%" >
 
'''Текст программы на языке JavaScript (разработчик [[Ванюшкина Валентина]]):''' <div class="mw-collapsible-content">
 
Файл '''"particle_in_well_2.js"'''
 
<syntaxhighlight lang="javascript" line start="1" enclose="div">
 
function MainParticle(canvas, canvas_gr, canvas_gr2) {
 
    // Предварительные установки
 
    var context    = canvas.getContext("2d");  // на context происходит рисование
 
var context_gr = canvas_gr.getContext("2d");  // на context происходит рисование
 
var context_gr2 = canvas_gr2.getContext("2d");
 
 
  //  Задание констант
 
    const Pi = 3.1415926;                  // число "пи"
 
    const m0 = 1;                          // масштаб массы
 
    const T0 = 1;                          // масштаб времени (период колебаний исходной системы)
 
    const a0 = 1;                          // масштаб расстояния (диаметр шара)
 
 
 
    const g0 = a0 / T0 / T0;                // масштаб ускорения (ускорение, при котором за T0 будет пройдено расстояние a0)
 
    const k0 = 2 * Pi / T0;                // масштаб частоты
 
    const C0 = m0 * k0 * k0;                // масштаб жесткости
 
var scale1 = 10;
 
var scale2 = 0.2;
 
var time = 0;
 
 
 
 
 
    // *** Задание физических параметров ***
 
var xShift= 0;
 
    const Ny = 15;                          // число шаров, помещающихся по вертикали в окно (задает размер шара относительно размера окна)
 
    const Nx = 15; // число шаров, помещающихся по вертикали в окно (задает размер шара относительно размера окна)
 
const l1 =  15*a0; // длина первой пружины
 
const l2 =  5*a0; // длина второй пружины
 
var m1 = 5 * m0;  // масса первого шара
 
var m2 = 10 * m0; // масса второго шара
 
    const Cwall = 10 * C0;                  // жесткость стен
 
    const r = 1 * a0;                    // радиус частицы в расчетных координатах
 
var c1 = 100;                        // "жесткость" пружинки 1
 
var c2 = 100;                    // "жесткость" пружинки 1
 
var vx0 = 0 * a0/T0; //начальная скорость
 
var delt = 1*a0; //начальное смещение
 
var E = 0; //энергия системы
 
 
 
 
 
 
//*** Передача значений слайдерам и текстовым окнам***
 
Text_delt.value  = delt;
 
Text_m1.value  = m1;
 
Text_m2.value  = m2;
 
Text_c1.value  = c1;
 
Text_c2.value  = c2;
 
 
Slider_delt.min = -1;         
 
    Slider_delt.max = 1;
 
    Slider_delt.step = 0.1;
 
    Slider_delt.value = Text_delt.value; 
 
 
Slider_m1.min = 0.1;         
 
    Slider_m1.max = 10;
 
    Slider_m1.step = 0.1;
 
    Slider_m1.value = Text_m1.value;
 
 
Slider_m2.min = 0.1;         
 
    Slider_m2.max = 10;
 
    Slider_m2.step = 0.1;
 
    Slider_m2.value = Text_m2.value;
 
 
Slider_c2.min = 1;    Slider_c1.min = 1;   
 
    Slider_c2.max = 200; Slider_c1.max = 200;
 
    Slider_c2.step = 1; Slider_c1.step = 1;
 
    Slider_c2.value = Text_c2.value; Slider_c1.value = Text_c1.value;
 
Slider_delt.focus();
 
 
    // *** Задание вычислительных параметров ***
 
 
 
    const fps = 550;                        // frames per second - число кадров в секунду (качеcтво отображения)
 
    const spf = 260;                        // steps per frame  - число шагов интегрирования между кадрами (скорость расчета)
 
    const dt  = 0.01 * T0 / fps;          // шаг интегрирования
 
 
// Задание констант для рисования
 
const scale    = canvas.height / Ny / a0;  // масштабный коэффициент для перехода от расчетных к экранным координатам
 
const scale_gr = canvas_gr.height / Ny / a0;  // масштабный коэффициент для перехода от расчетных к экранным координатам
 
const scale_gr2 = canvas_gr2.height / Ny / a0;
 
 
 
    var w = canvas.width / scale; // ширина окна в расчетных координатах
 
var h = canvas.height / scale;      // высота окна в расчетных координатах
 
var w1 = canvas_gr.width / scale; // ширина окна в расчетных координатах
 
var h1 = canvas_gr.height / scale;      // высота окна в расчетных координатах
 
           
 
 
    // -------------------------------        Выполнение программы              ------------------------------------------
 
// Добавление шара 1
 
    var b = [];
 
var time = 1;
 
b.x  = l1+delt;            b.y  = h / 2;  // расчетные координаты шара
 
b.x_ = b.x;              b.y_  = b.y;
 
b.fx = 0;                b.vx = 0;              // начальная скорость
 
// Добавление шара 2
 
var c = [];
 
c.x  = l2 + l1;    c.y  = h / 2;  // расчетные координаты шара
 
c.x_ = c.x;              c.y_  = c.y;
 
c.fx = 0;              c.vx = 0;                // начальная скорость
 
 
 
 
// центр рамки
 
var origin = [];
 
origin.x = w/2; origin.y = h/2;
 
// стенка
 
var wall1 = [];
 
wall1.x = w/2 - 9*a0; wall1.y = h/2;
 
 
 
// Основной цикл программы
 
setInterval(control, 1500 / fps);  // функция control вызывается с периодом, определяемым вторым параметром
 
 
// ---------------------------------------------------------------------------------------------------------------------
 
// ---------------------------------          Определение всех функций              -----------------------------------
 
// ---------------------------------------------------------------------------------------------------------------------
 
 
// функция запускается при нажатии клавиши мыши
 
    canvas.onmousedown = function(e)
 
{
 
        var m = mouseCoords(e);                    // получаем координаты курсора мыши
 
context.clearRect(0, 0, w * scale, h* scale);     
 
context_gr.clearRect(0, 0, w1 * scale_gr, h1 * scale_gr);     
 
context_gr2.clearRect(0, 0, w1 * scale_gr, h1 * scale_gr); 
 
        context_gr.closePath();
 
context_gr2.closePath();
 
context.closePath();
 
        context.fill();
 
        var x = b.x*scale - m.x;                    // расстояние от центра шара до курсора по оси x
 
        var y = b.y*scale - m.y;  // расстояние от центра шара до курсора по оси y
 
        var rLen2 = x * x + y * y;                  // квадрат расстояния между курсором и центром шара
 
//console.log(rLen2);
 
//console.log(100*r*r);
 
        if (rLen2 <= 500 * r * r) // если курсор нажал на шар
 
{                     
 
            xShift = b.x*scale - m.x;                // сдвиг курсора относительно центра шара по x
 
            canvas.onmousemove = mouseMove; // пока клавиша нажата - работает функция перемещения
 
 
        }
 
    }
 
 
    // функция запускается при отпускании клавиши мыши
 
    document.onmouseup = function()
 
{
 
        canvas.onmousemove = null;        // когда клавиша отпущена - функции перемещения нету
 
    }
 
 
    // функция запускается при перемещении мыши (много раз, в каждый момент перемещения)
 
    // в нашем случае работает только с зажатой клавишей мыши
 
    function mouseMove(e) {
 
context.clearRect(0, 0, w * scale, h* scale);     
 
context_gr.clearRect(0, 0, w1 * scale_gr, h1 * scale_gr);     
 
context_gr2.clearRect(0, 0, w1 * scale_gr, h1 * scale_gr); 
 
        var m = mouseCoords(e); // получаем координаты курсора мыши
 
        b.x = (m.x + xShift)/scale;
 
delt = b.x - l1;
 
b.vx = 0; c.vx = 0;
 
time = 0;
 
console.log(b.x);
 
Text_delt.value  = delt;
 
Slider_delt.value = Text_delt.value; 
 
//var scale1 = 0.0000000002;
 
//var scale2 = 0.2;
 
 
    }
 
 
    // функция возвращает координаты курсора мыши
 
    function mouseCoords(e) {
 
        var m = [] ;
 
        var rect = canvas.getBoundingClientRect();
 
        m.x = e.clientX - rect.left;
 
        m.y = e.clientY - rect.top;
 
        return m;
 
    }
 
// основная функция, вызываемая в программе
 
function control()
 
{
 
        physics(); // делаем spf шагов интегрирование
 
draw();
 
draw_gr();
 
draw_gr2();
 
 
    }
 
 
 
// Реакция на изменение значения в чекбоксе
 
this.set_delt = function(input)
 
{
 
delt = Number(input);    //записываем значение начального смещения
 
time = 0;;
 
b.x = l1 + delt; c.x = l1+l2;  //изменение начальных координат шаров 
 
b.x_ = b.x;
 
b.vx = 0; c.vx = 0; //задание начальных скоростей шаров
 
Text_delt.value  = delt;
 
Slider_delt.value = Text_delt.value; 
 
        context.clearRect(0, 0, w * scale, h* scale);     
 
context_gr.clearRect(0, 0, w1 * scale_gr, h1 * scale_gr);     
 
context_gr2.clearRect(0, 0, w1 * scale_gr, h1 * scale_gr); 
 
 
}
 
 
this.set_m1 = function(input)
 
{
 
m1 = Number(input);   
 
time = 0;
 
b.vx = 0; c.vx = 0;b.x = l1 + delt; c.x = l1+l2; 
 
        context.clearRect(0, 0, w * scale, h* scale);     
 
context_gr.clearRect(0, 0, w1 * scale_gr, h1 * scale_gr);     
 
context_gr2.clearRect(0, 0, w1 * scale_gr, h1 * scale_gr); 
 
}
 
 
this.set_c1 = function(input)
 
{
 
c1 = Number(input);   
 
time = 0;
 
b.vx = 0; c.vx = 0;b.x = l1 + delt; c.x = l1+l2; 
 
        context.clearRect(0, 0, w * scale, h* scale);     
 
context_gr.clearRect(0, 0, w1 * scale_gr, h1 * scale_gr);     
 
context_gr2.clearRect(0, 0, w1 * scale_gr, h1 * scale_gr); 
 
 
}
 
 
this.set_m2 = function(input)
 
{
 
m2 = Number(input);   
 
time = 0;
 
b.vx = 0; c.vx = 0;b.x = l1 + delt; c.x = l1+l2; 
 
context.clearRect(0, 0, w * scale, h* scale);     
 
context_gr.clearRect(0, 0, w1 * scale_gr, h1 * scale_gr);     
 
context_gr2.clearRect(0, 0, w1 * scale_gr, h1 * scale_gr); 
 
}
 
 
this.set_c2 = function(input)
 
{;
 
c2 = Number(input);   
 
time = 0;
 
b.vx = 0; c.vx = 0;b.x = l1 + delt; c.x = l1+l2; 
 
        context.clearRect(0, 0, w * scale, h* scale);     
 
context_gr.clearRect(0, 0, w1 * scale_gr, h1 * scale_gr);     
 
context_gr2.clearRect(0, 0, w1 * scale_gr, h1 * scale_gr); 
 
}
 
 
this.set_scale1 = function(input)
 
{
 
scale1 = Number(input); 
 
console.log(scale1);
 
b.vx = 0; c.vx = 0;b.x = l1 + delt; c.x = l1+l2; 
 
time = 0;
 
        context.clearRect(0, 0, w * scale, h * scale); 
 
context_gr.clearRect(0, 0, w * scale, h * scale);
 
context_gr2.clearRect(0, 0, w * scale, h * scale);
 
}
 
 
/*this.set_scale2 = function(input)
 
{
 
 
scale2 = Number(input);   
 
time = 1;
 
        context.clearRect(0, 0, w * scale, h * scale); 
 
context_gr.clearRect(0, 0, w * scale, h * scale);
 
context_gr2.clearRect(0, 0, w * scale, h * scale);
 
}*/
 
 
    // Функция, делающая spf шагов интегрирования
 
    function physics()
 
{   
 
        b.x_ = b.x;  b.vx_= b.vx; //записываем старые координаты и скорости
 
c.x_ = c.x;  c.vx_= c.vx;
 
E_ = E;
 
 
for (var s = 1; s <= spf; s++)
 
{
 
 
b.vx  +=  (c2*(-b.x + c.x - l2) - c1*(b.x - l1))/m1*dt; //расчет скорости первого шара
 
c.vx  += -c2*(c.x - b.x - l2)/m2*dt; //расчет скорости второго шара
 
b.x += b.vx*dt; //расчет координаты первого шара
 
c.x += c.vx*dt; //расчет координаты второго шара
 
E = 0.5*(m1*b.vx*b.vx + m2*c.vx*c.vx)+0.5*c2*(c.x - b.x -l2)*(c.x - b.x -l2)+0.5*c1*(b.x-l1)*(b.x - l1); //рачсет энергии системы
 
//Vprov = Math.max(b.vx, c.vx);
 
//if ((Vprov) > Vmax) Vmax = b.vx;  
 
 
 
 
}
 
 
 
  time = time + 1;
 
 
 
    }
 
 
    // определение функций, рисующих частицу, стенки и графики
 
   
 
    function draw() //функция, рисующая шары, стенку и пружины
 
{
 
context.clearRect(0, 0, w * scale, h * scale);      // очистить экран
 
         
 
    // линия, соединяющая первую частицу со стенкой
 
  context.beginPath();
 
context.moveTo(b.x*scale, b.y*scale);
 
         context.lineTo(wall1.x*scale, wall1.y*scale);
 
// линия, соединяющая первую частицу со второй
 
context.moveTo(b.x*scale, b.y*scale);
 
         context.lineTo(c.x*scale, c.y*scale);
 
// стенка
 
context.moveTo(wall1.x*scale, (wall1.y + a0)*scale );
 
         context.lineTo(wall1.x*scale, (wall1.y - a0)*scale );
 
context.closePath();
 
context.stroke();
 
 
// частица вторая
 
context.fillStyle = "red";
 
context.beginPath();
 
            context.arc(c.x * scale, c.y * scale, 0.5*r * scale, 0,  2*Math.PI, false);
 
context.fill();
 
//частица первая
 
context.fillStyle = 'blue';
 
         context.beginPath();
 
            context.arc(b.x * scale, b.y * scale, 0.5*r * scale, 0,  2*Math.PI, false);
 
context.fill();
 
 
 
    }
 
 
 
 
 
 
function draw_gr() // Определение функции, рисующей первый график
 
{
 
scale2 = h /10 * Math.abs(delt);
 
Graph1(c, 'red'); //график для второго шара
 
Graph(b, 'blue'); //график для первого шара
 
GraphAxex('black'); //оси
 
 
    }
 
 
 
 
 
function Graph(b, color)
 
    {
 
       
 
        context_gr.strokeStyle = color;
 
        context_gr.beginPath();
 
    context_gr.moveTo(time*scale2/3, (b.x-l1)*scale*2*scale2 + h1*scale/2);
 
    context_gr.lineTo( (time+1)*scale2/3, (b.x_- l1)*scale*2*scale2 + h1*scale/2);
 
context_gr.stroke();
 
        context_gr.closePath();
 
 
    } 
 
 
function GraphAxex(color)
 
{
 
context_gr.strokeStyle = color;
 
        context_gr.beginPath();
 
  // ось горизонтальная
 
context_gr.moveTo(w1/2*scale, 0);
 
context_gr.lineTo(w1/2*scale, h1*scale);
 
// ось вертикальная
 
context_gr.moveTo(0, (h1/2)*scale);
 
context_gr.lineTo((w1)*scale, (h1/2)*scale);
 
        context_gr.closePath();
 
context_gr.stroke();
 
 
}
 
 
function Graph1(b, color)
 
    {
 
       
 
        context_gr.strokeStyle = color;
 
        context_gr.beginPath();
 
context_gr.moveTo(time*scale2/3, (b.x-l1-l2)*scale*2*scale2 + scale*h1/2);
 
context_gr.lineTo( (time+1)*scale2/3, (b.x_- l1-l2)*scale*2*scale2 + scale*h1/2);
 
context_gr.stroke();
 
context_gr.closePath();
 
 
    } 
 
 
 
function draw_gr2() // Определение функции, рисующей второй график
 
{
 
 
GraphVel(b, 'blue'); //график для первого шара
 
GraphVel2(c, 'red'); //график для второго шара
 
GraphAxex2('black'); //оси
 
 
  
 
    }
 
 
function GraphVel(b, color)
 
    {
 
       
 
 
        context_gr2.strokeStyle = color;
 
     
 
context_gr2.beginPath();
 
 
context_gr2.moveTo((b.x-l1)*2*scale1 + scale*w1/2, b.vx*scale1 + scale*h1/2 );
 
context_gr2.lineTo((b.x_- l1)*2*scale1 + scale*w1/2, b.vx_*scale1 + scale*h1/2);
 
 
context_gr2.closePath();
 
context_gr2.stroke();
 
 
        
 
    }
 
 
    function GraphVel2(b, color)
 
    {
 
       
 
        context_gr2.strokeStyle = color;
 
     
 
context_gr2.beginPath();
 
 
context_gr2.moveTo((b.x-l1-l2)*2*scale1 + scale*w1/2, b.vx*scale1 + scale*h1/2 );
 
context_gr2.lineTo((b.x_- l1-l2)*2*scale1 + scale*w1/2, b.vx_*scale1 + scale*h1/2);
 
 
 
context_gr2.closePath();
 
context_gr2.stroke();
 
 
 
        
 
    }
 
 
function GraphAxex2(color)
 
{
 
context_gr2.strokeStyle = color;
 
        context_gr2.beginPath();
 
  // ось горизонтальная
 
context_gr2.moveTo(w1/2*scale, 0);
 
context_gr2.lineTo(w1/2*scale, h1*scale);
 
// ось вертикальная
 
context_gr2.moveTo(0, (h1/2)*scale);
 
context_gr2.lineTo((w1)*scale, (h1/2)*scale);
 
        context_gr2.closePath();
 
context_gr2.stroke();
 
 
}
 
</syntaxhighlight>
 
Файл '''"1_2.html"'''
 
<syntaxhighlight lang="html5" line start="1" enclose="div">
 
<!DOCTYPE html>
 
<html>
 
<head>
 
    <title> Particle </title>
 
    <script src="particle_in_well_2.js"></script>
 
</head>
 
<body>
 
<!-- Добавление области для рисования частицы -->
 
    <canvas id="canvasBalls" width="800" height="300" style="border:1px solid #000000;"></canvas>
 
<!-- Добавление области для рисования графика -->
 
<div>
 
        Координаты от времени:
 
        <font color="#0000FF" size="5"><B>—</B></font> Первое тело
 
       
 
        <font color="#FF0000" size="5"><B>—</B></font> Второе тело
 
       
 
    </div>   
 
<canvas id="canvasGraph" width="800" height="600" style="border:1px solid #000000;"></canvas>
 
<!-- Добавление чекбокса для ввода скорости частицы -->
 
<div>
 
        Фазовая плоскость:
 
        <font color="#0000FF" size="5"><B>—</B></font> Первое тело
 
       
 
        <font color="#FF0000" size="5"><B>—</B></font> Второе тело
 
       
 
    </div>   
 
<canvas id="canvasGraph1" width="800" height="600" style="border:1px solid #000000;"></canvas>
 
 
    <div>
 
    delt =
 
        <input id="Text_delt" style="width: 4.2ex;" required pattern="[-+]?([0-9]*\.[0-9]+|[0-9]+)" oninput="
 
            if (!this.checkValidity()) return;
 
            app.set_delt(this.value);
 
document.getElementById('Slider_delt').value = this.value;
 
         
 
        ">
 
<input type = "range"  id="Slider_delt" style="width: 100px;" oninput="app.set_delt(this.value); document.getElementById('Text_delt').value = this.value;">
 
        </I></font>
 
    </div>
 
 
<!-- Масса 1 -->
 
<div>
 
    m1 =
 
        <input id="Text_m1" style="width: 4.2ex;" required pattern="[-+]?([0-9]*\.[0-9]+|[0-9]+)" oninput="
 
            if (!this.checkValidity()) return;
 
            app.set_m1(this.value);
 
            document.getElementById('Slider_m1').value = this.value;
 
        ">
 
<input type = "range"  id="Slider_m1" style="width: 100px;" oninput="app.set_m1(this.value); document.getElementById('Text_m1').value = this.value;">
 
        </I></font>
 
    </div>
 
 
<!-- Жесткость 1-->
 
<div>
 
    c1 =
 
        <input id="Text_c1" style="width: 4.2ex;" required pattern="[-+]?([0-9]*\.[0-9]+|[0-9]+)" oninput="
 
            if (!this.checkValidity()) return;
 
            app.set_c1(this.value);
 
            document.getElementById('Slider_c1').value = this.value;
 
        ">
 
<input type = "range"  id="Slider_c1" style="width: 100px;" oninput="app.set_c1(this.value); document.getElementById('Text_c1').value = this.value;">
 
        </I></font>
 
    </div>
 
 
<!-- Масса 2-->
 
<div>
 
    m2 =
 
        <input id="Text_m2" style="width: 4.2ex;" required pattern="[-+]?([0-9]*\.[0-9]+|[0-9]+)" oninput="
 
            if (!this.checkValidity()) return;
 
            app.set_m2(this.value);
 
            document.getElementById('Slider_m2').value = this.value;
 
        ">
 
<input type = "range"  id="Slider_m2" style="width: 100px;" oninput="app.set_m2(this.value); document.getElementById('Text_m2').value = this.value;">
 
        </I></font>
 
    </div>
 
 
<!--Жесткость 2 -->
 
<div>
 
    c2 =
 
        <input id="Text_c2" style="width: 4.2ex;" required pattern="[-+]?([0-9]*\.[0-9]+|[0-9]+)" oninput="
 
            if (!this.checkValidity()) return;
 
            app.set_c2(this.value);
 
document.getElementById('Slider_c2').value = this.value;
 
 
           
 
        ">
 
<input type = "range"  id="Slider_c2" style="width: 100px;" oninput="app.set_c2(this.value); document.getElementById('Text_c2').value = this.value;">
 
 
        </I></font>
 
    </div>
 
<table>
 
        <tr>
 
           
 
                <td rowspan="4" style="width:200px" valign="top">
 
               
 
             
 
                <div style="width:450px">
 
                    Номер эксперимента<br>(наведите на кнопку,чтобы увидеть описание):<br>
 
                    <input type="button" title="Одинаковые массы шаров и жесткости пружин" style="width: 40px" name="" onclick="app.set_c1(100); app.set_c2(100);app.set_m1(5);app.set_m2(5);app.set_delt(1);
 
document.getElementById('Slider_m2').value = 5;document.getElementById('Slider_m1').value = 5;document.getElementById('Slider_c1').value = 100;document.getElementById('Slider_c2').value = 100;
 
document.getElementById('Text_m2').value = 5;document.getElementById('Text_m1').value = 5;document.getElementById('Text_c1').value = 100;document.getElementById('Text_c2').value = 100;" value="1"/>
 
                 
 
    <input type="button" title="Одинаковые массы шаров, но жесткость первой пружины больше второй жесткости в 10 раз" style="width: 40px" name="" onclick="app.set_c1(100); app.set_c2(10);app.set_m1(5);app.set_m2(5);app.set_delt(1);
 
document.getElementById('Slider_m2').value = 5;document.getElementById('Slider_m1').value = 5;document.getElementById('Slider_c1').value = 100;document.getElementById('Slider_c2').value = 10;
 
document.getElementById('Text_m2').value = 5;document.getElementById('Text_m1').value = 5;document.getElementById('Text_c1').value = 100;document.getElementById('Text_c2').value = 10;" value="2"/>
 
                   
 
<input type="button" title="Одинаковые массы шаров, но жесткость первой пружины больше второй жесткости в 100 раз" style="width: 40px" name="" onclick="app.set_c1(100); app.set_c2(1);app.set_m1(5);app.set_m2(5);app.set_delt(1);
 
document.getElementById('Slider_m2').value = 5;document.getElementById('Slider_m1').value = 5;document.getElementById('Slider_c1').value = 100;document.getElementById('Slider_c2').value = 1;
 
document.getElementById('Text_m2').value = 5;document.getElementById('Text_m1').value = 5;document.getElementById('Text_c1').value = 100;document.getElementById('Text_c2').value = 1;" value="3"/>
 
                   
 
<input type="button" title="Одинаковые массы шаров, но жесткость второй пружины больше первой жесткости в 10 раз" style="width: 40px" name="" onclick="app.set_c1(10); app.set_c2(100);app.set_m1(5);app.set_m2(5);app.set_delt(1);
 
document.getElementById('Slider_m2').value = 5;document.getElementById('Slider_m1').value = 5;document.getElementById('Slider_c1').value = 10;document.getElementById('Slider_c2').value = 100;
 
document.getElementById('Text_m2').value = 5;document.getElementById('Text_m1').value = 5;document.getElementById('Text_c1').value = 10;document.getElementById('Text_c2').value = 100;" value="4"/>
 
                   
 
<input type="button" title="Одинаковые массы шаров, но жесткость второй пружины больше первой жесткости в 100 раз" style="width: 40px" name="" onclick="app.set_c1(1); app.set_c2(100);app.set_m1(5);app.set_m2(5);app.set_delt(0);
 
document.getElementById('Slider_m2').value = 5;document.getElementById('Slider_m1').value = 5;document.getElementById('Slider_c1').value = 1;document.getElementById('Slider_c2').value = 100;
 
document.getElementById('Text_m2').value = 5;document.getElementById('Text_m1').value = 5;document.getElementById('Text_c1').value = 1;document.getElementById('Text_c2').value = 100;" value="5"/>
 
                   
 
<input type="button" title="Масса первого шара больше массы второго шара в 10 раз, жесткости одинаковые" style="width: 40px" name="" onclick="app.set_c1(100); app.set_c2(100);app.set_m1(10);app.set_m2(1);app.set_delt(1);
 
document.getElementById('Slider_m2').value = 1;document.getElementById('Slider_m1').value = 10;document.getElementById('Slider_c1').value = 100;document.getElementById('Slider_c2').value = 100;
 
document.getElementById('Text_m2').value = 1;document.getElementById('Text_m1').value = 10;document.getElementById('Text_c1').value = 100;document.getElementById('Text_c2').value = 100;" value="6"/>
 
                   
 
<input type="button" title="Масса первого шара больше массы второго шара в 100 раз, жесткости одинаковые" style="width: 40px" name="" onclick="app.set_c1(100); app.set_c2(100);app.set_m1(10);app.set_m2(0.1);app.set_delt(1);
 
document.getElementById('Slider_m2').value = 0.1;document.getElementById('Slider_m1').value = 10;document.getElementById('Slider_c1').value = 100;document.getElementById('Slider_c2').value = 100;
 
document.getElementById('Text_m2').value = 0.1;document.getElementById('Text_m1').value = 10;document.getElementById('Text_c1').value = 100;document.getElementById('Text_c2').value = 100;" value="7"/>
 
                 
 
    <input type="button" title="Масса второго шара больше массы первого шара в 10 раз, жесткости одинаковые" style="width: 40px" name="" onclick="app.set_c1(100); app.set_c2(100);app.set_m1(1);app.set_m2(10);app.set_delt(0);
 
document.getElementById('Slider_m2').value = 10;document.getElementById('Slider_m1').value = 1;document.getElementById('Slider_c1').value = 100;document.getElementById('Slider_c2').value = 100;
 
document.getElementById('Text_m2').value = 10;document.getElementById('Text_m1').value = 1;document.getElementById('Text_c1').value = 100;document.getElementById('Text_c2').value = 100;" value="8"/>
 
                   
 
<input type="button" title="Масса второго шара больше массы первого шара в 100 раз, жесткости одинаковые" style="width: 40px" name="" onclick="app.set_c1(200); app.set_c2(200);app.set_m1(0.1);app.set_m2(10);app.set_delt(1);
 
document.getElementById('Slider_m2').value = 10;document.getElementById('Slider_m1').value = 0.1;document.getElementById('Slider_c1').value = 200;document.getElementById('Slider_c2').value = 200;
 
document.getElementById('Text_m2').value = 10;document.getElementById('Text_m1').value = 0.1;document.getElementById('Text_c1').value = 200;document.getElementById('Text_c2').value = 200;" value="9"/>
 
                </div>
 
                </td>
 
        </tr><tr>
 
         
 
         
 
        </tr>
 
    </table>
 
 
 
 
    <script type="text/javascript"> app = new MainParticle(document.getElementById('canvasBalls'),document.getElementById('canvasGraph'),document.getElementById('canvasGraph1'));</script>
 
</body>
 
</html>
 
</syntaxhighlight>
 
</div>
 
</div>
 
 
 
[[Category: Виртуальная лаборатория]]
 
Вам запрещено изменять защиту статьи. Edit Создать редактором

Обратите внимание, что все добавления и изменения текста статьи рассматриваются как выпущенные на условиях лицензии Public Domain (см. Department of Theoretical and Applied Mechanics:Авторские права). Если вы не хотите, чтобы ваши тексты свободно распространялись и редактировались любым желающим, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого.
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ МАТЕРИАЛЫ, ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Отменить | Справка по редактированию  (в новом окне)