Risanje črt

Če želimo narisati črto, mora računalnik nekako ugotoviti, katere piksle mora pobarvati, da bo črta videti ravna. Poskusiš lahko tako, da pobarvaš kvadratke v spodnji mreži (ti kvadratki so mnogo večji od pikslov na tiskalniku ali zaslonu). Piksle v mreži označimo z dvema vrednostma, $(x, y)$, kjer je $x$ razdalja od levega roba, $y$ pa razdalja od spodnjega roba. Spodnji levi piksel je $(0, 0)$, zgornji desni pa $(19, 19)$.

Poskusi narisati ravne črte tako, da s klikom miške pobarvaš piksle v spodnji mreži:

  • od $(2, 17)$ do $(10, 17)$
  • od $(18, 2)$ do $(18, 14)$
  • od $(1, 5)$ do $(8, 12)$

19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
012345678910111213141516171819

Risanje vodoravnih, navpičnih ali 45-stopinjskih črt je enostavno; črte pod različnimi koti so tiste, za katere potrebujemo izračune.


Matematična formula za premico je $y = kx + n$. Tako lahko na zaslonu za vsako vrednost $x$ dobimo oziroma izračunamo vrednost $y$ in določimo dve količini: naklon črte $k$ ter začetno vrednost $n$, pri kateri črta seka os $y$. Povedano drugače, če smo na zaslonu s črto oddaljeni $x$ pikslov od levega roba, moramo pobarvati piksel s koordinatama $(x, kx + n)$.

Poskusi določiti vrednosti $k$ in $n$ za črto (daljico) od točke $A$ do točke $B$ ali pa ju izračunaj s pomočjo naslednjih formul: $$k = \frac{y_2 - y_1}{x_2 - x_1}$$ $$n = \frac{y_1 x_2 - y_2 x_1}{x_2 - x_1}$$

19
18
17
16
15
14
13
12
11
10
9B
8
7
6
5
4A
3
2
1
0
012345678910111213141516171819