Редактирование: Нелинейные колебания груза с вынуждающей силой программа

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

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

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 1: Строка 1:
{{#widget:Iframe |url=http://tm.spbstu.ru/htmlets/Kiselev/Spring/Springs.html |width=800 |height=800 |border=0 }}
+
<htmlet nocache="yes">Kiselev/Spring/Spring</htmlet>
  
Скачать программу: [[Медиа:SpringNoLine.rar|SpringNoLine.rar]]
+
Код программы:
  
'''Текст программы на языке JavaScript (разработчик [[Киселев Павел]]):''' <div class="mw-collapsible-content">
+
window.addEventListener("load", Main_Spring, true);
Файл '''"Spring.js"'''
+
function Main_Spring() {
<syntaxhighlight lang="javascript" enclose="div">
 
 
 
    window.addEventListener("load", Main_Spring, true);
 
    function Main_Spring() {
 
 
     var canvas = spring_canvas;
 
     var canvas = spring_canvas;
 
     canvas.onselectstart = function () {return false;};    // запрет выделения canvas
 
     canvas.onselectstart = function () {return false;};    // запрет выделения canvas
Строка 14: Строка 10:
 
     var w = canvas.width;                                  // ширина окна в расчетных координатах
 
     var w = canvas.width;                                  // ширина окна в расчетных координатах
 
     var h = canvas.height;                                  // высота окна в расчетных координатах
 
     var h = canvas.height;                                  // высота окна в расчетных координатах
     var Pi = 3.1415926;                             // число "пи"
+
     var Pi = 3.1415926;             // число "пи"
     var m0 = 1;                             // масштаб массы
+
     var m0 = 1;                 // масштаб массы
     var T0 = 1;                             // масштаб времени (период колебаний исходной системы)
+
     var T0 = 1;                 // масштаб времени (период колебаний исходной системы)
    var t = 0;
+
var t = 0;
     var k0 = 2 * Pi / T0;                               // масштаб частоты
+
     var k0 = 2 * Pi / T0;           // масштаб частоты
     var C0 = m0 * k0 * k0;                             // масштаб жесткости
+
     var C0 = m0 * k0 * k0;         // масштаб жесткости
     var B0 = 2 * m0 * k0;                           // масштаб вязкости
+
     var B0 = 2 * m0 * k0;           // масштаб вязкости
    var omega = 10;
+
var omega = 10;
   
 
 
     // *** Задание физических параметров ***
 
     // *** Задание физических параметров ***
    var F = 80;
+
var F = 80;
     var m = 1 * m0;                                     // масса
+
     var m = 1 * m0;                 // масса
     var C = 1 * C0;                                     // жесткость
+
     var C = 1 * C0;                 // жесткость
     var C1 = 1 * C0;                                     // жесткость1
+
     var C1 = 1 * C0;                 // жесткость1
    var B = .1 * B0;                                     // вязкость
+
var B = .1 * B0;                 // вязкость
   
 
 
     slider_m.value = (m / m0).toFixed(1); number_m.value = (m / m0).toFixed(1);
 
     slider_m.value = (m / m0).toFixed(1); number_m.value = (m / m0).toFixed(1);
 
     slider_C.value = (C / C0).toFixed(1); number_C.value = (C / C0).toFixed(1);
 
     slider_C.value = (C / C0).toFixed(1); number_C.value = (C / C0).toFixed(1);
    slider_C1.value = (C / C0).toFixed(1); number_C1.value = (C / C0).toFixed(1);
+
slider_C1.value = (C / C0).toFixed(1); number_C1.value = (C / C0).toFixed(1);
 
     slider_B.value = (B / B0).toFixed(1); number_B.value = (B / B0).toFixed(1);
 
     slider_B.value = (B / B0).toFixed(1); number_B.value = (B / B0).toFixed(1);
    slider_F.value = (F / 40).toFixed(1); number_F.value = (F / 40).toFixed(1);
+
slider_F.value = (F / 40).toFixed(1); number_F.value = (F / 40).toFixed(1);
  
 
     // *** Задание вычислительных параметров ***
 
     // *** Задание вычислительных параметров ***
  
     var fps = 300;                   // frames per second - число кадров в секунду (качечтво отображения)
+
     var fps = 300;               // frames per second - число кадров в секунду (качечтво отображения)
     var spf = 100;                   // steps per frame  - число шагов интегрирования между кадрами
+
     var spf = 100;               // steps per frame  - число шагов интегрирования между кадрами (edtkbxbdftn скорость расчета)
     var dt  = 0.05 * T0 / fps;               // шаг интегрирования (качество расчета)
+
     var dt  = 0.05 * T0 / fps;       // шаг интегрирования (качество расчета)
     var steps = 0;                                 // количество шагов интегрирования
+
     var steps = 0;                     // количество шагов интегрирования
  
 
     function setM(new_m) {m = new_m * m0;}
 
     function setM(new_m) {m = new_m * m0;}
 
     function setC(new_C) {C = new_C * C0;}
 
     function setC(new_C) {C = new_C * C0;}
    function setC1(new_C1) {C1 = new_C1 * C0 * 0.067;}
+
function setC1(new_C1) {C1 = new_C1 * C0 * 0.067;}
 
     function setB(new_B) {B = new_B * B0;}
 
     function setB(new_B) {B = new_B * B0;}
    function setF(new_F) {F = new_F * 40;}
+
function setF(new_F) {F = new_F * 40;}
  
 
     slider_m.oninput = function() {number_m.value = slider_m.value;      setM(slider_m.value);};
 
     slider_m.oninput = function() {number_m.value = slider_m.value;      setM(slider_m.value);};
Строка 53: Строка 47:
 
     slider_C.oninput = function() {number_C.value = slider_C.value;      setC(slider_C.value);};
 
     slider_C.oninput = function() {number_C.value = slider_C.value;      setC(slider_C.value);};
 
     number_C.oninput = function() {slider_C.value = number_C.value;      setC(number_C.value);};
 
     number_C.oninput = function() {slider_C.value = number_C.value;      setC(number_C.value);};
    slider_C1.oninput = function() {number_C1.value = slider_C1.value;      setC1(slider_C1.value);};
+
slider_C1.oninput = function() {number_C1.value = slider_C1.value;      setC1(slider_C1.value);};
 
     number_C1.oninput = function() {slider_C1.value = number_C1.value;      setC1(number_C1.value);};
 
     number_C1.oninput = function() {slider_C1.value = number_C1.value;      setC1(number_C1.value);};
 
     slider_B.oninput = function() {number_B.value = slider_B.value;      setB(slider_B.value);};
 
     slider_B.oninput = function() {number_B.value = slider_B.value;      setB(slider_B.value);};
 
     number_B.oninput = function() {slider_B.value = number_B.value;      setB(number_B.value);};
 
     number_B.oninput = function() {slider_B.value = number_B.value;      setB(number_B.value);};
    slider_F.oninput = function() {number_F.value = slider_F.value;      setF(slider_F.value);};
+
slider_F.oninput = function() {number_F.value = slider_F.value;      setF(slider_F.value);};
 
     number_F.oninput = function() {slider_F.value = number_F.value;      setF(number_F.value);};
 
     number_F.oninput = function() {slider_F.value = number_F.value;      setF(number_F.value);};
  
     var count = true;                   // проводить ли расчет системы
+
     var count = true;       // проводить ли расчет системы
 
     var v = 0; // скорость тела
 
     var v = 0; // скорость тела
  
     var rw = canvas.width / 30;   
+
     var rw = canvas.width / 30;    var rh = canvas.height / 1.5;
    var rh = canvas.height / 1.5;
+
     var x0 = 15 * rw - rw / 2;    var y0 = rh / 1.33 - rh / 2;
     var x0 = 15 * rw - rw / 2;   
 
    var y0 = rh / 1.33 - rh / 2;
 
  
 
     // параметры пружины
 
     // параметры пружины
Вам запрещено изменять защиту статьи. 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:

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