Cyrus-Beck algoritm

Cyrus-Beck algoritm

Inom datorgrafik är Cyrus -Beck-algoritmen en generaliserad algoritm för linjeklippning . Den designades för att vara effektivare än Cohen–Sutherland-algoritmen , som använder upprepad klippning. Cyrus–Beck är en allmän algoritm och kan användas med ett konvext polygonklippfönster , till skillnad från Cohen-Sutherland, som endast kan användas på ett rektangulärt klippområde.

Här är den parametriska ekvationen för en linje i vyplanet

där .

För att nu hitta skärningspunkten med klippfönstret, beräknar vi värdet på punktprodukten . Låt vara en punkt på klippplanet .

Beräkna :

  • om < 0, pekar vektorn mot insidan;
  • om = 0, vektorn pekade parallellt med planet innehållande ;
  • om > 0, pekar vektorn bort från insidan.

Här står normalen av det aktuella klippplanet (pekat bort från insidan).

Genom detta väljer vi skärningspunkten mellan linjen och klippfönstret där (punktprodukten är 0) och klipper därför linjen.

Anteckningar

Se även

Algoritmer som används för samma ändamål:

Referenser i andra medier:

externa länkar