Редактирование: Balls v6
Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
− | [[ | + | [[ТМ|Кафедра ТМ]] > [[Программирование]] > [[Программирование и моделирование в Интернет|Интернет]] > [[JavaScript-программирование|JavaScript]] > [[JavaScript - Balls|Balls]] > '''Balls v6''' <HR> |
− | + | <addscript src=Balls_v6_release/> | |
− | <htmlet nocache="yes"> | + | <htmlet nocache="yes">Balls_v6_TM</htmlet> |
Скачать программу: [[Медиа:Balls_v6_release.zip|Balls_v6_release.zip]] | Скачать программу: [[Медиа:Balls_v6_release.zip|Balls_v6_release.zip]] | ||
− | + | Текст программы на языке JavaScript (разработчики [[Кривцов Антон]], [[Цветков Денис]]): <toggledisplay status=hide showtext="Показать↓" hidetext="Скрыть↑" linkstyle="font-size:default"> | |
− | |||
Файл '''"Balls_v6_release.js"''' | Файл '''"Balls_v6_release.js"''' | ||
− | < | + | <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 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(' | + | var viscFrictionTh = document.getElementById('checkbox_03').checked; // термостат применяется к вязкости среды |
− | var internalFrictionTh = document.getElementById(' | + | 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('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) { | + | this.setCheckbox_03 = function(bool) {viscFrictionTh = bool;}; |
− | this.setCheckbox_04 | + | this.setCheckbox_04 = function(bool) {internalFrictionTh = bool;}; |
− | |||
// Настройка интерфейса | // Настройка интерфейса | ||
Строка 263: | Строка 259: | ||
var v2Average = v2Sum / balls.length; | var v2Average = v2Sum / balls.length; | ||
TActual = Tk * v2Average; | TActual = Tk * v2Average; | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
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); | ||
} | } | ||
− | </ | + | </source> |
Файл '''"Balls_v6_release.html"''' | Файл '''"Balls_v6_release.html"''' | ||
− | < | + | <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> | <br> | ||
Термостат действует на: | Термостат действует на: | ||
− | <input type="checkbox" checked id=" | + | <input type="checkbox" checked id="checkbox_03" name="" onchange="app.setCheckbox_03(this.checked);"/>Внешнее трение |
− | <input type="checkbox" checked id=" | + | <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> | ||
− | </ | + | </source> |
− | </ | + | </toggledisplay> |
− | |||
− | |||
[[Category: Программирование]] | [[Category: Программирование]] | ||
+ | [[Category: JavaScript]] |