>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
      Zobrazování polygonů
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


      Problém  je  následující  :  máme 4 body a potřebujeme z nich udělat
      polygon .. nejlépe vyplněný nějakou barvou ...

                             Okomentovanej polygůnek

      Postup vyplňování polygonu je následující :

        • zjistíme  minimální  a maximální Y, to znamená odkud  kam budeme
          vyplňovat(v našem případě je to Yová souřadnice bodu A a D)
        • smyčka např. for (i=miny;i<=maxy;i++) ... • zjistíme pro každé Y
          kde přímka p začíná a kde končí (tzn. body x1 a x2 na obrazku)

      Ze nevíme jak ? Ale ano ...jen dávat při hodině matyky pozor ...:)

      Víme že každou přímku v 2D lze vyjádřit obecnou rovnicí :
                          0 = Ax + By + C
      přičemž  body  A  a B jsou souřadnice normálového vektoru, který lze
      získat následovně :
          • mějme body
              M[x1,y1] a N[x2,y2]
          • uděláme vektor :
              vv = MN = (x2-x1,y2-y1)
          • a "prohodíme" X a Y souřadnice vektoru vv a jednu z nich
            (jakoukoliv) vynásobíme (-1)
          • takže obecně :
              vv(a,b) ==> nvv(-b,a) nebo nvv(b,-a) ,
            kde nn je normál.

      Takže naše rovnice pro vektor uu:
              uu = AB= (x2-x1,y2-y1)
              nuu =    (y1-y2,x2-x1)  -> (normál vektoru uu)
      by vypadala :
              0 = (y1-y2) * x  +  (x2-x1) * y  + c

      Jak získáme c ? Akorát dosadíme do této rovnice nějaký bod ležící na
      přímce,  např.  bod  A[xa,ya] (klidne i B) ... po úpravách dostaneme
      rovnici :

              0 = (y1-y2)*xa + (x2-x1)*ya + C
              C = -(y1-y2)*xa - (x2-x1)*ya

      a C dosadíme do původní rovnice

              0 = (y1-y2)*x + (x2-x1)*y - (y1-y2)*xa - (x2-x1)*ya;

      a po vytknutí máme kompletní rovnici

              0 = (y1-y2)(x-xa) + (x2-x1)(y-ya),

      z čehož potřebujeme získat x ...

                      (x2 - x1) (y - ya)
              x =  -------------------------   - xa
                            (y1-y2)


      Cool, ne ? No a takhle dopočítáme i bod x2 (viz. obr. výše).

          • a posledním bodem je nakreslit horizontální lajnu z bodu x1 do
            bodu x2 oboje ležící na stejné Y.
          • dále je třeba v algoritmu zjišíovat jestli na dané Y  leží bod
            x1  na úsečce  AD, nebo až  na  úsečce DC ... ale  to je jenom
            otázka podmínek.


            výheň