eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingkolizja prostokątówRe: kolizja prostokątów
  • Data: 2011-12-22 09:12:21
    Temat: Re: kolizja prostokątów
    Od: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 2011-12-22, Kicer <...@...c> wrote:
    > niechę będzie że mam:
    >
    > +---+
    > | |
    > | |
    > | |
    > | |
    > | |
    > +---+
    >
    > +-----------------+
    > | |
    > +-----------------+

    >> 3. Upewniasz się, że xA1 < xB1.
    >> Chodzi o to, żeby wiedzieć, który prostokąt jest lewy, a który prawy.
    >
    > ten na dole jest prawy
    >
    >> 4. Jeśli to prawy prostokąt jest przesuwany, liczysz wektor przesunięcia
    >> równoległego do osi x między xA2 i xB1. Jeśli lewy prostokąt jest
    >> przesuwany, wektor ma przeciwny zwrot.
    >
    > no to wyszedł wektor o długości 0, bo odlegość na osi odciętych (x) między
    > prawym bokiem górnego a lewym bokiem dolnego == 0.

    Słusznie. I tyle, jak rozumiem, powinien wyjść.

    >> 5. Obliczasz wektor przesunięcia wzdłuż osi y. Może być za pomocą
    >> proporcji. Możesz nawet sprawdzić, czy udało się tak przesunąć
    >> prostokąt, żeby dowolny bok poziomy jednego prostokąta znajdował się
    >> między bokami drugiego prostokąta (wystarczą dwie proste alternatywy).
    >
    > tu przyznam, że nie do konca rozumiem. Z proporcji miedzy czym a czym?

    Elementarna planimetria. Przesuwasz wzdłuż prostej przechodzącej przez
    środki, czyli o dwa wektory (równoległe do osi) składające się na wektor
    łączący środki prostokątów albo coś proporcjonalnego. Jeśli masz
    wyliczony wektor przesunięcia wzdłuż jednej osi, drugi się wylicza
    prosto.

    > Poświęciłem naprawdę sporo czasu na rozwiązanie tego problemu i uwierz mi,
    > wszelkie algorytmy wymyślane "od ręki" mają jakieś błędy dla wymyślnych
    > przypadków.

    Jeśli wystarczy ci, że dowolne boki się zetkną, to możesz policzyć dwa
    warianty i sprawdzić, przy którym prostokąty się rzeczywiście zetkną.
    Algorytm ten sam. Chyba że wynajdziesz inny problem.

    --
    Secunia non olet.
    Stanislaw Klekot

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: