eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingkolizja prostokątówRe: kolizja prostokątów
  • Data: 2011-12-22 09:53:01
    Temat: Re: kolizja prostokątów
    Od: bartekltg <b...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 2011-12-21 22:15, Kicer pisze:


    >> Dwa równania na przesunięcie (x i y), wybierasz
    >> to z mniejszym wynikiem.
    >
    > mogę prosić ciutkę jaśniej? jak wyznaczam te dwa równania?


    Kurde. Brać się do matematyki a nie do programowania!

    W = suma szerokości / 2
    H = suma wysokości /2

    Wektor od prostokąta A do B
    [ X_B - X_A ; Y_B - Y_A ]

    I teraz szukasz takiego t, aby była kolizja,
    czyli albo

    abs(X_B - X_A) * (1-t) = W

    albo

    abs( Y_B - Y_A ) (1-t) = H


    Z obu równań wyznaczasz t (zamieniasz wzorek na t = ...,
    nie trzeba rozwiązywać tego numerycznie;)) i bierzesz
    to mniejsze. Jeśli początkowo prostokąty były
    rozłączne, to t będzie w przedziale (0,1).

    Wektorem, o który należy przesunać prostokąt B jest
    [ X_B - X_A ; Y_B - Y_A ] * (-t)

    Tyle, że t będzie jakąś liczba wymierną, a więc
    i wektor nie musi być całkowity.

    pzdr
    bartekltg

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: