Hogyan lehet eldönteni 2 téglalap alakú területről, hogy átfedőek-e?
jól mondja az első
kérdező kicsit konkrétabban miből kell megállapítani hogy átfedőek e?
mert ha rendelkezésre áll pl a bal alsó sarka pozíciója meg a jobb felső sarka pozíciója és a két téglalap egyes oldalai csak párhuzamosak vagy merőlegesek egymásra akkor annyi amit az első írt. ha viszont van benne variálás akkor írd le részletesebben
Mind a 4-4 sarka kell a téglalapoknak (rajz: két egybevágó téglalap, egyik kicsit jobbra-fel csúsztatva).
Az ne érdekeljen hogy hány sor kód (szépen megírva sincs 10-nél több szerintem, függvénynek bőven jó), cserébe mérettől függően néhány nagyságrenddel gyorsabb (ráadásul O=1 bonyolultságú, amit ugye szeretünk).
Előző, te ugratsz engem:D
Ha a bal alsó és jobb fölső adott (csak mert a standard fordítva van) akkor rajz: két egybevágó téglalap, az egyiket csúsztasd balra és felfele.
A bal felső sarkok X és Y koordinátája van meg, illetve a szélességük és magasságuk.
Ilyesféle kódot ötlöttem ki most reá:
if max(egyikx+egyiksz,masikx+masiksz)-min(egyikx,masikx)<egyiksz+masiksz and max(egyiky+egyikm,masiky+masikm)-min(egyiky,masiky)<egyikm+masikm
return true else return false
Úgy tűnik, hogy jó, de még fagyogat valamiért :-/
Egyébként egy útvonalkereső A* algoritmust írnék, és ahhoz kell egy tömbnél a szomszédos ütközésmentes tömbök, és akkor léphet ki a ciklusból, ha a legutóbbi útvonalrácscella átfedő azzal, ami tartalmazza a cel_x és cel_y koordinátákat.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!