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
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:
- Mike Cyrus, Jay Beck. " Generaliserad två- och tredimensionell klippning ". Datorer & grafik, 1978: 23–28.
- James D. Foley. Datorgrafik: principer och praxis . Addison-Wesley Professional, 1996. sid. 117.
externa länkar
- https://web.archive.org/web/20101203041134/http://cs1.bradley.edu/public/jcm/cs535CyrusBeck.html
- https://web.archive.org/web/20110725233122/http://softsurfer.com/Archive/algorithm_0111/algorithm_0111.htm