Graphic problem
Sigui abs(z) el valor absolut de z. Per exemple, abs(7) = abs(−7) = 7.
Donats dos punts en el pla (x1, y1) i (x2, y2), la seva distància Manhattan es defineix com abs(x1 − x2) + abs(y1 − y2).
Feu un programa que lleigeixi vuit naturals n, m, xr, yr, xg, yg, xb i yb, i que dibuixi una imatge amb n × m punts. El component red del color de cada punt (x, y) ha de ser el residu de la divisió entre 256 de la distància Manhattan entre (x, y) i (xr, yr), i similarment amb els components green i blue respecte de (xg, yg) i (xb, yb), respectivament.
Entrada
L’entrada consisteix en els vuit naturals mencionats anteriorment. Podeu suposar que les tres x estan entre 0 i n − 1, i que les tres y estan entre 0 i m − 1. Però pot ser que algun component del color no s’hagi d’usar (és a dir, que hagi de ser 0 a tot arreu). Això s’indica amb un parell de -1 per a aquell component.
Sortida
Cal generar una imatge (n, m) segons s’ha explicat.
Observació
En Python 3, la funció valor absolut es diu abs(), i el residu es calcula amb l’operador %.
Input
511 511 -1 -1 256 256 -1 -1
Output
(511×511)
Input
800 300 0 0 -1 -1 0 100
Output
(800×300)
Input
500 400 25 40 75 125 80 15
Output
(500×400)