CohenSutherland algoritmus kpsk A szakasz benne van a
Cohen-Sutherland algoritmus képsík A szakasz benne van a képtartományban
Cohen-Sutherland algoritmus képsík A szakasznak csak az egyik végpontja van a képtartományban
Cohen-Sutherland algoritmus képsík A szakasz mindkét végpontja kívül van a képtartományon
Cohen-Sutherland algoritmus képsík A szakasz és a tartomány nem rendelkezik közös ponttal
Cohen-Sutherland algoritmus 10 01 0001 0 011 1000 0 010 1100 0 110 képsík
Cohen-Sutherland algoritmus B képsík A A=0000 B=0011
Cohen-Sutherland algoritmus B képsík A
Cohen-Sutherland algoritmus B képsík A A=0000 B=0011 B’=0010 B’’=0000
Cohen-Sutherland algoritmus KB B P 2. x, P 2. y KF képsík A P 1. x, P 1. y KA KJ
Cohen-Sutherland algoritmus Eljárás CSVagas(Változó p 1, p 2 : TPont) Változó c, c 1, c 2: TKod; p: TPont; Vegpontkod(c 1, p 1); vegpontkod(c 2, p 2); Ciklus amíg nem (c 1=0) és (c 2=0) és ((c 1 ÉS c 2)=0) Ha c 1=0 akkor p: =p 1; p 1: =p 2; p 2: =p; c: =c 1; c 1: =c 2; c 2: =c; Eljárás Vegpontkod(Változó c: TKod, p: TPont); Havége Felsovagas(Változó x 1, y 1, x 2, y 2); Eljárás c: =0; Elágazás x 1: =x 1+(x 2 -x 1))/(y 2 -y 1)*(KF-y 1); Ha p. y<KF akkor c: =c VAGY 1; (c 1 ÉS 1)=1 esetén Felsovagas(p 1. x, p 1. y, p 2. x, p 2. y); y 1: =KF; Ha p. x>KJ akkor c: =c VAGY 2; (c 1 vége ÉS 2)=2 esetén Jobbvagas(p 1. x, p 1. y, p 2. x, p 2. y); Eljárás Ha p. y>KA akkor c: =c VAGY 4; (c 1 ÉS 1)=4 esetén Alsovagas(p 1. x, p 1. y, p 2. x, p 2. y); Ha p. x<KB akkor c: =c VAGY 8; (c 1 ÉS 1)=8 esetén Balvagas(p 1. x, p 1. y, p 2. x, p 2. y); Eljárás vége Elágazás vége vegpontkod(c 1, p 1); Ciklus vége Ha (c 1=0) és (c 2=0) akkor Szakasz(p 1, p 2); Ha vége Eljárás vége
- Slides: 10