Kolizja 2d (trójkąt, okrąg, prostokąt)

0

Mam problem z zadaniem w którym tworzymy obiekty 2D z 3 podstawowych figur (trójkąt, prostokąt, okrąg) i mamy sprawdzać kolizję tych obiektów. Znalazłem jak wykryć kiedy dwa okręgi i dwa prostokąty kolidują ze sobą, ale z resztą nie mam pojęcia. Ma ktoś pomysł, linki, kody jak wykryć takie kolizję? Czytałem coś o SAT collision ale nie mogę się w tym połapać do końca co i jak.

1

http://lazyfoo.net/SDL_tutorials/lesson17/

rect jest Twoja figura

x,y,width,height

masz prostokat, pomysl jak zrobic dla trojkata i okregu (najtrudniejszy bedzie trojkat dla Ciebie, tak mi sie wydaje)

0

tylko potrzebuje wykryć jeszcze kolizję np. między trójkątem i okręgiem, prostokątem i trójkątem, okręgiem i prostokątem itp. Póki co załatwiony mam tylko okrąg-okrąg, prostokąt-prostokąt. Za link który przesłałeś bardzo dziękuję, potwierdził on to, że myślę dobrze jeśli chodzi o kolizję prostokąt-prostokąt :)

1

http://www.phatcode.net/articles.php?id=459
http://stackoverflow.com/questions/401847/circle-rectangle-collision-detection-intersection
http://www.blackpawn.com/texts/pointinpoly/default.html i sprawdzasz wszystkie 6 punktów obu trójkątów czy nie leżą w innym. Ale SAT tutaj jest chyba jedynym rozsądnym wyjściem
Dla kolizji między trójkątem a prostokątem możesz zrobić podobni do powyższego, przy czym sprawdzanie czy punkt leży w prostokącie jest jeszcze prostsze.

SAT byłby najlepszy tutaj, ale jak nie rozumiesz to trudno. Możesz jeszcze spróbować z tych źródeł.
http://gamedevelopment.tutsplus.com/tutorials/collision-detection-using-the-separating-axis-theorem--gamedev-169
http://www.metanetsoftware.com/technique/tutorialA.html

0

Bardzo dziękuję, zabieram się do lektury

1 użytkowników online, w tym zalogowanych: 0, gości: 1