İkinci aşama verilen iki noktadan, yine verilen açı ve uzunlukla yeni bir nokta yaratmak.

Önce bir grafik.

Ve kodu buraya aktarıyorum. Yine Nokta class‘ının içindeki bir metod bu.

  /**
   * Yeni bir noktayi bu nokta ve verilen diger noktanin olusturdugu
   * dogruya gore verilen bir aci ve uzaklikla olusturur.
   * @param referansNokta diger referans nokta
   * @param aci referans nokta ile bu noktaya gore yeni noktanin olacagi
   *        dogrultunun acisi
   * @param uzaklik bu dogrultuda bu noktadan yeni noktaya olan uzaklik)
   */
  public Nokta yeniNokta(Nokta referansNokta, float aci, float uzaklik) {
    aci += referansNokta.aci(this) - PI;
    Nokta yeni = new Nokta (x+uzaklik*cos(aci), y+uzaklik*sin(aci));
    return yeni;
  }

yeniNokta metoduna bir referans nokta, bir açı ve bir uzaklık veriyoruz. Yeni noktayı yaratabilmem için grafikte alfa ile gösterdiğim açıyı bulmam gerek. Bunu bulmak için ise benimle referans nokta arasındaki açıyı bulmam ve PI’yi bu açı ile bana verilenden açıdan çıkartmam gerekir.

Alfa’yı bulduktan sonra iş sadece uzunluk ve cosinüs ve sinüs kullanmak.

Advertisements