Редактирование: Колебания материальной точки в поле силы тяжести

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

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

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 12: Строка 12:
 
\left\{  
 
\left\{  
 
\begin{array}{ll}
 
\begin{array}{ll}
m \ddot{x}  = \frac {c(a+x)}{S^{+}}(a-S^{+})-\frac {c(a-x)}{S^{+}}(a-S^{-})\\
+
m \ddot{x}  = \frac {c(a+x)}{\sqrt{y^{2}+(a+x)^{2}}}(a-\sqrt{y^{2}+(a+x)^{2}})-\frac {c(a-x)}{\sqrt{y^{2}+(a+x)^{2}}}(a-\sqrt{y^{2}+(a-x)^{2}})\\
\displaystyle m \ddot{y}  = -\frac {cy}{S^{+}}(a-S^{+})-\frac {cy}{S^{+}}(a-S^{-})+mg\\
+
\displaystyle m \ddot{y}  = -\frac {cy}{\sqrt{y^{2}+(a+x)^{2}}}(a-\sqrt{y^{2}+(a+x)^{2}})-\frac {cy}{\sqrt{y^{2}+(a+x)^{2}}}(a-\sqrt{y^{2}+(a-x)^{2}})+mg\\
 
\end{array}
 
\end{array}
 
\right.
 
\right.
Строка 19: Строка 19:
  
 
==Реализация==
 
==Реализация==
{{#widget:Iframe |url=http://tm.spbstu.ru/htmlets/Lobas/yiiis.html |width=1250 |height=1650 |border=0 }}
+
{{#widget:Iframe |url=http://tm.spbstu.ru/htmlets/Lobas/yiis.html |width=1250 |height=1650 |border=0 }}
 
<br />
 
<br />
  
Строка 65: Строка 65:
 
var n4 = 0;
 
var n4 = 0;
 
var ab = 1;
 
var ab = 1;
var gr = 0;
 
 
     MainBall.prototype.setXo = function(n1){ball.x = n1;};              //считывание координаты Х
 
     MainBall.prototype.setXo = function(n1){ball.x = n1;};              //считывание координаты Х
 
     MainBall.prototype.setYo = function(n2){ball.y = n2;};              //считывание координаты У
 
     MainBall.prototype.setYo = function(n2){ball.y = n2;};              //считывание координаты У
Строка 71: Строка 70:
 
MainBall.prototype.setVYo = function(n4){ball.vy = ball.vy * n4;};  //обнуление скорости по У
 
MainBall.prototype.setVYo = function(n4){ball.vy = ball.vy * n4;};  //обнуление скорости по У
 
MainBall.prototype.setAB = function(n5){ab = n5;};                  //считывание отношения а/b
 
MainBall.prototype.setAB = function(n5){ab = n5;};                  //считывание отношения а/b
 
+
//slider_vx.oninput = function() {setVXo(slider_vx.value);};          //считывание скорости по Х
    number_ab.oninput = function() {MainBall.prototype.setAB(Number(number_ab.value));}
+
//slider_vy.oninput = function() {setVYo(slider_vy.value);};         //считывание скорости по У
+
//number_ab.oninput = function() {setAB(Number(number_ab.value));};
restart.onclick = function(){
+
   
ball.x = 0;
 
ball.y = 0;
 
ball.vx = input_vx.value * 50;
 
ball.vy = input_vy.value * 50;
 
}
 
 
 
     function control() {
 
     function control() {
 
         physics();
 
         physics();
Строка 141: Строка 134:
 
contextX.beginPath();          //рисование графика Х
 
contextX.beginPath();          //рисование графика Х
 
contextX.strokeStyle = 'black';
 
contextX.strokeStyle = 'black';
contextX.moveTo(t*20 - dt * 10 - gr * 1200, ((ball.x - ball.vx * dt * 5) * 5 + h/2) / 2);
+
contextX.moveTo(t*20 - dt * 10, ((ball.x - ball.vx * dt * 5) * 5 + h/2) / 2);
contextX.lineTo(t*20 - gr * 1200, (ball.x * 5 + h/2) / 2);
+
contextX.lineTo(t*20, (ball.x * 5 + h/2) / 2);
 
contextX.closePath();
 
contextX.closePath();
 
contextX.stroke();
 
contextX.stroke();
Строка 148: Строка 141:
 
contextY.beginPath();          //рисование графика У
 
contextY.beginPath();          //рисование графика У
 
contextY.strokeStyle = 'black';
 
contextY.strokeStyle = 'black';
contextY.moveTo(t*20 - dt * 10 - gr * 1200, ((ball.y - ball.vy * dt * 5) * 5 + h/2) / 2);
+
contextY.moveTo(t*20 - dt * 10, ((ball.y - ball.vy * dt * 5) * 5 + h/2) / 2);
contextY.lineTo(t*20 - gr * 1200, (ball.y * 5 + h/2) / 2);
+
contextY.lineTo(t*20, (ball.y * 5 + h/2) / 2);
 
contextY.closePath();
 
contextY.closePath();
 
contextY.stroke();
 
contextY.stroke();
+
    }
if (t * 20 > (gr + 1) * 1200) {
 
contextX.clearRect(0, 0, 1200, h);
 
contextY.clearRect(0, 0, 1200, h);
 
 
contextX.beginPath();
 
contextX.strokeStyle = "#bbbbbb";
 
contextX.moveTo(0, h/4);
 
contextX.lineTo(1200, h/4);
 
contextX.closePath();
 
contextX.stroke();
 
 
contextY.beginPath();
 
contextY.strokeStyle = "#bbbbbb";
 
contextY.moveTo(0, h/4);
 
contextY.lineTo(1200, h/4);
 
contextY.closePath();
 
contextY.stroke();
 
gr++;
 
};
 
}
 
  
 
     setInterval(control, 1000/fps);
 
     setInterval(control, 1000/fps);
Вам запрещено изменять защиту статьи. 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:

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