Тема: створення комп’ютерної моделі процесу взаємопов’язаного функціонування двох чи більше об’єктів за допомогою мови ruby і бібліотеки ruby2D.
Мета: навчитися створювати комп’ютерну модель процесу взаємопов’язаного функціонування двох чи більше об’єктів за допомогою мови ruby й унаочнювати її за допомогою бібліотеки ruby2D, вдосконалювати вміння визначати зв'язки між об'єктами, представляти їх у нових взаємозв'язках; формувати обізнаність про можливості ПК як інструменту навчально-пізнавальної діяльності. Після виконання роботи учень:
Обладнання: ПК з встановленою ОС, інтерпретатором ruby і бібліотекою ruby2d.
Структура уроку
Хід уроку
1. Організаційний момент
Вітання з класом. Перевірка присутності і готовності учнів до уроку. Перевірка виконання домашнього завдання.
2. Актуалізація опорних знань
Згадаймо деякі факти з математики й фізики, необхідні для побудови комп'ютерної моделі взаємодії кількох дисків (куль), які рухаються у межах прямокутника (прямокутного паралелепіпеда), відбиваючись від його стінок і злипаючись у момент дотику в одну. Для моделі плоских фігур (дисків) в усіх формулах нижче потрібно вилучити вирази з аплікатою z.
Відстань між точками A(xA , yA , zA) i B(xB , yB , zB) дорівнює такому виразу:
де піднесення до степеня 1/2 означає видобування арифметичного (невід'ємного) кореня квадратного.
Координати C(xC , yC , zC) середини відрізка з кінцями A(xA , yA , zA) i B(xB , yB , zB) задовольняють такі рівності:
які еквівалентні таким:
Рівномірний прямолінійний рух матеріальної точки у 3-вимірному означає таку зміну координат з плином часу t:
де:
x(t), y(t), z(t) — координати у момент часу t;
vx, vy, vz — сталі проєкції швидкості на осі координат.
Пружне відбивання від площини {x = a} матеріальної точки, яка, крім моменту удару, рухається рівномірно і прямолінійно, означає таке:
складова швидкості, перпендикулярна до площини відбивання, зберігає довжину, але змінює свій напрям на протилежний;
складова швидкості, паралельна площині відбивання, не змінюється після відбивання.
Внаслідок цього у довільний момент часу після відбивання відрізок, який сполучає відбиту і невідбиту точки:
Позначимо:
(x₀ , y₀ , z₀) — координати матеріальної точки, які б вона мала після моменту відбивання, якби самого відбивання не відбулося;
vx , vy , vz — проєкції швидкості на осі координат матеріальної точки, які б вона мала після моменту відбивання, якби самого відбивання не відбулося.
Наступні перетворення формулами задають перехід від властивостей невідбитої до властивостей відбитої матеріальної точки:
Якщо замість матеріальної точки розглянути кулю радіуса r з координатами центра (x₀ + r, y₀ + r, z₀ + r), формули будуть такими самими, як і для матеріальної точки, крім формули для абсциси x. Маємо еквівалентність з відбиванням матеріальної точки, що збіється з центром кулі:
Заміною літер "x", "y", "z" з поданих вище формул можна отримати формули для відбивання від площини {y = a} або {z = a}.
Закони збереження маси й імпульсу класичної механіки при "злипанні" двох куль в одну призводять до справдження таких рівностей:
m = m1 + m2;
x = (m1 x1 + m2 x2) / m;
y = (m1 y1 + m2 y2) / m;
z = (m1 z1 + m2 z2) / m;
vx = (m1 v1x + m2 v2x) / m;
vy = (m1 v1y + m2 v2y) / m;
vz = (m1 v1z + m2 v2z) / m,
де:
m — маса кулі — результату "злипання";
m1 , m2 — маси куль до зіткнення;
x1 , y1 , z1 — координати центра кулі маси m1, якби вона не "злиплася" з іншою;
x2 , y2 , z2 — координати центра кулі маси m2, якби вона не "злиплася" з іншою;
x, y, z — координати центра мас системи двох куль — центру результату злипання;
vx , vy , vz — координати швидкості центра мас системи двох куль — центру результату злипання;
v1x , v1y , v1z — координати швидкості кулі маси m1 до зіткнення;
v2x , v2y , v2z — координати швидкості кулі маси m2 до зіткнення.
3. Вивчення нових знань
Ruby 2D — багатоплатформна бібліотека для створення 2D-програми мовою Ruby.
Цю бібліотеку можна встановити, дотримуючись певних вказівок.
Для вироблення практичних навичок у процесі виконання завдання знадобляться знання щодо роботи з деякими об'єктами ruby2D: вікнами і зображеннями. Цих знань достатньо, щоб створити програму прямолінійного руху круга зі зміної його розмірів.
При створенні такої програми використано напівпрозоре зображення з білим кольором тла. При жовтому кольорі тла зображення набуде помаранчевого кольору. При виконанні завдання 1 для отримання такого самого кольору, як на наступній ілюстрації, потрібно використати зелений колір тла. За бажанням можна використати повністю білий круг на прозорому тлі.
4. Інструктаж з ТБ
5. Вироблення практичних навичок
Завдання 1. Створити проект «Колонія водоростей», в якому є спочатку кілька персонажів — колоній одноклітинних зелених водоростей однакової маси, які буде зображено кругами однакового радіусу. Вони рухаються прямокутним полем рівномірно і прямолінійно до дзеркального відбивання від його меж або до дотику двох колоній, після якого відбувається злипання і перетворення двох на одну колонію при збереженні маси й імпульсу руху (сума добутків мас і швидкостей). Радіус зображення пропорційний кореню квадратному маси колонії (тобто маса пропорційна площі відповідного зображення), а його центр є центром мас двох колоній, що злипаються.
Вказівки до виконання
Примітка. Вказівка: «Надати початкових випадкових значень коодинатам і швидкостям» передбачає розташування кругів без попарних перетинів. Якщо учень не знає, як це зробити, він може розташувати диски з перетинами і застосувати процедуру злиття дисків для отримання початкового стану. Але таке відхилення від плану понижує оцінку на 1 бал.
6. Підбиття підсумків уроку
Виставлення оцінок.
7. Домашнє завдання
У разі потреби завершити роботу над програмою. Порівняти з демонстраційним розв'язанням.
Завдання 2. Створити програму «Папуги», в якому є такі персонажі: Рудий Кіт та 6 папуг — по два червоного, жовтого та зеленого кольору. Папуги сидять по колу, їх занумеровано послідовними натуральними числами від 1 до 6. Рудий Кіт — у центрі кола. З інтервалом 3 секунди Кіт називає два різні випадкові натуральні числа у межах від 1 до 6 включно — номери папуг. Якщо ці папуги однакового кольору, нічого не відбувається. Інакше, якщо їхній колір різний, вони змінюють свій колір на один і той самий, який відмінний від кольору їх обох. Зображення знайти або виготовити самостійно.
Текст упорядкувала Суховенко Антоніна Павлівна, вчитель Компаніївського коледжу ветеринарної медицини Білоцерківського НАУ Київської області, під час виконання випускної роботи на курсах підвищення кваліфікації з 26.03.2018 р. по 30.03.2018 р.