Редактирование: Balls v6

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

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

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 1: Строка 1:
[[Виртуальная лаборатория]] > [[Динамика взаимодействующих частиц]] > [[Balls - версии]] > [[Balls v6]] <HR>
+
[[ТМ|Кафедра ТМ]] > [[Программирование]] > [[Программирование и моделирование в Интернет|Интернет]] > [[JavaScript-программирование|JavaScript]] > [[JavaScript - Balls|Balls]] > '''Balls v6''' <HR>
  
 
+
<addscript src=Balls_v6_release/>
<htmlet nocache="yes">Tcvetkov/Balls/Balls_v6_release/Balls_v6_TM</htmlet>
+
<htmlet nocache="yes">Balls_v6_TM</htmlet>
  
  
 
Скачать программу: [[Медиа:Balls_v6_release.zip|Balls_v6_release.zip]]
 
Скачать программу: [[Медиа:Balls_v6_release.zip|Balls_v6_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">
 
 
Файл '''"Balls_v6_release.js"'''
 
Файл '''"Balls_v6_release.js"'''
<syntaxhighlight lang="javascript" line start="1" enclose="div">
+
<source lang="javascript" first-line="1">
 
function MainBalls(canvas, slider_01, text_01, slider_02, text_02) {
 
function MainBalls(canvas, slider_01, text_01, slider_02, text_02) {
  
Строка 64: Строка 63:
  
 
     var thermostatEnabled = document.getElementById('checkbox_02').checked;    // термостат применяется к вязкости среды
 
     var thermostatEnabled = document.getElementById('checkbox_02').checked;    // термостат применяется к вязкости среды
    var addRandomV = document.getElementById('checkbox_03').checked;            // случайные скорости для разгона
 
 
     var T0 = 1 * D;                    // масштаб температуры
 
     var T0 = 1 * D;                    // масштаб температуры
 
     var TGoal = TGoalK * T0;            // целевая температура системы
 
     var TGoal = TGoalK * T0;            // целевая температура системы
Строка 71: Строка 69:
 
     var k = 1;                          // постоянную Больцмана примем за единицу
 
     var k = 1;                          // постоянную Больцмана примем за единицу
 
     var Tk = m / k;                    // ___в целях оптимизации___
 
     var Tk = m / k;                    // ___в целях оптимизации___
     var viscFrictionTh = document.getElementById('checkbox_04').checked;        // термостат применяется к вязкости среды
+
     var viscFrictionTh = document.getElementById('checkbox_03').checked;        // термостат применяется к вязкости среды
     var internalFrictionTh = document.getElementById('checkbox_05').checked;    // термостат применяется к внутреннему трению
+
     var internalFrictionTh = document.getElementById('checkbox_04').checked;    // термостат применяется к внутреннему трению
 
     var TempIntervalID;
 
     var TempIntervalID;
  
Строка 98: Строка 96:
 
         document.getElementById('checkbox_03').disabled = !bool;
 
         document.getElementById('checkbox_03').disabled = !bool;
 
         document.getElementById('checkbox_04').disabled = !bool;
 
         document.getElementById('checkbox_04').disabled = !bool;
        document.getElementById('checkbox_05').disabled = !bool;
 
 
         document.getElementById('slider_02').disabled = !bool;
 
         document.getElementById('slider_02').disabled = !bool;
 
         document.getElementById('text_02').disabled = !bool;
 
         document.getElementById('text_02').disabled = !bool;
Строка 111: Строка 108:
 
     };
 
     };
 
     this.setCheckbox_02(thermostatEnabled); // запускаем сразу, чтобы обновить состояния элементов интерфейса
 
     this.setCheckbox_02(thermostatEnabled); // запускаем сразу, чтобы обновить состояния элементов интерфейса
     this.setCheckbox_03 = function(bool) {addRandomV = bool;};
+
     this.setCheckbox_03 = function(bool) {viscFrictionTh = bool;};
     this.setCheckbox_04 = function(bool) {viscFrictionTh = bool;};
+
     this.setCheckbox_04 = function(bool) {internalFrictionTh = bool;};
    this.setCheckbox_05 = function(bool) {internalFrictionTh = bool;};
 
  
 
     // Настройка интерфейса
 
     // Настройка интерфейса
Строка 263: Строка 259:
 
                     var v2Average = v2Sum / balls.length;
 
                     var v2Average = v2Sum / balls.length;
 
                     TActual = Tk * v2Average;
 
                     TActual = Tk * v2Average;
 
                    if (addRandomV) {              // случайные скорости, если температура слишком мала
 
                        if (TGoal > 0.15 && TActual < 0.1) {
 
                            for (var i2 = 0; i2 < balls.length; i2++) {
 
                                balls[i2].vx += 0.3 * (1 - 2 * Math.random());
 
                                balls[i2].vy += 0.3 * (1 - 2 * Math.random());
 
                            }
 
                        }
 
                    }
 
  
 
                     if (TActual < TActualMax) {        // из за того, что мышкой можно задать шарам запредельную скорость
 
                     if (TActual < TActualMax) {        // из за того, что мышкой можно задать шарам запредельную скорость
Строка 375: Строка 362:
 
     setInterval(function(){document.getElementById('ballsNum').innerHTML = balls.length;}, 1000 / 20);
 
     setInterval(function(){document.getElementById('ballsNum').innerHTML = balls.length;}, 1000 / 20);
 
}
 
}
</syntaxhighlight>
+
</source>
 
Файл '''"Balls_v6_release.html"'''
 
Файл '''"Balls_v6_release.html"'''
<syntaxhighlight lang="html5" line start="1" enclose="div">
+
<source lang="html" first-line="1">
 
<!DOCTYPE html>
 
<!DOCTYPE html>
 
<html>
 
<html>
Строка 431: Строка 418:
 
             document.getElementById('slider_02').value = this.value;
 
             document.getElementById('slider_02').value = this.value;
 
         ">
 
         ">
        <br>
 
        <input type="checkbox" checked id="checkbox_03" name="" onchange="app.setCheckbox_03(this.checked);"/>Разгон случайными скоростями
 
 
         <br>
 
         <br>
 
         Термостат действует на:
 
         Термостат действует на:
         <input type="checkbox" checked id="checkbox_04" name="" onchange="app.setCheckbox_04(this.checked);"/>Внешнее трение
+
         <input type="checkbox" checked id="checkbox_03" name="" onchange="app.setCheckbox_03(this.checked);"/>Внешнее трение
         <input type="checkbox" checked id="checkbox_05" name="" onchange="app.setCheckbox_05(this.checked);"/>Внутреннее трение
+
         <input type="checkbox" checked id="checkbox_04" name="" onchange="app.setCheckbox_04(this.checked);"/>Внутреннее трение
 
         <div>T ≈ <span id="Temperature"></span></div>
 
         <div>T ≈ <span id="Temperature"></span></div>
 
     </div><br>
 
     </div><br>
Строка 451: Строка 436:
 
</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/Balls_v6»