İki Nokta Arasındaki Açı

Derslerimize durmadan devam ediyoruz!
Bu derste iki nokta arasındaki açıyı hesaplamayı anlatacağım.
Yine oyunlarda çok çok kullanılar bir prototip…

İki nokta arasındaki açıyı bulmak için, iki noktanın x ve y değerlerini bilmemiz gerekir.
Bu değerler:

var x1:Number = 20; //Birinci x değeri
var y1:Number = 20; //Birinci y değeri
var x2:Number = 30; //İkinci x değeri
var y2:Number = 30; //İkinci y değeri
 
var uz1:Number = x1-x2; //1. Uzunluk
var uz2:Number = y1-y2; //2. Uzunluk

olsun.

İki nokta arasındaki açıyı bulmak için tanjant fonksyonunu kullanacağız.

Tanjant, açının karşısındaki uzunluk bölü komşu uzunluktur :
pisagor
tan(aci) = uz2 / uz1

Açıyı bilmediğimiz ve uzunlukları bildiğimiz için arctanjant (ters tanjant) ı kullanmalıyız.
Buna göre matematiksel olarak  :

tan(aci) = uz2 / uz1
ise
arctan(uz2 / uz1) = aci
dır.

Şimdi bunu Flash as3 olarak yazalım:

Math.atan2(uz2,uz1);

Flashta değerler Radyan olarak geri döner

Ama biz derece cinsinden istediğimiz için

doğru orantı ile dereceye çevirelim :

RandyanAci = Math.atan2(uz2,uz1);

ise

DereceAci = RandyanAci*180/Math.PI;

dir.

Son olarak kodumuz :

var x1:Number = 20; //Birinci x değeri
var y1:Number = 20; //Birinci y değeri
var x2:Number = 30; //İkinci x değeri
var y2:Number = 10; //İkinci y değeri
 
var uz1:Number = x2-x1;
var uz2:Number = y1-y2;
 
var RandyanAci:Number = Math.atan2(uz2,uz1);
var DereceAci:Number = RandyanAci*180/Math.PI;
trace(DereceAci);

Olacaktır.

Dikkat : Burda çok önemli bir nokta var

var uz1:Number = x2-x1;
var uz2:Number = y1-y2;

Yazarken x1-x2 değilde x2-x1 yazdık; (Flash’ı günlük kullandığımız koordinat düzlemine benzetmek için)
Bunun nedeni Flash’ın koordinat düzleminde 4.bölgede(sağ altta) olması
g1
Yani asıl denklem (Kağıt üzerinde işlem için)
var uz1:Number = x1-x2;
var uz2:Number = y1-y2;

şeklinde olmalıdır.

Not : Yazdığım kodda açı hesaplanırken x1,y1 orjin olarak kabul edilir.

Örnek link : İki Nokta Arasındaki Açı (.FLA)

Evet, bu kadarcıktı :)

Görüşmek üzere.

GirayBAL

VN:F [1.8.2_1042]
Rating: 10.0/10 (2 votes cast)
İki Nokta Arasındaki Açı10.0102

5 Responses to “İki Nokta Arasındaki Açı”

  1. Fullusi Fullusi diyor ki:

    Çok önemli bir konu ve güzel bir anlatım, tebrikler…
    Bir de; iki nokta arasındaki açı yerine iki noktası belli olan doğrunun yatayla yaptığı açı denilirse belki daha hoş olabilir.
    Kolay gelsin.

  2. alio alio diyor ki:

    evet Fullusi’ye katılıyorum. Zaten iki nokta arasındaki açı tek başına havada kalır :)

    Bence giray sen bunu 3 noktalı .. o zaman 3 nokta arasındaki 2 noktanın açısını bulabilirsin.

    Ne diyorsun?

  3. Giray Bal Giray Bal diyor ki:

    Fullusi:
    Haklısın, iki nokta arasındaki açı?
    insanın “nereye göre açısı” diyesi geliyor.
    Ama ben başlığı tamamen google indexli yazdım.
    Yani ben mesela google’da bu konuyu arasam “iki nokta arasındaki açı” diye arardım.
    Google’da “iki noktası belli olan doğrunun yatayla yaptığı açı” diye aratmak bana garip geliyor :)
    Ama tabi çoğunluk neyi arıyorsa onu yazmak gerek.
    Eğer çok ters olduğunu düşünüyorsanız değiştiririm tabiki.

    Ali:
    Ali tam ne demek istediğini anlayamadım bir daha yazarmısın?

  4. alio alio diyor ki:

    şunu demek istedim

    şimdi senin örneğini en üstteki üçgen üzerinden anlatmam gerekirse;

    dik açının köşesi sabit. üst ve soldaki diğer köşeler değişken.

    sen o dik açıyı da değişken yapsan. yani üçgenin 3 noktası da taşınabilir olsa ve bilgiler şu şekilde olsa

    alfa=bilmem kaç
    beta=bilmem kaç
    gama=bilmem kaç

    anlatabildim mi:=)

  5. Giray Bal Giray Bal diyor ki:

    Anladım.
    Onuda bi ara yaparım artık :)

Leave a Reply