folder Tahribat.com Forumları
linefolder Java
linefolder Java'da Çember Üzerindeki Bir Noktanın Koordinatlarını Bulma



Java'da Çember Üzerindeki Bir Noktanın Koordinatlarını Bulma

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    JPriest
    JPriest's avatar
    Kayıt Tarihi: 09/Mart/2007
    Erkek

    Selam arkadaşlar,

    http://a.imageshack.us/img801/1868/canak.png

    şu görselde görülen şekildeki çemberler JFrame üzerine drawOval() ile, çizgiler de drawLine ile çizildi. Amacım bu sınıfın bir metoduna parametre olarak gelen açı değerini alıp o açıyı büyük çember üzerinde göstermek. Sarı daireyi de oraya çizmek. Bu sınıfa gönderilecek açıyı başka sınıfta hesaplıyorum, sarı daireyi çizdirmek de problem değil. Ama açı değeri kullanarak dıştaki çembere air olan bir noktayı nasıl hesaplarız? x ve y koordinatlarını hesaplamamız gerekiyor. Bu arada merkez koordinatları (200, 200).

    Şöyle bir yöntem düşündüm; gelen açıdan noktanın hangi bölgede olacağını anlayabilirim. Hayali bir noktayı o bölgede işaretleyip ordan koordinat düzlemine bir dik inersek, tan/sin/cos falan bi şekilde noktanın koordinatları hesaplanabilir.

    Ama daha basit bir yöntemi mutlaka vardır diye düşünüyorum. Bu kadar uğraşmadan, daha basit ya da verimli bir yöntem önerisi olan var mı?

    Bu arada görseldeki durumda sarı daire 90 derecede duruyor.

    Umarım derdimi anlatabilmişimdir.


    Sen hiç kaval çaldın mı?
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wking
    wking's avatar
    Kayıt Tarihi: 28/Mart/2010
    Erkek

    Hoca o grafik nesneleri ile bunu çizdirebildin fakat koordinat alamadın mı :D Garip olmuş, neyse ben biraz düşüneyim...

    Bu nesneyi çizdiğin kodları görsem belki bir şeyler çıkartabilirim ama proje gizli bir proje sanırım.

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AydanBatanGunes
    AydanBatanGunes's avatar
    Kayıt Tarihi: 25/Ağustos/2010
    Erkek

    Kodları koyabilirmisin


    Çirkin kızlara uçak çarpsın..
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SpArK
    SpArK's avatar
    Kayıt Tarihi: 17/Temmuz/2005
    Erkek

    JPriest! kizdim sana. Nasil bir anlatim bu boyle yakisiyor mu hic sana ? Bence kendin cozebilirsin ama, biraz daha duzgun anlat, classlari soyle tam yaptiklarini yapicaklarini. Yazdiklarin cok karisik geldi.

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fikret
    Fikret's avatar
    Kayıt Tarihi: 01/Ekim/2007
    Erkek

    hocam trigonometri bilgin vardır illaki. jframe de bu işe yarayan bir fonksiyon var mı onu bilmiyorum fakat şöyle yapabilirsin. gelen açıya göre konumun hangi bölgede olduğunu hesaplarsın önce.

    örneğin 0 ile 90 aralığındaysa; (x,y) olarak düşünürsen açıdan başlayıp istediğin noktayı kesen doğrunun uzunluğuna da a dersen;

    x=cos a

    y=sin a

    olur ama ben olsam bu kadar uzun hesaplamayla uğraşmazdım :) ben de merak ettim umarım fonksiyonu bilen birileri çıkar.


    screw you guys! i"m goin" hoooome!
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    oldwolf
    oldwolf's avatar
    Kayıt Tarihi: 02/Haziran/2002
    Erkek

    Fikret bunu yazdı:
    -----------------------------

    x=cos a

    y=sin a
    -----------------------------

     

    birim çember değilse x=r.cosa y=r.sina (r=radius=yarıçap)

    çemberin merkezi (200,200) ise bulduğun x ve y değerlerini 200 ile toplarsın sonuçta x=200+r.cosa y=200+r.sina olur.


    Metallica Rules
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fikret
    Fikret's avatar
    Kayıt Tarihi: 01/Ekim/2007
    Erkek

    oldwolf bunu yazdı:
    -----------------------------

    Fikret bunu yazdı:
    -----------------------------

    x=cos a

    y=sin a
    -----------------------------

    birim çember değilse x=r.cosa y=r.sina

    -----------------------------

    evet eklemeyi unutmuşum, artı olarakta çemberin merkezinin (200,200) olduğunu söylemiş bu da koordinata 200 olarak eklenir her iki eksende.


    screw you guys! i"m goin" hoooome!
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    JPriest
    JPriest's avatar
    Kayıt Tarihi: 09/Mart/2007
    Erkek

    x=r.cosa y=r.sina yöntemi ile buluyorum zaten ilk mesajımda onu da belirtmeye çalıştım ama, herhalde derdimi iyi anlatamamışım. Daha az işlem yaparak istediğimi bulabilir miyim acaba diyerekten açmıştım konuyu ama neyse, böyle de halledicez artık.

    @Ozan kızma aga aceleye geldi özen gösteremedim yazıya, ikinci defa okumayı bırak cümlelerin yarısını yazıp diğer yarısını 5 dakika sonra yazdığım oldu. Yine de birkaç kişi anlayabilmiş, öneriler için sağolsun herkes.


    Sen hiç kaval çaldın mı?
Toplam Hit: 3768 Toplam Mesaj: 8