İki Çemberin Kesişim Noktaları Nasıl Bulunur

Birazda matematik yapalım, tabikide yazılım kasmaya devam. Bu yazımızda iki çemberin kesişim noktalarını bulmayı öğreneceğiz ve C# programlama dilinde bulma yöntemini kodlayacağız.

İki çember 2 noktadan kesişir. Yani fonksiyonun çözüm kümesinde iki eleman vardır. Aşağıdaki resimde p3 noktaları. p0 ve p1 noktaları ise çemberlerin merkezlerini temsil etmektedir.

İki çemberin Kesişim Noktalarının Bulunması
İki çemberin Kesişim Noktalarının Bulunması

Çemberlerin merkezlerinin birbirlerine olan mesafesi formülü;

  • Eğer d > r0 + r1: Çemberler kesişimden uzaklar.
  • Eğer d < |r0 – r1|: Bir çember diğerinin içinde kesişim yok.
  • Eğer d = 0 and r0 = r1: Çemberler aynı yarıçapta.
  • Eğer d = r0 + r1: Çemberler birbirlerine teğetler.
  • Diğer durumlarda: Çemberler iki noktadan kesişmişler.

Pisagor teoremine göre;

Yer değiştirme ve çarpma işlemi sonucunda;

–bterimini yalnız bırakırsak;

Sadeleştirme sonucunda;

Tüm bu değerler bilindiğine göre a ve b için çözebiliriz. Diğer p3 noktalarını bulmak için bu mesafeleri kullanacağız.

Bir çizgi <dx, dy> yönünü gösteriyorsa, iki dikey kesen çizgi <dy, –dx> ve <–dy, dx> yönlerini işaret eder. Sonuç ölçeklendirme, p3 noktaları için aşağıdaki koordinatları verir:

C# programında iki çemberin kesismesini hesaplamak için rasgele mouse ile iki daire çizerek birbirlerine kesistiren programı yazalım. İlk önce aşağıdaki gibi basit bir form oluşturun.

C# İki Çember Kesişmesini Hesaplayan Program
C# İki Çember Kesişmesini Hesaplayan Program

Aşağıdaki kodu inceleyin ve kendi programınıza entegre edin. Burada Dikkat etmeniz gereken şey Mouse Eventlarının çalışması için Form1.Designer.cs dosyasına Form1 kısmına aşağıdaki kodları eklemeniz gerekmektedir.

İki Çemberin Kesişmesini Hesaplayan C# programı için;

Kaynak, İyi çalışmalar,

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.