Registriert seit: 23. Jun 2005
403 Beiträge
|
Re: Überschneiden zweier Rechtecke
19. Jun 2006, 14:43
zwei Rechtecke schneiden sich dann, wenn mindestens ein Punkt von A innerhalb B oder mindestens ein Punkt von B innerhalb A. Da diese Prüfungen suboptimal sind, empfehle ich volgense Vorgehensweise.
Du legst für Jeden Punkt in A ein Bitfeld(Länge 4 an).
Jetzt vergleichst Du mit jeder KANTE von B. liegt der Punkt links der linken kante, setzt Du Bit1 auf true, oberhalb der oberen Bit2 usw.
A schneidet nun B, wenn 1. mindestens ein Ergebnit =0x00h oder alle 4 Ergebnisse undverknüpft = 0x00h.
Jedenfalls kann man sowas nicht mit einer einfachen If-Konstruktion erschlagen.
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
|