Leképezés világ koordináta rendszerről a képernyő koordináta rendszerbe

A következő ábrán látható a világ és a képernyő koordináta rendszer viszonya:

Feladatunk, hogy meghatározzuk a P(x;y) pont helyzetét a képernyőn amit PK(XK,YK)-val jelölünk.

Először számoljuk ki a két szürke téglalap oldalarányait:

  Lx = getmaxx() / (x2 - x1)
  Ly = getmaxy() / (y2 - y1)

Tehát a képernyőt jelképező kisebb téglalap oldalainak mérete: getmaxx() és getmaxy()

A leképezésben az XK, azaz a pont képének x koordinátája az alábbi szorzattal fejezhető ki:

  XK = Lx * (x - x1)

Az KY koordináta is hasonlóan Ly * (y - y1) lenne, de a képernyőn a y irány fordítva van, felülről lefelé növekszik, azért a képlet:

  YK = getmaxy() - Ly * (y - y1)

Mivel a getmaxy() az oldalarány képletből felírható: getmaxy() = Ly * (y2 - y1), ezért behelyettesítés után:

  YK = Ly * (y2 - y1) - Ly * (y - y1) = Ly * y2 - Ly * y1 - Ly * y + Ly * y1 

Ly * y1 kiesik, mert plusz és mínusz előjellel is szerepelnek.

  YK = Ly * y2 - Ly * y = Ly * (y2 - y)

Tehát összegezve:

  XK = Lx * (x - x1)
  YK = Ly * (y2 - y)