collision detection


    1. riyazi modeli verilmiş obyektlərin qarşılıqlı təmasda olub olmamasının müəyyən edilməsinə collision detection deyilir. (collision = toqquşma). uşaq vaxtı riyaziyyat müəllimimizin bizə verdiyi və sıxılaraq etdiyimiz tapşırıqlardan olan düz xəttlərin kəsişməsi collision detectiona ən sadə nümunələrdəndir. amma sıxıcı kimi görünən bu hesablamlar günümüzdə hərkəsin sevərək oynadığı video oyunlarının olmazsa olmazıdır.

    ən sadə alqoritmlərdən birinə koordinat və radiusları verilmiş 2 çevrənin təmas edib etməməsi nümunə kimi vermək olar.
    əgər 2 çevrənin mərkəzi arasındakı məsafə radiusları cəmindən kiçiksirsə bu çevrələr təmas etməkdədir.
    ilk öncə mərkəzlər arasındakı məsafə hesablanır:

    d = sqrt ((x1-x2)^2 + (y1+y2)^2))

    daha sonra bu məsafədən radiuslar çıxılır:
    j = d - r1 - r2

    əgər burda j <= 0 şərti doğrudursa deməli çevrələr təmas etməkdədir.

    video oyunlarda istifadə olunan physics engine (fizik mühərrik)'lərində collision detection ən əsas özəlliklərdən biridir.

    fizik mühərriklərinə box2d, physx, bullet physics, havok physics kimi mühərrikləri misal çəkmək olar. box2d ilə angry birds, hill climb racing kimi 2 ölçülü oyunlar, bullet physics ilə isə gta 5 kimi məşhur oyunlar hazırlanmışdır.






hamısını göstər