1. sayfa
Çember matematiği cos ve sin fonksiyonlarına pi ve radyan değerlerini vererek oluşturursun. glBegin(GL.GL_LINE_LOOP); Üstteki örneği StackOverflow'dan aldım. OpenGL kütüphanesine ait. Yaptığı şey kısacası çember şeklinde 300 tane nokta oluşturmak. Daha sonra GL_LINE_LOOP'un yapısı gereği bunlar art arda birbirine bağlanır ve çember olmuş olur. Peki graphics kütüphanesinde hazır çember fonksiyonu yok mu? not: https://www.mathopenref.com/coordcirclealgorithm.html |
Nokta sayısı nedir? Tahminen 3 noktadan fazla örneğin 4 nokta verilirse o 4 noktadan geçecek çember çizmek imkansız olabilir. . |
noktaların çember üzerinde olması şart değil. içinde de kalabilir. sınırsız nokta girebilir kullanıcı isterse hocam. |
var hocam circle fonksiyonu kullanılıyor. ama aslında grafik kütüphanemden çok bana verilen noktaları kapsayan minimum çemberin algoritmasını kafamda oturtamıyorum. |
O zaman en uzak 2 nokta çap olacak şekilde bir çember çizmek yeterli olabilir cunku diger tüm noktaları içine alır. Yani soru öyleyse soru birbirine en uzak 2 noktayı bulma algoritması yazmak ve o 2 nokta çap olacak şekilde BGI (graphics.h) ile çember çizdirmekten ibaret olabilir. |
up |
Soru çok açıklayıcı değil. İki senaryo için farklı çözümler olur. Çember 1 veya 2 noktayı rasgele içerebilir, bundan fazlasını içermesi için şartlı çözüm yapmamız gerekiyor. Diyelim n girdi oldu kullanıcı tarafından. n = 3 için çözüm yapmaya kalkarsak ilk 1 ve 2 noktayi içeren teğetin oluşturduğu çemberin yarıçapını 3. noktayı içerecek şekilde uyarlayabiliriz. 3 den büyük değerler için aklıma bir çözüm gelmiyor şuanda (teker teker kontrol etmek dışında). Üç nokta için C(n, 3) kombisyonu kadar farklı çözüm elde ederiz. Eğer en dıştaki en büyük kapsayıcı çemberin çizilmesi isteniyorsa, dış kısımda kalan 2 noktayı içerecek şekilde olursa eğer çemberin yarıçapını sonsuza kadar büyütebiliriz ve bu bütün noktaları kapsar. |
< Resime gitmek için tıklayın > 5 nokta verilmiş olsun. Önce çemberin merkezini bulmak için tüm noktaların x ve y'lerinin ortalaması alınarak merkez noktayı buldum. (5+5+3+2+1) / 5 = 3.2 (1+4+2+4+1) / 5 = 2.4 Merkez noktan (3.2, 2.4) Ardından merkez noktanın diğer noktalara olan uzaklıklarını bularak, en uzak noktayı buldum. < Resime gitmek için tıklayın > < Resime gitmek için tıklayın > Kullandığın kütüphanedeki fonksiyonu bilmiyorum fakat şuradan gördüğüm kadarıyla. (https://www.geeksforgeeks.org/draw-circle-c-graphics/) Merkez nokta ve en uzak noktanın mesafesini verirsen, en uzak nokta üzerinden geçen ve tüm noktaları kapsayan çemberi çizmiş olursun. Üstünden geçmesin istiyorsan 1-2 pixel daha uzatırsın yarıçapını. // C Implementation for drawing circle |
hocam evet bu noktaları kapsıyor evet ama minimum çevreleyecek şekilde çizilmesi bekelniyor. senin algoritmadaki çember minimum olmuyor |
forumla ilgilenen yok mu? utanmaz elemanlar kendi dandik sitelerini atıyorlar alakalı alakasız yerlere, ödev isteyenler gelen cevaplardan direkt kopyala yapıştır yapacağı yoksa cevap bile vermiyor, büyük ihtimal anlamıyor, yazık forumun hali kötü gibi. |
1. sayfa
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.