Садржај
1. Робот Карел - линијски програми и бројачка петља
2. Робот Карел - условна петља и гранање
3. Робот Карел - задаци за вежбање
4. Корњача графика - линијски програми и петље
5. Корњача графика - гранање, угнежђене петље, функције, торке и листе
6. Корњача графика - задаци за вежбање
9. Израчунавања - коришћење и дефинисање функција
10. Израчунавања - задаци за вежбање
13. Контрола тока - вежбање
17. Програмирање 2Д графике - Увод у Pygame

22.3. Правилно распоређивање боја

Чињеница да су нијансе боја одређене бројевима између 0 и 255 нам омогућава и да аутоматски израчунавамо нијансе боја тако да боје буду распоређене дуж неког дела спектра боја. Прикажимо ову технику кроз неколико примера.

Квадрати у нијансама црвене боје

Напиши програм који црта шест квадрата обојених у различите, правилно распоређене нијансе црвене боје (све дефинисане помоћу RGB система).

Нијансе црвене боје су одређене тиме да садрже само црвену компоненту боје, док су зелена и плава на нули. Боје иду од чисте црвене ([255, 0, 0]), па до црне ([0, 0, 0]). Претпоставићемо да је разлика количине светлости између сваке две суседне нијансе иста. Ако је та разлика r, тада је црвена компонента у нашим бојама редом \(5r\), \(4r\), \(3r\), \(2r\), \(r\) и \(0\). Пошто прва боја треба да буде најсветлија могућа, важи да је \(5r = 255\), тј. да је \(r = 51\). Дакле, боје су редом одређене са [255, 0, 0], [204, 0, 0], [153, 0, 0], [102, 0, 0], [51, 0, 0] и [0, 0, 0]. Опет претпостављамо да су димензије квадрата 50 пута 50 пиксела, тако да квадрате редом распоређујемо дуж прозора димензија 300 пута 50 пиксела.

Наравно, бољи кôд добијамо ако задатак решимо уз помоћ петље.

Оптичка варка

Позадину прозора обоји у нијансе сиве боје које се постепено мењају од црне на левој ивици прозора до беле на десној ивици. Након тога, у средини прозора нацртај правоугаоник сиве боје висине 50 пиксела и ширине једанаке три четвртине ширине прозора. Видећеш интересантну оптичку варку.

Ефекат градијента ћеш постићи тако што ћеш ширином прозора распоредити 256 једнаких правоугаоника, сваки обојен у различиту нијансу сиве боје.

(Created using Swinx, RunestoneComponents and PetljaDoc)
© 2022 Petlja
A- A+