2013-03-22 26 views
5

Kakaodaki iki NSBezierPath kapalı nesnesinin kesişimini nasıl belirleyeceğimi anlamakta zorlanıyorum. İnternette biraz araştırma yaptım ve cevabı şu ana kadar bulamadım.NSBezierPaths'ın kakaoda kesişip kesi olmadığını nasıl belirleyebilirim?

İşte sahip olduğum şey. enter image description here

Tüm bu durumlarda doğru olan bir yöntem yazmam gerekiyor. İçinde her noktada geçmesi ve ikinci olmadığını kontrol: associatedPoints:

Şimdiye kadar ne düşünüyordum elementAtIndex kullanarak bezierPathByFlatteningPathkullanarak dikdörtgen düzleştirmek ve ardından (doğru parçasının gibi) her bir öğeyi almaktır nesne (dikdörtgen veya elips) bu noktayı içerir (usingPoint kullanarak:).

Ancak, ben kimsenin bunu gerçekten takdir ediyorum yardımcı olabilecek herhangi bir ipucu veya fikir varsa ... Bir segmentin tüm noktalarından

gitmek nasıl bilmiyorum! Eğer 2 bezier yolu dikdörtgenler var ve çerçevelerinin her biliyorsanız

+2

Eğer dikdörtgenler, ardından CGRectIsEmpty (CGRectIntersection (r1, r2)) sadece ilgileniyorsanız dönecektir EVET onlar, aksi takdirde NO kesiştiği olmamaktır. – verec

+0

Oh pardon ... Sanırım elipsler de bahsettiğimi tamamen unutmuşum ... Soruyu güncelleyeceğim –

+1

Eğer yanlış pozitifler vereceğiniz yaklaşık bir çözümle ilgileniyorsanız (örn: cevap NO ise, daha sonra cevabınız EVET ise, Kesişmez, sonra çoğu zaman kesişir ama her zaman değil), başka dikdörtgen/tutulması sınırlayıcı kutu ile kesişim hesaplamak için bir dikdörtgen olarak tutulması sınırlayıcı kutusunu kullanın ... – verec

cevap

İlgili konular