2025-Q1-AI 2. Matricu transformācijas - Asteorid spēle - Lineārā algebra2.1. Video / Materials 2.2. Matricu sakalārais reizinājums2.3. Implementēt leņķa maiņu player2.4. Implementēt vec2d_to_vec3d un vec3d_to_vec2d2.5. Implementēt translācijas matricu2.6. Implementēt scaling matricu Player2.7. Implementēt riņķa līnīju planētai 2.8. Implementēt gravitācijas vienādojumu2.9. Mājasdarbs - Pabeigt spēliSaturs
19 februāris Riga, Zunda krastmala 10, 122 + Remote
Zoom (ielaidīšu un atstāšu kā host): https://zoom.us/j/3167417956?pwd=Q2NoNWp2a3M2Y2hRSHBKZE1Wcml4Zz09
Whiteboard (ir iedotas tiesības): https://www.figma.com/board/FfmDexmoHrIXq93oS9GQhn/2025-Q1-AI-2.-Matricu-transform%C4%81cijas---Asteorid-sp%C4%93le---Line%C4%81r%C4%81-algebra?node-id=0-1&t=iFxECdcKS3ystGxI-1
Dot product: https://www.mathsisfun.com/algebra/matrix-multiplying.html
Very good materials on linear algebra and other math topics: https://www.3blue1brown.com
1D piemērs
2D piemērs:
Dot product examples:
https://www.studypug.com/algebra-help/multiplying-a-matrix-by-another-matrix
Template: https://share.yellowrobot.xyz/quick/2024-9-27-FA30B918-38A3-4915-8B0C-8D155EA84C53.zip
Iesniegt kodu kā failu.
Par pamatu izmantot sagatavi no 2.3. uzdevuma ar dot product implementāciju no 2.1. uzdevuma.
Izmantot pirmkoda sagatavi un sekot materiālam nodarbībā
https://share.yellowrobot.xyz/quick/2024-9-27-B1CAC014-88C1-44CF-8FAB-58F214191790.zip
Implementēt rotācijas matricu un panākt, ka kosmosa kuģītis rotē ap savu asi
Implementēt leņķa maiņu ar bultiņām, izpildīt todo, iesniegt pirmkodu.
Iesniegt kodu kā failu.
Par pamatu izmantot sagatavi no 2.3. uzdevuma ar dot product implementāciju no 2.1. uzdevuma. Pārveidot 3d vektorus uz 2d vektoriem un otrādi tikai izmantojot identitātes matricas, dot product un saskaitīšanu Iesniegt kodu kā failu un pievienot screenshot.
Par pamatu izmantot sagatavi no 2.3. uzdevuma ar dot product implementāciju no 2.1. uzdevuma.
Implementēt translation_mat. Panākt, ka Player ir nobīdīts tā, lai rotētu ap savu asi nevis ap apakšējo līniju. Implementēt, ka objekti pārvietojas, izmantojot translation_mat. Rotāciju un Translāciju obligāti ir jāapvieno vienā kopējā matricā C!
Vienādojums:
Iesniegt kodu kā failu un pievienot screenshot.
Par pamatu izmantot sagatavi no 2.3. uzdevuma ar dot product implementāciju no 2.1. uzdevuma.
Implementēt scaling matricu un saspiest Player, lai tas nebūtu tik plats (transformāciju iekļaut self.C matricā)
Iesniegt kodu kā failu un pievienot screenshot.
Implementēt riņķa līnīju planētai un asteroīdus ar randomization
Riņķa līnijas zīmēšanas algoritms: https://www.mathopenref.com/coordparamcircle.html
Vienādojums, izmantot delta theta 0 - 360 gradiem for loopā
Par pamatu izmantot sagatavi no 2.3. uzdevuma ar dot product implementāciju no 2.1. uzdevuma.
Implementēt simulētu gravitācijas vienādojumu starp planētām un spelētāju. Izmantot "game physics" versiju:
Iesniegt kodu kā failu un pievienot screenshot.
Izmantojot kodu, kas iegūts tiekot līdz 2.7. implementēt sekojošās izmaiņas:
Implementēt Skew matricu, un izmantot to, lai nejaušā veidā saspiestu asteroidus
Implementēt sadursmju atpazīšanu. Piešķirt punktus par ar raķeti sašautiem asteroīdiem. Savukārt, ja spēlētājs saduras ar planētām vai asteroīdiem, tad spēle tiek zaudēta.
Implementēt planētas, kurām ģeometriju zīmē ar (Mid-Point Circle Drawing Algorithm). Var ģenerēt punktus pa kvadrantiem.
Vienādojums:
eps = 0.5
radius = 2
Video Piemērs: https://youtube.com/live/bAGVxu-xkJ0?feature=share
Pabeigts koda piemērs: https://share.yellowrobot.xyz/quick/2025-2-12-30073936-23D3-4D89-B241-63822188BB4D.zip
Iziet cauri sliktajiem piemēriem no iepriekšējās nodarbības (komentāri augstāk)
Explain Dot product + give task https://www.studypug.com/algebra-help/multiplying-a-matrix-by-another-matrix
ROWS must match COLUMNS
xxxxxxxxxx
111. Paskaidrot, ka pat 1D vektori ir 2D
http://hyperphysics.phy-astr.gsu.edu/hbase/vsca.html
Matrix example
identity matrix (Propery, check if it is inverse, The product of two inverse matrices is always the identity) https://www.mathbootcamps.com/the-identity-matrix-and-its-properties/
Identitātes matricas var izmantot, lai pārbaudītu vai Inverse ir pareizi izrēķināti
Pārveidot 3d vektorus uz 2d vektoriem un otrādi tikai izmantojot identitātes matricas, dot product un saskaitīšanu
Implementēt kodu kopā, lai kuģis varētu lidot
translation matrix
combined matrix Rotate, then translate
Riņķa līnijas algoritma piemērs:
gravity forces
Physics
Distance
Game physics
l2 norm
Labojot mājasdarbu pārliecināties, ka studenti izmanto jaunāko template, ka netiek iesniegti darbi no iepriekšējiem gadiem ar pinīgi atšķirīgu template
https://www.youtube.com/watch?v=_TKiRvGfw3Q