Редактирование: Chain v2

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

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

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 1: Строка 1:
[[Виртуальная лаборатория]] > [[Динамика одномерного кристалла]] > [[Цепь - версии]] > [[Chain v2]] <HR>
+
[[ТМ|Кафедра ТМ]] > [[Программирование]] > [[Программирование и моделирование в Интернет|Интернет]] > [[JavaScript-программирование|JavaScript]] > [[JavaScript - Цепь|Цепь]] > '''Chain v2''' <HR>
  
{{#widget:Iframe |url=http://tm.spbstu.ru/htmlets/Tcvetkov/Chain/Chain_v2_release/Chain_v2_release.html |width=830 |height=730 |border=0 }}
+
<addscript src=Chain_v2_release/><addscript src=jquery_min_new/><addscript src=TM_v2/><addscript src=jquery_flot/><addscript src=jquery_flot_axislabels/>
 +
<htmlet nocache="yes">Chain_v2_TM</htmlet>
  
  
 
Скачать программу: [[Медиа:Chain_v2_release.zip|Chain_v2_release.zip]]
 
Скачать программу: [[Медиа:Chain_v2_release.zip|Chain_v2_release.zip]]
<div class="mw-collapsible mw-collapsed" style="width:100%" >
+
Текст программы на языке JavaScript (разработчик [[Цветков Денис]]): <toggledisplay status=hide showtext="Показать↓" hidetext="Скрыть↑" linkstyle="font-size:default">  
'''Текст программы на языке JavaScript (разработчик [[Цветков Денис]]):''' <div class="mw-collapsible-content">
 
 
Файл '''"Chain_v2_release.js"'''
 
Файл '''"Chain_v2_release.js"'''
<syntaxhighlight lang="javascript" line start="1" enclose="div">
+
<source lang="javascript" first-line="1">
 
function MainChain(canvas) {
 
function MainChain(canvas) {
  
Строка 16: Строка 16:
 
     document.oncontextmenu=function(e){return false};      // блокировка контекстного меню
 
     document.oncontextmenu=function(e){return false};      // блокировка контекстного меню
  
     var Pi = 3.1415926;                  // число "пи"
+
     const Pi = 3.1415926;                  // число "пи"
  
     var m0 = 1;                          // масштаб массы
+
     const m0 = 1;                          // масштаб массы
     var T0 = 1;                          // масштаб времени (период колебаний исходной системы)
+
     const T0 = 1;                          // масштаб времени (период колебаний исходной системы)
     var a0 = 1;                          // масштаб расстояния (диаметр шара)
+
     const a0 = 1;                          // масштаб расстояния (диаметр шара)
  
     var k0 = 2 * Pi / T0;                // масштаб частоты
+
     const k0 = 2 * Pi / T0;                // масштаб частоты
     var C0 = m0 * k0 * k0;                // масштаб жесткости
+
     const C0 = m0 * k0 * k0;                // масштаб жесткости
  
 
     // *** Задание физических параметров ***
 
     // *** Задание физических параметров ***
  
     var Ny = 5;     // Число шаров, помещающихся по вертикали в окно (задает размер шара относительно размера окна)
+
     const Ny = 5;     // Число шаров, помещающихся по вертикали в окно (задает размер шара относительно размера окна)
     var scale = canvas.height / Ny / a0;  // масштабный коэффициент для перехода от расчетных к экранным координатам
+
     const scale = canvas.height / Ny / a0;  // масштабный коэффициент для перехода от расчетных к экранным координатам
     var m = 1 * m0;                    // масса
+
     const m = 1 * m0;                    // масса
     var C = 1 * C0;                    // жесткость
+
     const C = 1 * C0;                    // жесткость
 
     var num = 24;                          // начальное количество частиц
 
     var num = 24;                          // начальное количество частиц
  
 
     // *** Задание вычислительных параметров ***
 
     // *** Задание вычислительных параметров ***
  
     var fps = 50;                    // frames per second - число кадров в секунду (качечтво отображения)
+
     const fps = 50;                    // frames per second - число кадров в секунду (качечтво отображения)
     var spf = 100;                  // steps per frame  - число шагов интегрирования между кадрами (скорость расчета)
+
     const spf = 100;                  // steps per frame  - число шагов интегрирования между кадрами (скорость расчета)
     var dt  = 0.045 * T0 / fps;          // шаг интегрирования (качество расчета)
+
     const dt  = 0.045 * T0 / fps;          // шаг интегрирования (качество расчета)
  
 
     // Выполнение программы
 
     // Выполнение программы
Строка 91: Строка 91:
 
         var sumVx2 = 0;
 
         var sumVx2 = 0;
 
         for (var i2 = 1; i2 < num+1; i2++) sumVx2 += balls[i2].vx*balls[i2].vx;
 
         for (var i2 = 1; i2 < num+1; i2++) sumVx2 += balls[i2].vx*balls[i2].vx;
         var sigma2 = sumVx2 / num;
+
         const sigma2 = sumVx2 / num;
         var omega2 = C/m;
+
         const omega2 = C/m;
         var yLabel = 2*Math.sqrt(sigma2/omega2) *(num/8);    // в конце - коэффициент
+
         const yLabel = 2*Math.sqrt(sigma2/omega2) *(num/8);    // в конце - коэффициент
  
 
         uGraph = new TM_graph(              // определить график
 
         uGraph = new TM_graph(              // определить график
Строка 184: Строка 184:
 
     setInterval(control, 1000/fps);
 
     setInterval(control, 1000/fps);
 
}
 
}
</syntaxhighlight>
+
</source>
 
Файл '''"Chain_v2_release.html"'''
 
Файл '''"Chain_v2_release.html"'''
<syntaxhighlight lang="html5" line start="1" enclose="div">
+
<source lang="html" first-line="1">
 
<!DOCTYPE html>
 
<!DOCTYPE html>
 
<html>
 
<html>
Строка 210: Строка 210:
 
         Конфигурации (наведите на кнопку,<br>чтобы увидеть описание):<br>
 
         Конфигурации (наведите на кнопку,<br>чтобы увидеть описание):<br>
 
         <input type="button" title="Случайная скорость у каждой частички" style="width: 130px" name="" onclick="app.newSystem(app.conf_random);return false;" value="Random"/><br>
 
         <input type="button" title="Случайная скорость у каждой частички" style="width: 130px" name="" onclick="app.newSystem(app.conf_random);return false;" value="Random"/><br>
         <input type="button" title="Начальная скорость частиц задается с помощью функции синуса" style="width: 130px" name="" onclick="app.newSystem(app.conf_sin);return false;" value="Sin"/><br>
+
         <input type="button" title="Начальное перемещение частиц задается с помощью функции синуса" style="width: 130px" name="" onclick="app.newSystem(app.conf_sin);return false;" value="Sin"/><br>
         <input type="button" title="Скорость равна 0 у всех частичек, кроме одной" style="width: 130px" name="" onclick="app.newSystem(app.conf_one);return false;" value="One particle shift"/><br>
+
         <input type="button" title="Одна частичка сдвинута, остальные находятся в положении равновесия" style="width: 130px" name="" onclick="app.newSystem(app.conf_one);return false;" value="One particle shift"/><br>
         <input type="button" title="Начальная скорость частиц задается ступеньками - две частички движутся, две не движутся" style="width: 130px" name="" onclick="app.newSystem(app.conf_stair2);return false;" value="Stairs (2 particles)"/><br>
+
         <input type="button" title="Начальное перемещение частиц задается ступеньками - две частички сдвинуты, две не сдвинуты" style="width: 130px" name="" onclick="app.newSystem(app.conf_stair2);return false;" value="Stairs (2 particles)"/><br>
         <input type="button" title="Начальная скорость частиц задается ступеньками - три частички движутся, три не движутся" style="width: 130px" name="" onclick="app.newSystem(app.conf_stair3);return false;" value="Stairs (3 particles)"/><br>
+
         <input type="button" title="Начальное перемещение частиц задается ступеньками - три частички сдвинуты, три не сдвинуты" style="width: 130px" name="" onclick="app.newSystem(app.conf_stair3);return false;" value="Stairs (3 particles)"/><br>
         <input type="button" title="Начальная скорость частиц задается холмом, холм занимает 1/4 часть цепи" style="width: 130px" name="" onclick="app.newSystem(app.conf_hill);return false;" value="Hill"/><br>
+
         <input type="button" title="Начальное перемещение частиц задается холмом, холм занимает 1/4 часть цепи" style="width: 130px" name="" onclick="app.newSystem(app.conf_hill);return false;" value="Hill"/><br>
 
         <br><br>
 
         <br><br>
 
         Количество частиц:<br>
 
         Количество частиц:<br>
Строка 225: Строка 225:
 
</body>
 
</body>
 
</html>
 
</html>
</syntaxhighlight>
+
</source>
</div>
+
</toggledisplay>
</div>
 
  
[[Category: Виртуальная лаборатория]]
 
 
[[Category: Программирование]]
 
[[Category: Программирование]]
 +
[[Category: JavaScript]]
Вам запрещено изменять защиту статьи. 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:

Отменить | Справка по редактированию  (в новом окне)
Источник — «http://tm.spbstu.ru/Chain_v2»