Şimdi Ara

Ne anlıyorsunuz(Java)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
8
Cevap
0
Favori
2.072
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • "Create a line class having slope and intercept as instance variables.That is the line should be represented internally with its slope and inrercept.

    Write four constructors for initilizing line objects as follows
    o Taking two points
    o Slope and intercept
    o Slope and a point
    o Three real numbers a,b,c for the line a*x+b*y –c = 0
    as parameters
    Add any relevant get and set methods
    Add a method called intersectLine when invoked on a line object and takes a second line object as parameters and calculate and returns the intersection point of the two lines as a point object. If the two lines are parallel or coinside the method will return null.
    Add a method called intersectPoint when invoked on a line object and takes a point object as parameters and calculate and returns the intersection point of the line and the point Find the equation of the perpendicular line from the point to the line and invoke the intersectLine method to find the intersctions of the two lines.
    Add a method called distance when invoked on a line object and takes a point object as parameters and calculate the distance between a point and a line. Thsi method should utilize the intersectPoint method of the line class as well as the distance method of the Point class.
    Add a displayLine methd which will display the line like that:
    y= slope*x + intercept Example y=3x+2


    Create a test class to perform the following
    o Get x and y coordinates of a point from the user and create a Point object
    o Get two lines from the user Each time show the menu for entering four options of entering the line as follows:
    § 1-Asking two points
    § 2-Asking a point and slope
    § 3- Asking slope and intercept
    § 4- Asking a,b and c
    o Find the intersection of the point and the two lines. Print the results to the screen.
    o Find the distance between the point and the two lines. Print the result to the screen.
    o Find the intersection of the two ines. Print the result to the screen "



    Yazılanları ödevim olarak yapmam gerek fakat matematiğim pek iyi olmadığından oop' gede yeni başladığımdan tam olarak nasıl bir yol izleyeceğimi bilemedim. Biri kısaca açıklayabilir mi ?
    ben şunu anladım: kullanıcıdan 2 nokta , 1 tane nokta ve eğri, 1 tane daha eğri ve intercept(?), 3 tane a,b,c sayısı istiycem. 2 eğrinin kesişim noktaları, 1 noktayla eğri arasındaki uzaklık, 1 nokta ve doğrunun kesişimi bunları ekrana yazdırcam fakat eğrilerin nasıl denklemini yazıcağımı anlıyamadım..







  • Bir çizginin denklemi matematikte temel olarak y = a*x + b olarak geçer.

    Burada x değerimizin 0 olduğunu varsayalım. Elde edeceğimiz denklem y = b olur. yani nokta olarak ifadesi (0, b) idir. Ve bu nokta intercept noktası olarak bilinir. Denklemdeki a değerimiz ise eğimimizdir (slope).

    Bir çizgi çizmenin 4 yolu vardır :
    - Çizgi üzerindeki 2 noktayı bilmek
    - Çizginin eğimini ve x = 0 ikenki değerini bilmek (yani intercept)
    - Eğimi ve çizgi üzerindeki bir noktayı bilmek (ki aslında aynı şey bir önceki ile)
    - Çizginin denklemindeki tüm katsayıları bilmek, (a*x + y*b - c = 0 için a, b ve c)

    Bu 4 yol senin yazacağın doğru sınıfının constructorları olacak. Yani 4 constructor' a sahipsin.

    Hocanız sizden sınıf yazmanızı istiyor ve doğru sınıfının içinde ekstradan iki metod olsun diyor :
    - İki doğrunun kesişim noktasını belirleyen metod
    - Bir doğru ile bir noktanın arasındaki en kısa mesafeyi döndüren bir metod.

    Bir de driver program yaz diyor hocanız:
    - Kullanıcıdan alcağın x ve y ile bir nokta oluştur diyo
    - Bir de kullanıcıya menü sunaraktan 2 tane doğru oluştur diyo, bu menü de 4 seçenek var, oluşturacağın doğrunun hangi constructor ile çağrılacağını seçtiriyosun. Geri kalan 3 şeyi de ekrana bas diyo işte.




  • quote:

    Orijinalden alıntı: qamyoncu

    Bir çizginin denklemi matematikte temel olarak y = a*x + b olarak geçer.

    Burada x değerimizin 0 olduğunu varsayalım. Elde edeceğimiz denklem y = b olur. yani nokta olarak ifadesi (0, b) idir. Ve bu nokta intercept noktası olarak bilinir. Denklemdeki a değerimiz ise eğimimizdir (slope).

    Bir çizgi çizmenin 4 yolu vardır :
    - Çizgi üzerindeki 2 noktayı bilmek
    - Çizginin eğimini ve x = 0 ikenki değerini bilmek (yani intercept)
    - Eğimi ve çizgi üzerindeki bir noktayı bilmek (ki aslında aynı şey bir önceki ile)
    - Çizginin denklemindeki tüm katsayıları bilmek, (a*x + y*b - c = 0 için a, b ve c)

    Bu 4 yol senin yazacağın doğru sınıfının constructorları olacak. Yani 4 constructor' a sahipsin.

    Hocanız sizden sınıf yazmanızı istiyor ve doğru sınıfının içinde ekstradan iki metod olsun diyor :
    - İki doğrunun kesişim noktasını belirleyen metod
    - Bir doğru ile bir noktanın arasındaki en kısa mesafeyi döndüren bir metod.

    Bir de driver program yaz diyor hocanız:
    - Kullanıcıdan alcağın x ve y ile bir nokta oluştur diyo
    - Bir de kullanıcıya menü sunaraktan 2 tane doğru oluştur diyo, bu menü de 4 seçenek var, oluşturacağın doğrunun hangi constructor ile çağrılacağını seçtiriyosun. Geri kalan 3 şeyi de ekrana bas diyo işte.



    İyide sınıfın içine sanırım farklı parametreli constructor kullanmak gerekiyo. Yani kaç parametreli constructor kullanmalıyım ? 4 tane farklı farklı olaraktan ?




  • public LineClass (Point p1, Point p2)
    public LineClass (int slope, int intercept)
    public LineClass (int slope, Point p1)
    public LineClass (int a, int b, int c)

    Kaç parametreli kullanacağın gördüğünü gibi gereksinim ile ilgili. Soruya göre istenen constructrlar böyle.
  • quote:

    Orijinalden alıntı: qamyoncu

    public LineClass (Point p1, Point p2)
    public LineClass (int slope, int intercept)
    public LineClass (int slope, Point p1)
    public LineClass (int a, int b, int c)

    Kaç parametreli kullanacağın gördüğünü gibi gereksinim ile ilgili. Soruya göre istenen constructrlar böyle.

    tamam teşekkür ederim. Fakat işin matemtiksel boyutu halen muallakta kaldı. Misal kullanıcıdan aldığım a,b,c sayılarını direk kullanarak diyelim kullanıcı 3,5,7 girdi. Çizginin denklemini şu şekilde yazabilirmiyim
    3x+5y+7=0 ? Hesaplamalar basit formüller kullanarak yazdım fakat denklemi yazma işi biraz kafamı karıştırdı.

    Birde 2 doğrunun kesişimi noktasını nasıl bulabilirim ?
    Ordada sanırım eğer çizgiler paralel değilse x leri y leri birbine eşitleyerek buluyoduk.

    Şu şekilde 3x+1=2x+11 atıyorum bunu koda nasıl dökebilirim.




  • 2 doğru kesişiyorsa kesiştikleri nokta her iki doğrunun da denklemini sağlamalıdır. Zaten eşitlemenin mantığı budur. Ama üstte yazdığın gibi eşitleme yapabilmek için her iki denklemdeki y'lerin katsayıları birbirine eşit olmalı.

    Kod olarak yazabilmek için, her denklemin katsayısını bulurken y'nin katsayılarını 1 bırakmak bir çözüm yolu olabilir. Verdiğin örneğe göre katsayıları double cinsinden 3/5 1 7/5 yaparsan, ikinci bir denklem girildiğinde (örneğin 5 2 8 katsayılı), onunkileri de 5/2 1 ve 4 yaparsan eşitleme işleminde problem yaşamazsın.

    (3/5 - 5/2)*x = 4 - 7/5
    x = (4 - 7/5) / (3/5 - 5/2)

    Daha genel bir ifade ile (1. denklemin katsayıları a1 b1 c1 olsun, 2. denkleminkiler a2, b2, c2 olsun) :
    x = (c2/b2 - c1/b1) / (a1/b1 - a2/b2) ;

    Çizgilerin paralel olması için eğimleri eşit olmalı. Ancak tabi burda eğime direk x'in katsayısı diye bakarsan yanılırsın. Eğim -a1 / b1 dir.
    Çizgilerin dik olması için eğimleri çarpımı -1 olmalı.




  • quote:

    Orijinalden alıntı: qamyoncu

    x = (c2/b2 - c1/b1) / (a1/b1 - a2/b2) ;


    şu sanırım 2 doğruyu kesen noktanın x koordinatı ?

    peki 2noktası bilnen doğrunun denklemi şöyleydi

    (y2-y1)/(x2-x1)=(y-y2)/(x-x2)

    doğru denklemini yazarkende kod içinde bu formülden mi yararlanmak gerek ?
    veya eğimini ve bir noktasını biliyorsam farklı bir formülden yararlanarak mı yazıcam. doğru denklemini yazarken takıldım şimdide...

    Yani şöyle düşünüyorum x ve y nin katsayılarını bulup

    println(katsayı1+"y"+"("+katsayı2+")"+"x"+katsayı3)

    x ve y' yi string olarak direk yazdırıcam değilmi ?
    ve katsayıları nasıl yakalıycam :)
    biraz soru fazla oldu kusura bakmayın...
  • buarada elimde 2 tane güzel kitap var...
    pearson education' ın building java programs ve data structure and problem solving using java adında....
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.