Zaključak za rotiranje figura:
Potrebno je dodati novi property za svaku figuru (rotation) gde bi se čuvao ugao za koliko je ta figura zarotirana.
Rešenje 1: Rotaciju je moguće odraditi rotiranjem celog Graphics-a ali nastaje problem prilikom pomeranja jer onda nastaje još 1 koordinatni sistem koji je zarotiran. Kursor miša ostaje u starom, nepromenjenom koordinatnom sistemu dok je figura u zarotiranom, koji se rotira od tačke (0, 0). Moguće rešenje: rotirati samo deo koordinatnog sistema oko figure čime bi se izbleglo neslaganje koordinatnih sistema.
Prednost: nije potrebna izmena postojećeg koda
Nedostatak: Rad sa više koordinatnih sistema nije lako realizovati u praksi
Rešenje 2: Promeniti funkciju draw koja će figuru crtati u zavisnoti od ugla pod kojim će biti prikazana. Koordinatni sistem ostaje nepromenjen.
Prednosti: Jedan koordinatni sistem; Lako razumljivo
Nedostatak: Potrebna je izmena postojećeg koda (promena funkcija: draw, isHit, move i scale)
U oba slučaja će doći do usporenja izvršenja programa
Zaključak za rotiranje figura: Potrebno je dodati novi property za svaku figuru (rotation) gde bi se čuvao ugao za koliko je ta figura zarotirana.
Rešenje 1: Rotaciju je moguće odraditi rotiranjem celog Graphics-a ali nastaje problem prilikom pomeranja jer onda nastaje još 1 koordinatni sistem koji je zarotiran. Kursor miša ostaje u starom, nepromenjenom koordinatnom sistemu dok je figura u zarotiranom, koji se rotira od tačke (0, 0). Moguće rešenje: rotirati samo deo koordinatnog sistema oko figure čime bi se izbleglo neslaganje koordinatnih sistema. Prednost: nije potrebna izmena postojećeg koda Nedostatak: Rad sa više koordinatnih sistema nije lako realizovati u praksi
Rešenje 2: Promeniti funkciju draw koja će figuru crtati u zavisnoti od ugla pod kojim će biti prikazana. Koordinatni sistem ostaje nepromenjen. Prednosti: Jedan koordinatni sistem; Lako razumljivo Nedostatak: Potrebna je izmena postojećeg koda (promena funkcija: draw, isHit, move i scale)
U oba slučaja će doći do usporenja izvršenja programa
Rešenje 3: nepoznato