testen ob eine Box eine andere schneidet
-
Hallo
wie kann man am effizientesten Testen ob eine Box eine andere schneidet?
im 2D, Rechteck, vergleiche ich die 4 Kanten des einen Rechecks mit den 4 Kanten eines anderen Rechecks ob sie sich schneiden.Also jede Kante wird als eine Grade behandelt und in diese Form gebracht:
Recheck A: ABCD, Recheck B: VXYZ
r*( B - A ) - s*(Y - V) = ( V - B )
usw.
wenn 0.0 < r,s < 1.0 gilt, dann schneiden sich die Kanten und die Rechecke überschneiden sich.
Das sind 42 Berechnungen und Vergleiche.Für 3D, Box, muss ich dann aber 43 Berechnungen und Vergleiche machen.
Geht das nicht effizienter ?
-
Schau mal hier: http://www.c-plusplus.net/forum/viewtopic-var-t-is-118769.html .