7.2. Домаћи задатак¶
Циљ овог задатка је да направимо програм који црта кућицу. Приликом цртања кућице применићемо знање о израчунавању координата. Да би лакше дошли до крајњег решења, одговори на наредни низ питања која се сва односе на цртеж кућице:
Основу кућице чини жути правоугаоник ширине 180 и висине 160 пиксела. Ако је прозор у коме се црта димензије 300 пута 300 пиксела, ако је испод кућице остављена маргина од 20 пиксела и ако је правоугаоник хоризонтално центриран унутар прозора, кoje су координате горњег левог угла жутог правоугаоника (напиши их у облику уређеног пара)?
Изнад врха крова остављена је маргина од 20 пиксела. Које су координате тачке у којој се налази врх крова (напиши их у облику уређеног пара)?
- [(120, 60), (20, 150), (120, 240)])
- Покушај поново
- [(150, 20), (60, 120), (240, 120)])
- Тачно
- [(60, 120), (150, 20), (180, 160)])
- Покушај поново
- [(60, 120), (150, 20), (240, 120)])
- Тачно
Q-56: Кров је нацртан у облику испуњеног многоугла (тј. троугла). Чиме
се може допунити наредба за исцртавање pg.draw.polygon(prozor, pg.Color("red"), ???)
да
би се нацртао кров?
Леви и десни прозор су распоређени симетрично. Које су координате горњег
левог угла десног прозора (напиши их у облику уређеног пара ), ако је леви прозор исцртан наредбом
pg.draw.rect(prozor, pg.Color("skyblue"), (80, 140, 50, 50))
?
- Координату x можемо израчунати тако што од координате центра кућице (150) одузмемо пола ширине врата (60:2 = 30) и тако добијемо 120.
- Покушај поново
- Координату y можемо израчунати тако што од координате дна кућице (а то је 300 - 20 = 280) одузмемо висину врата (80) и тако добијемо 200.
- Покушај поново
- Координату x можемо израчунати тако што на координату леве ивице кућице (а то је 150 - 180:2 = 60) додамо ширину врата (60) и тако добијемо 120.
- Тачно
- Координату x можемо израчунати тако што на координату леве ивице кућице (а то је 150 - 180:2 = 60) додамо половину разлике између ширине кућице и ширине врата (а то је (180-60):2 = 60) и тако добијемо 120.
- Покушај поново
Q-57: Врата димензије 60 пута 80 пиксела су постављена симетрично у односу на средину кућице. Како се може израчунати положај горњег левог темена врата? Означи све поступке који су тачни.
- pg.draw.line(prozor, pg.Color("black"), (80, 165), (130, 165))
- Покушај поново
- pg.draw.line(prozor, pg.Color("black"), (105, 140), (105, 190))
- Покушај поново
- pg.draw.line(prozor, pg.Color("black"), (195, 140), (195, 190))
- Покушај поново
- pg.draw.line(prozor, pg.Color("black"), (170, 165), (220, 165))
- Тачно
Q-58: Која од наредних наредби исцртава хоризонталну линију на десном прозору:
- Координата x горње тачке дужи једнака је координати y леве ивице прозора (80), а координата x доње тачке дужи једнака је координати x десне ивице прозора (80 + 50 = 130).
- Покушај поново
- Координата x и горње и доње тачке дужи једнака је аритметичкој средини координата x леве ивице прозора (80) и десне ивице прозора (80 + 50 = 130), тј. једнака је (80 + 130) : 2 = 105.
- Тачно
- Координата x и горње и доње тачке дужи се може израчунати тако што се на координату x леве ивице прозора (80) дода пола ширине прозора (50:2 = 25).
- Тачно
- Координата y горње тачке дужи једнака је координати y горње ивице прозора (140), а координата y доње тачке дужи једнака је координати y доње ивице прозора (140 + 50 = 190).
- Тачно
Q-59: Желимо да нацртамо вертикалну црну дуж по средини левог прозора, који је нацртан као квадрат димензије \(50\), чије је горње лево теме у \((80, 140)\). Означи тврђења која исправно одређују координате те дужи:
На основу свега реченог можеш и да нацрташ кућицу.