8-ma’ruza: Dasturlash va vektor mexanikasi

AI yordamida fizika dasturlash: vektorlar, kuchlar, to‘qnashuvlar

Vektor arifmetikasi, Nyuton qonunlariga asoslangan kuch-tezlanish hisoblash, Claude bilan juftlikda dasturlash (Pair-Programming), 2D elastik to‘qnashuv impulsi (Impulse-based Collision Resolution), WolframAlpha tekshiruvi va ChatGPT trayektoriya tahlili.

📋 8-ma’ruza rejasi va AI texnologik konveyeri:

1. AI diagnostika va reja:
MagicSchool AI: Vektorli algebra va to‘qnashuvlar bo‘yicha 3 klasterli adaptiv yo‘l xaritasi.
2. Juftlikda dasturlash:
Claude: Driver-Navigator modeli, energiya saqlanishi va penetratsiyani debugging qilish.
3. Vektor arifmetikasi va impuls:
WolframAlpha: Skalyar ko‘paytma, 2D elastik impuls ($j$) va MTV positional correction.
4. Dvigatel kodi (Artifacts):
Claude (Artifacts): Vector2D, RigidBody2D va CollisionResolver to‘liq ES6 kodi.
5. Trayektoriya va grafika:
ChatGPT (Code Interpreter): $x(t), y(t)$ trayektoriya izlari, kinetik energiya va impuls saqlanishi.
6. Simulyatsiya va test:
HTML5 Canvas 2D to‘qnashuvlar laboratoriyasi, vektorlar overleyi, diagnostika va adabiyotlar.
1-bosqich: Kognitiv diagnostika

MagicSchool AI: vektor mexanikasi va 3 klasterli adaptiv o‘quv rejasi

📚 Nazariy-Metodologik Asos va Ilmiy Manbalar (WWW):

Fizika dasturlashda vektorli tafakkur va to‘qnashuvlar mexanikasini o‘zlashtirish Lev Vygotskiyning "Eng Yaqin Rivojlanish Zonasi" (ZPD, 1978) hamda Bloomning taksonomiyasi (Anderson va Krathwohl, 2001) prinsiplariga tayanadi. Talabalarning boshlang‘ich vektor-fizik va dasturlash bilimlari MagicSchool AI diagnostikasi orqali 3 ta ixtisoslashgan klasterga ajratiladi.

🔗 Asosiy manbalar: Vygotsky, L. S. (1978). Mind in Society, Harvard Univ. Press; Anderson va Krathwohl (2001). A Taxonomy for Learning, Teaching, and Assessing, Longman; MagicSchool AI Research (2024). magicschool.ai.

Fizika dvigatellarini yaratishda vektorli arifmetika (qo‘shish, ayirish, skalyar ko‘paytma, normalizatsiya, akslantirish) fundamental poydevor hisoblanadi. MagicSchool AI kirish diagnostikasi orqali talabalarni quyidagi 3 klasterga ajratadi:

Klaster A (boshlang‘ich)

Scaffolding

Skalyar tezlik va massani biladi, biroq 2D vektorli qo‘shish va skalyar ko‘paytmani chalkashtiradi. To‘qnashuvda faqat bitta o‘q bo‘yicha tezlik ishorasini almashtirishga urinadi.

O‘quv trayektoriyasi: Vector2D klassini bosqichma-bosqich yozish, 1D markaziy elastik to‘qnashuvlar va devorga elastik urilish.

Klaster B (o‘rta / standart)

Dvigatel quruvchi

2D vektorli algebrani yaxshi biladi. Impuls saqlanish qonunini tushunadi. Penetratsiya (jismlar bir-biriga kirib ketishi) va energiya yo‘qolishi xatolariga yo‘l qo‘yadi.

O‘quv trayektoriyasi: 2D impuls formulasi ($j$), MTV positional correction va Claude bilan juftlikda dasturlash.

Klaster C (Ilg‘or / Research)

Tadqiqotchi

Qattiq jism (Rigid Body) dinamikasini biladi. Aylanma inersiya va burchak tezligini hisobga olgan holda to‘qnashuvlarni modellashtira oladi.

O‘quv trayektoriyasi: Separating Axis Theorem (SAT) ko‘pburchaklar uchun, aylanishli impuls almashinuvi va parallel hisoblash.

🗺️ 4 Haftalik adaptiv vektor dasturlash yo‘l xaritasi:

Bosqich Hafta Klaster A (boshlang‘ich) Klaster B (standart) Klaster C (ilg‘or) Baholash mezonlari
1-Hafta Vektor Arifmetikasi Vector2D klassi (add, sub, mult, mag) Skalyar ko‘paytma (dot) va normalizatsiya Vektorli proyeksiyalar va akslantirish (reflect) Vektor funksiyalari to‘g‘riligi (100%)
2-Hafta To‘qnashuv Impulsi 1D elastik to‘qnashuv va tezliklar almashinuvi 2D impuls tenglamasi ($j$) va nisbiy tezlik Aylanma inersiya va burchak momenti impulsi Impuls saqlanish aniqligi
3-Hafta AI Debugging va Penetratsiya Claude bilan oddiy xatolarni tuzatish Positional correction (MTV) bilan sinkingni yo‘qotish SAT (Separating Axis Theorem) ko‘pburchaklar uchun Penetratsiya yo‘qligi ($0\text{ px}$)
4-Hafta Capstone va Trayektoriya Bilyard to‘qnashuvi simulyatsiyasi Ko‘p zarrachali dvigatel va energiya telemetriyasi Parametrik tahlil va fazoviy faza fazosi grafigi Akademik loyiha himoyasi
MagicSchool AI uchun Moslashtirilgan Diagnostika Prompti
Sen Oliy ta’lim hisoblash fizikasi va dasturlash metodistisan. Talabalarning "2D Vektor Mexanikasi va To‘qnashuvlar Dvigateli" bo‘yicha tayyorgarligini baholash uchun 5 ta kognitiv test savoli ishlab chiq: 1) Ikki vektor skalyar ko‘paytmasi noldan kichik bo‘lishining fizik ma’nosi, 2) 2D to‘qnashuvda nisbiy tezlikning normalga proyeksiyasi v_norm > 0 bo‘lsa nima sodir bo‘ladi, 3) To‘qnashuv impuls moduli formulasidagi (1 + e) hadi nimani ifodalaydi, 4) Nima uchun jismlar to‘qnashganda bir-birining ichiga kirib qoladi (sinking) va uni qanday tuzatish mumkin, 5) Elastik to‘qnashuvda umumiy kinetik energiya va impuls saqlanish sharti. Natijalarni A, B, C klasterlarga ajratib, 4 haftalik laboratoriya rejasini tuz.
2-bosqich: AI juftlikda dasturlash

Claude bilan juftlikda dasturlash (Pair-Programming) va debugging

📚 Metodologik Asos va Ilmiy-Texnik Manbalar (WWW):

Dasturiy injiniring va fizika ta’limida Driver-Navigator modeli (Williams va Kessler, 2002, Pair Programming Illuminated) talabalarning dasturlashdagi konseptual va mantiqiy xatolarini 40% dan ko‘proqqa qisqartirishi ilmiy isbotlangan (Begel va Nagappan, IEEE 2008). Claude bilan tashkil etilgan juftlikda dasturlash sessiyasida talaba kod yozadi (Driver), AI esa navigatorda fizik qonuniyatlarning buzilishini (energiya saqlanmasligi, massalar teskariligi, penetratsiya) Sokratik dialog uslubida real vaqtda aniqlaydi va tuzatish taklif etadi.

🔗 Asosiy manbalar: Williams, L., va Kessler, R. (2002). Pair Programming Illuminated. Addison-Wesley (ISBN: 978-0201745764); Begel, A., va Nagappan, N. (2008). Pair programming: what’s in it for me? IEEE ESEM, DOI: 10.1145/1414004.1414026; Anthropic Research (2024). Claude System Capabilities. anthropic.com.
AI Pair Programming Workflow

💬 Real sokratik debugging dialogi transkripti:

Talaba (Driver): "Men 2 ta to‘p to‘qnashuvini yozdim. To‘plar bir-biriga urilganda to‘xtab qolmayapti, balki bir-birining ichiga kirib, yopishib tebranyapti. Kodimda impuls to‘g‘ri hisoblangan:"
p1.vel.add(Vector2D.mult(n_hat, impulse / p1.m));
p2.vel.sub(Vector2D.mult(n_hat, impulse / p2.m));
Claude (Navigator): "Ajoyib boshlanish! Tezliklar impulsi to‘g‘ri yangilanmoqda. Biroq jism koordinatalariga e’tibor bering: to‘qnashuv aniqlangan paytda ikkala shar allaqachon bir necha piksel bir-birining ichiga kirib bo‘lgan (`dist < r1 + r2`). Agar siz faqat tezlikni o'zgartirsangiz va ular keyingi kadrda ham ajralishga ulgurmasa, impuls yana qayta qo'llanadi! Buni bartaraf etish uchun qanday geometrik siljish (Positional Correction) qilish kerak deb o'ylaysiz?"
Talaba (Driver): "Aha! Penetratsiya chuqurligi `penetration = (r1 + r2) - dist` ga teng. Demak, ikkala to‘pni normal yo‘nalish bo‘yicha qarama-qarshi tomonga `penetration / 2` masofaga surib qo‘yishim kerak ekan!"
Claude (Navigator): "Ofarin! Aynan shunday. Bunga fizikada **Minimum Translation Vector (MTV)** orqali penetratsiyani yo‘qotish deyiladi. Endi yana bir muhim shart: agar jismlar allaqachon bir-biridan uzoqlashayotgan bo‘lsa (`v_rel . n > 0`), impuls hisoblanmasligi kerak, aks holda ular sun’iy ravishda tortishib qoladi."

⚠️ Juftlikda dasturlashda aniqlanadigan 3 ta asosiy fizik-algoritmik xato:

1. Penetratsiya va yopishish (Sinking)

Sababi: Diskret vaqt qadami ($\Delta t$) tufayli to‘qnashuv paytida jismlar bir-birining ichiga kirib ketadi. Faqat tezlik o‘zgartirilsa, keyingi kadrda ham $d < r_1 + r_2$ qolib, impuls qayta-qayta hisoblanadi.

Yechim: Positional correction (MTV) orqali jismlarni $\frac{\text{penetration}}{2}$ ga qarama-qarshi surish.
2. Sun’iy energiya yaratilishi (Sticking Bug)

Sababi: Jismlar to‘qnashib, allaqachon bir-biridan uzoqlashayotgan paytda ($v_{norm} \ge 0$) impuls sharti tekshirilmasa, dvigatel ularga yana teskari impuls berib, sun’iy tortishish va cheksiz tezlanish hosil qiladi.

Yechim: Qat’iy `if (vNorm < 0)` shartini qo'yish.
3. Massalar teskariligi (Inertia Singularity)

Sababi: Harakatsiz devor yoki cheksiz massali to‘siq bilan to‘qnashganda $m = \infty$ ni dasturda nolga bo‘lish ($1/0$) orqali `NaN` yoki `Infinity` xatosi kelib chiqadi.

Yechim: To‘siqlar uchun $invMass = 0$ qiymatidan foydalanish.
Claude bilan Juftlikda Dasturlash va Debugging Prompti
Sen tajribali Fizika Dasturlash bo‘yicha Senior Navigator (Pair-programmer) vazifasini bajarasan. Men senga o‘zim yozgan JavaScript/Canvas fizika dvigateli kodini yuboraman. Sen: 1) Koddagi fizik va matematik xatolarni (energiya saqlanishi, impuls, penetratsiya) aniqla; 2) Menga tayyor kodni darhol bermasdan, Sokratik savollar orqali xatoni o‘zim topishimga yordam ber; 3) Zero-allocation va ES6 Vector2D klassi bo‘yicha optimallashtirish tavsiyalarini ber.
3-bosqich: Matematik apparat

Vektor arifmetikasi va 2D to‘qnashuv impuls mexanikasi: WolframAlpha

📚 Nazariy Mexanika va Impuls Saqlanish Qonuni Asoslari (WWW):

2D qattiq jismlar to‘qnashuvi David Baraff (1997, Physically Based Modeling: Rigid Body Simulation, SIGGRAPH), Halliday, Resnick va Walker (2018, Fundamentals of Physics, 11th ed., Ch. 9) hamda Christer Ericson (2004, Real-Time Collision Detection) darsliklari asosida impuls dinamikasi orqali modellashtiriladi. WolframAlpha yordamida nochiziqli vektorli tenglamalar tizimi va kinetik energiya yo‘qotilishi analitik tarzda tekshiriladi.

🔗 Asosiy manbalar: Baraff, D. (1997). SIGGRAPH Course Notes; Halliday, Resnick, va Walker (2018). Fundamentals of Physics, Wiley (ISBN: 978-1119286240); Ericson, C. (2004). Real-Time Collision Detection, CRC Press (ISBN: 978-1558607323); Wolfram|Alpha Dynamics Solver: wolframalpha.com.
Vector Math Operations

📐 Asosiy vektor tenglamalari:

1. Nisbiy masofa va birlik normal vektor: $$\vec{r}_{rel} = \vec{r}_1 - \vec{r}_2, \quad d = |\vec{r}_{rel}| = \sqrt{(x_1 - x_2)^2 + (y_1 - y_2)^2}, \quad \hat{n} = \frac{\vec{r}_{rel}}{d}$$

2. Nisbiy tezlik va normal proyeksiya: $$\vec{v}_{rel} = \vec{v}_1 - \vec{v}_2, \quad v_{norm} = \vec{v}_{rel} \cdot \hat{n} = (v_{1x} - v_{2x})n_x + (v_{1y} - v_{2y})n_y$$ Agar $v_{norm} \ge 0$ bo‘lsa, jismlar bir-biridan uzoqlashmoqda va impuls hisoblanmaydi!

3. To‘qnashuv impuls skalyar moduli ($j$): $$j = \frac{-(1 + e) v_{norm}}{\frac{1}{m_1} + \frac{1}{m_2}} = \frac{-(1 + e)(\vec{v}_{rel} \cdot \hat{n})}{\frac{1}{m_1} + \frac{1}{m_2}}$$ (bu yerda $e \in [0, 1]$ — tiklanish/elastiklik koeffitsiyenti).

4. Tezliklarning yangilanishi: $$\vec{v}_1' = \vec{v}_1 + \frac{j}{m_1}\hat{n}, \quad \vec{v}_2' = \vec{v}_2 - \frac{j}{m_2}\hat{n}$$

💥 2D impuls to‘qnashuv chizmasi

2D Collision Impulse
Penetration Resolution

📊 1D to‘g‘ri chiziqli va 2D tekislikdagi to‘qnashuvlar qiyosiy tahlili:

Xususiyat / parametr 1D markaziy to‘qnashuv 2D qiya (oblique) to‘qnashuv Fizik saqlanish qonuni
Tezliklar Yo‘nalishi Faqat bitta o‘q ($x$) bo‘ylab ishora o‘zgaradi Normal ($\hat{n}$) va tangensial ($\hat{t}$) o‘qlarga ajraladi Impuls vektorining o‘qlardagi proyeksiyalari
Normal Bo‘yicha Impuls ($j$) $j = \frac{-(1+e)(v_1 - v_2)}{1/m_1 + 1/m_2}$ $j = \frac{-(1+e)(\vec{v}_{rel} \cdot \hat{n})}{1/m_1 + 1/m_2}$ Nyutonning 3-qonuni ($\vec{F}_{12} = -\vec{F}_{21}$)
Tangensial Tezlik ($v_t$) Mavjud emas ($v_t = 0$) Ishqalanishsiz holda o‘zgarmaydi ($v_{1t}' = v_{1t}$) Urinma tekislikda kuch yo‘qligi
Kinetik Energiya Farqi ($\Delta E_k$) $\Delta E_k = \frac{1}{2}(1-e^2)\mu(v_1 - v_2)^2$ $\Delta E_k = \frac{1}{2}(1-e^2)\mu(\vec{v}_{rel}\cdot\hat{n})^2$ Termodinamikaning 1-qonuni (Issiqlik ajralishi)
WolframAlpha uchun 3 Ta Ixtisoslashgan Impuls va Dinamika So‘rovlari
1) Umumiy 1D/2D impuls va tezliklar yechimi: solve {m1*v1 + m2*v2 = m1*u1 + m2*u2, (u2 - u1) = -e*(v2 - v1)} for u1, u2 2) Noelastik to‘qnashuvda energiya yo‘qolishi (e = 0.8): DeltaEk = 1/2 * (1 - e^2) * (m1*m2)/(m1+m2) * (v1 - v2)^2 where m1=3, m2=5, v1=10, v2=-4, e=0.8 3) 2D vektorli to‘qnashuv yechimi: 2D elastic collision vector: v1 = {4, 2}, v2 = {-2, 1}, n = {1, 0}, m1=2, m2=2
4-bosqich: Kod strukturası

Claude (Artifacts): to‘liq fizika dvigateli kodi

📚 Dasturiy Standart va Arxitekturaviy Manbalar (WWW):

Fizik dvigatel arxitekturasi Jason Gregory (2018, Game Engine Architecture, 3rd ed., CRC Press) hamda Glenn Fiedler (2004, Collision Response) prinsiplari asosida modulli ECMAScript 6 (ES6) formatida ishlab chiqilgan. Xotira ajratilishini (Memory Allocation) minimallashtirish, zarrachalar to‘qnashuvini diskret vaqt qadamlarida deterministik integratsiyalash ta’minlangan.

🔗 Asosiy manbalar: Gregory, J. (2018). Game Engine Architecture, CRC Press (ISBN: 978-1138035485); Fiedler, G. (2004). Gaffer on Games: Collision Response; Millington, I. (2010). Game Physics Engine Development, Morgan Kaufmann (ISBN: 978-0123819765); Mozilla Developer Network (MDN) 2D Physics: developer.mozilla.org.
Claude tomonidan Generatsiya Qilingan 2D Modular Physics Engine Kodi (ES6)
// Claude 2D Vector Physics Engine (ES6) class Vector2D { constructor(x = 0, y = 0) { this.x = x; this.y = y; } set(x, y) { this.x = x; this.y = y; return this; } add(v) { this.x += v.x; this.y += v.y; return this; } sub(v) { this.x -= v.x; this.y -= v.y; return this; } mult(n) { this.x *= n; this.y *= n; return this; } mag() { return Math.sqrt(this.x * this.x + this.y * this.y); } dot(v) { return this.x * v.x + this.y * v.y; } normalize() { const m = this.mag(); if (m > 0) { this.x /= m; this.y /= m; } return this; } dist(v) { const dx = this.x - v.x, dy = this.y - v.y; return Math.sqrt(dx * dx + dy * dy); } } class RigidBody2D { constructor(x, y, vx, vy, mass, radius, color = '#38BDF8') { this.pos = new Vector2D(x, y); this.vel = new Vector2D(vx, vy); this.acc = new Vector2D(0, 0); this.m = mass; this.invM = mass > 0 ? 1 / mass : 0; // mass=0 bo‘lsa harakatsiz to‘siq this.r = radius; this.color = color; this.trail = []; } update(dt) { this.vel.x += this.acc.x * dt; this.vel.y += this.acc.y * dt; this.pos.x += this.vel.x * dt; this.pos.y += this.vel.y * dt; // Trayektoriya izi this.trail.push({ x: this.pos.x, y: this.pos.y }); if (this.trail.length > 50) this.trail.shift(); } } function resolveCollision(b1, b2, restitution = 1.0) { const dx = b1.pos.x - b2.pos.x; const dy = b1.pos.y - b2.pos.y; const dist = Math.sqrt(dx * dx + dy * dy); const minDist = b1.r + b2.r; // 1. To‘qnashuvni aniqlash if (dist < minDist && dist > 0) { const nx = dx / dist; const ny = dy / dist; const vRelX = b1.vel.x - b2.vel.x; const vRelY = b1.vel.y - b2.vel.y; const vNorm = vRelX * nx + vRelY * ny; // 2. Yaqinlashish shartini tekshirish (vNorm < 0) if (vNorm < 0) { const impulse = -(1 + restitution) * vNorm / (b1.invM + b2.invM); b1.vel.x += (impulse * b1.invM) * nx; b1.vel.y += (impulse * b1.invM) * ny; b2.vel.x -= (impulse * b2.invM) * nx; b2.vel.y -= (impulse * b2.invM) * ny; } // 3. Positional correction (Penetratsiyani massalarga mutanosib yo'qotish) const penetration = minDist - dist; const totalInvM = b1.invM + b2.invM; if (totalInvM > 0) { b1.pos.x += (penetration * (b1.invM / totalInvM)) * nx; b1.pos.y += (penetration * (b1.invM / totalInvM)) * ny; b2.pos.x -= (penetration * (b2.invM / totalInvM)) * nx; b2.pos.y -= (penetration * (b2.invM / totalInvM)) * ny; } } }
5-bosqich: Trayektoriya va ma’lumotlar

Harakat trayektoriyasi va saqlanish qonunlari grafiklari: ChatGPT

📚 Fazoviy Dinamika va Sonli Tahlil Manbalari (WWW):

Fizika simulyatsiyasining ilmiy haqiqiyligi umumiy impuls ($\vec{P} = \text{const}$) va kinetik energiya ($E_k$) saqlanish qonunlari orqali tekshiriladi (Marion va Thornton, 1995, Classical Dynamics of Particles and Systems; Hairer et al., 2006, Geometric Numerical Integration). ChatGPT Code Interpreter simulyatsiyadan olingan telemetriya ma’lumotlarini qayta ishlab, faza fazosi va energiya dissipatsiyasini Matplotlib orqali tahlil qiladi.

🔗 Asosiy manbalar: Marion, J. B., va Thornton, S. T. (1995). Classical Dynamics, Saunders College Pub.; Hairer, E., et al. (2006). Geometric Numerical Integration, Springer, DOI: 10.1007/3-540-30666-8; Hunter, J. D. (2007). Matplotlib: A 2D Graphics Environment, Computing in Science va Eng., DOI: 10.1109/MCSE.2007.55; OpenAI (2024). openai.com.

📊 ChatGPT Code Interpreter uchun Python tahlil skripti:

import matplotlib.pyplot as plt
import numpy as np

# Telemetriya ma’lumotlarini tekshirish
time = np.linspace(0, 10, 500)
energy_elastic = 0.5 * m1 * v1**2 + 0.5 * m2 * v2**2
momentum_x = m1 * vx1 + m2 * vx2

plt.plot(time, energy_elastic, label='Kinetik Energiya (Ek)')
plt.axhline(energy_elastic[0], color='r', linestyle='--', label='Nazariy Ek')
plt.title('Elastik To\'qnashuvda Energiya Saqlanishi')
plt.xlabel('Vaqt t (s)')
plt.ylabel('Energiya (J)')
plt.legend()
plt.show()

📈 To‘qnashuv natijalari tahlili:

  • Elastik to‘qnashuv ($e = 1.0$): Umumiy kinetik energiya $E_k(t) = \text{const}$ bo‘lib saqlanadi.
  • Noelastik to‘qnashuv ($e < 1.0$): Energiya farqi $\Delta E_k = \frac{1}{2}(1 - e^2)\frac{m_1 m_2}{m_1 + m_2} v_{norm}^2$ ko‘rinishida ichki energiyaga (issiqlikka) aylanadi.
  • Impuls saqlanishi: Tashqi kuchlar bo‘lmaganda ($g = 0$), to‘liq impuls $\vec{P} = \text{const}$ barcha $e$ qiymatlarida qat’iy saqlanadi.

📑 Simulyatsiyadan eksport qilinadigan telemetriya ma’lumotlari strukturasi:

Parametr Turi / birligi Fizik tavsifi ChatGPT tahlil maqsadi
time_s Float (s) Vaqt koordinatasi ($\Delta t = 1/60\text{ s}$) Vaqt shkalasi bo‘yicha bog‘lanish
p1_x, p1_y, p2_x, p2_y Float (px / m) Jismlarning fazoviy koordinatalari 2D trayektoriya va to‘qnashuv nuqtasi grafigi
v1_mag, v2_mag Float (m/s) Tezlik vektorlari modullari Tezliklar o‘zgarishi va nisbiy tezlik
total_energy_J Float (J) $E_k = \frac{1}{2}m_1 v_1^2 + \frac{1}{2}m_2 v_2^2$ Energiya saqlanishi va dissipatsiyani tekshirish
total_momentum_kgms Vector2D $(P_x, P_y)$ $\vec{P} = m_1\vec{v}_1 + m_2\vec{v}_2$ Impuls saqlanish qonuni doimiyligini tekshirish
ChatGPT uchun Trayektoriya va Telemetriya Tahlili Prompti
Men senga 2D to‘qnashuvlar simulyatsiyasidan eksport qilingan vaqt bo‘yicha ma’lumotlar massivini (t, x1, y1, vx1, vy1, x2, y2, vx2, vy2, Ek, Px, Py) beraman. Python Matplotlib orqali: 1) Har ikkala jismning 2D tekislikdagi (x, y) trayektoriya grafigini chiz; 2) To‘qnashuv nuqtasida tezlik vektorlari yo‘nalishini ko‘rsat; 3) Vaqtga bog‘liq kinetik energiya Ek(t) va to‘liq impuls P(t) grafiklarini hosil qilib, energiya yo‘qotilishi nazariy formulaga mos kelishini tekshir.
Jonli simulyatsiya

2D vektorlar va to‘qnashuvlar laboratoriyasi

📚 Interaktiv ta’lim va PhET metodologiyasi:

Interaktiv fizika simulyatsiyalari talabalarning mexanik hodisalarni chuqur tushunishida Nobel mukofoti laureati Carl Wieman (PhET Interactive Simulations, 2008, Science) tamoyillariga muvofiq intellektual vosita bo‘lib xizmat qiladi. Dinamik vektor o‘qlari, trayektoriya izlari va real vaqtli telemetriya nazariy bilimlarni to‘g‘ridan-to‘g‘ri eksperimental tadqiqotga aylantiradi.

🔗 Asosiy manbalar: Wieman, C. E., Adams, W. K., va Perkins, K. K. (2008). PhET: Simulations That Enhance Learning, Science, DOI: 10.1126/science.1161948; PhET Interactive Simulations, University of Colorado Boulder: phet.colorado.edu.

🎛️ Parametrlar va ssenariylar:

Tiklanish koeffitsiyenti ($e$): 1.00
Massa $m_1$: 3.0 kg
Massa $m_2$: 3.0 kg

📊 Real vaqtli telemetriya (1 m = 100 px):

Kinetik energiya ($E_k$):
0.00 kJ
Umumiy impuls ($\vec{P}$):
(0, 0)
To‘qnashuvlar soni:
0 marta
1-jism tezligi ($v_1$):
0.0 px/s
2-jism tezligi ($v_2$):
0.0 px/s

🧪 Laboratoriya eksperimental tadqiqot topshiriqlari (PhET metodikasi):

1-Tajriba: Tezliklar Almashinuvi

Presetdan 1-ssenariyni tanlang ($m_1 = m_2 = 3\text{ kg}, e = 1.0$). Sharlarning to‘qnashuvdan keyingi tezliklarini kuzating. Tezliklar to‘liq o‘zaro almashganini ($v_1' = v_2, v_2' = v_1$) va $E_k = \text{const}$ ekanligini tasdiqlang.

2-Tajriba: Asimmetrik Massalar

2-ssenariyni tanlang ($m_1 = 15\text{ kg}, m_2 = 3\text{ kg}$). Og‘ir jism yengil jismga urilganda, yengil jism tezligi deyarli $v_2' \approx 2v_1$ gacha oshishini va impuls uzatilishini tahlil qiling.

3-Tajriba: Noelastik Dissipatsiya

$e = 0.5$ qilib o‘rnating. HUD darchasidagi umumiy kinetik energiya kamayishini o‘lchang va $\Delta E_k = \frac{1}{2}(1-e^2)\mu v_{norm}^2$ nazariy formulasiga solishtiring.

O‘z-o‘zini baholash
📚 Psixometrik Baholash va Test Metodologiyasi (WWW):

Ushbu test savollari Klassik Test Nazariyasi (CTT) hamda Bloom taksonomiyasining tahlil va sintez darajalari asosida ishlab chiqilgan bo‘lib, 2D vektor mexanikasi, to‘qnashuv impulsi va kompyuter fizikasi algoritmlarini kompleks baholashga mo‘ljallangan.

🔗 Asosiy manbalar: Anderson, L. W., va Krathwohl, D. R. (2001). A Taxonomy for Learning, Teaching, and Assessing; Ebel, R. L., va Frisbie, D. A. (1991). Essentials of Educational Measurement, Prentice Hall.

2D vektor mexanikasi, to‘qnashuv impulsi va fizik dasturlash bo‘yicha bilimlaringizni sinab ko‘ring:

1-savol: 2D elastik to‘qnashuvda nisbiy tezlikning normalga proyeksiyasi $v_{norm} = \vec{v}_{rel} \cdot \hat{n} > 0$ bo‘lsa, fizik dvigatel qanday qaror qabul qilishi kerak?

⚪ A) Impuls hisoblanmaydi, chunki jismlar allaqachon bir-biridan uzoqlashmoqda
⚪ B) Ikkala jism tezligi nolga tenglashtiriladi
⚪ C) Jismlar massasi 2 barobar oshiriladi

2-savol: Simulyatsiyada to‘qnashgan shar shaklidagi jismlarning bir-birining ichiga kirib qolishi (interpenetration / sinking) qanday usul bilan bartaraf etiladi?

⚪ A) Faqat gravitatsiya kuchini o‘chirish orqali
⚪ B) Minimum Translation Vector (MTV) positional correction: jismlarni to‘qnashuv normali bo‘yicha penetratsiya chuqurligining yarmiga (`penetration / 2`) qarama-qarshi surib qo‘yish orqali
⚪ C) Canvas rangini o‘zgartirish orqali

3-savol: Mutlaq noelastik to‘qnashuvda ($e = 0$) to‘qnashuvdan keyin jismlarning normal o‘q bo‘yicha nisbiy tezligi qanday bo‘ladi?

⚪ A) 0 ga teng bo‘ladi (jismlar normal bo‘yicha bir xil tezlikda birgalikda harakatlanadi)
⚪ B) Cheksiz katta bo‘ladi
⚪ C) Boshlang‘ich tezlikdan 2 barobar katta bo‘ladi

📚 8-ma’ruza bo‘yicha to‘liq ilmiy-uslubiy adabiyotlar ro‘yxati (APA 7th):

  1. Halliday, D., Resnick, R., va Walker, J. (2018). Fundamentals of Physics (11th ed.). John Wiley va Sons. (Chapter 9: Center of Mass and Linear Momentum — 2D Collisions va Energy Dissipation, pp. 215–248). ISBN: 978-1119286240.
  2. Serway, R. A., va Jewett, J. W. (2018). Physics for Scientists and Engineers with Modern Physics (10th ed.). Cengage Learning. (Chapter 9: Linear Momentum and Collisions). ISBN: 978-1337553292.
  3. Baraff, D. (1997). Physically Based Modeling: Rigid Body Simulation. SIGGRAPH Course Notes, Robotics Institute, Carnegie Mellon University. URL: cs.cmu.edu/~baraff/sigcourse/notesd1.pdf.
  4. Gregory, J. (2018). Game Engine Architecture (3rd ed.). CRC Press / Taylor va Francis Group. (Chapter 12: The Physics Engine va Rigid Body Dynamics, pp. 680–745). ISBN: 978-1138035485.
  5. Williams, L., va Kessler, R. (2002). Pair Programming Illuminated. Addison-Wesley Professional. (ISBN: 978-0201745764).
  6. Begel, A., va Nagappan, N. (2008). Pair programming: what’s in it for me? In Proceedings of the 2008 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM '08), pp. 120–128. DOI: 10.1145/1414004.1414026.
  7. Fiedler, G. (2004). Collision response and numerical physics integration. Gaffer on Games. URL: gafferongames.com.
  8. Marion, J. B., va Thornton, S. T. (1995). Classical Dynamics of Particles and Systems (4th ed.). Saunders College Publishing. (ISBN: 978-0030973024).
  9. Hairer, E., Lubich, C., va Wanner, G. (2006). Geometric Numerical Integration: Structure-Preserving Algorithms for Ordinary Differential Equations (2nd ed.). Springer. DOI: 10.1007/3-540-30666-8.
  10. Wieman, C. E., Adams, W. K., va Perkins, K. K. (2008). PhET: Simulations That Enhance Learning. Science, 322(5902), 682–683. DOI: 10.1126/science.1161948.
  11. Anderson, L. W., va Krathwohl, D. R. (2001). A Taxonomy for Learning, Teaching, and Assessing: A Revision of Bloom’s Taxonomy of Educational Objectives. Longman. ISBN: 978-0801319037.
  12. Vygotsky, L. S. (1978). Mind in Society: The Development of Higher Psychological Processes. Harvard University Press. ISBN: 978-0674576292.