Daire-Dikdörtgen çarpışma algılama (kavşak)
Nasıl bir daire ve 2 boyutlu Öklid uzayda dikdörtgen bir bilgisayar olup olmadığını söyleyebilir miyim? (2D geometri yani klasik)
CEVAP
Ben bunu nasıl burada
bool intersects(CircleType circle, RectType rect)
{
circleDistance.x = abs(circle.x - rect.x);
circleDistance.y = abs(circle.y - rect.y);
if (circleDistance.x > (rect.width/2 circle.r)) { return false; }
if (circleDistance.y > (rect.height/2 circle.r)) { return false; }
if (circleDistance.x <= (rect.width/2)) { return true; }
if (circleDistance.y <= (rect.height/2)) { return true; }
cornerDistance_sq = (circleDistance.x - rect.width/2)^2
(circleDistance.y - rect.height/2)^2;
return (cornerDistance_sq <= (circle.r^2));
}
İşte nasıl çalışır:
Çizgiler ilk çift dairenin merkezi dikdörtgenin merkezi arasındaki x ve y farkı mutlak değerlerini hesaplamak. Bu hesaplamalar dört kez yapılması gerekir, böylece bir aşağı dört bölümün çöker. Bu resim hangi dairenin ortasına şimdi yalan gereken alanı gösterir. Sadece tek çeyrekte gösterilen unutmayın. Dikdörtgen gri alan ve kırmızı sınır dikdörtgenin kenarlarından tam olarak bir yarıçapı olan kritik alan özetliyor. Çemberin merkezine kavşak oluştuğu için bu kırmızı çerçeve içinde olmalı.
Hatların ikinci çift Daire no kesişme mümkün olan dikdörtgen (her iki yönde) yeterince uzak bir yerde kolay davaları ortadan kaldırmak. Bu resimde yeşil alana karşılık gelir.
Satır üçüncü çift daire bir kavşak garantili dikdörtgen için yeterince yakın (her iki yönde) kolay davalarını. Bu resimdeki turuncu ve gri bölümlerine karşılık gelir. Bu adım, mantık için 2. adımdan sonra mantıklı yapılması gerektiğini unutmayın.
Kalan hatları çember, dikdörtgen köşe bilgisayar nerede zor durumda hesaplamak. Çözmek için, ağırlık merkezi ve köşesinden mesafe hesaplama ve mesafe çemberin yarıçapı daha fazla olduğunu doğrulayın. Bu hesaplama kırmızı taralı alan içinde olan tüm çevreler için false değerini döndürür ve beyaz taralı alan içinde olan tüm çevreler için true değerini döndürür.
Hat kesimi çarpışma algılama algoritma...
jQuery/çarpışma algılama JavaScript...
Topu topu Çarpışma Algılama ve İşleme...
D3: Daire seçili veri göster...
JQuery yönlendirme algılama dolar.ajax...