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 :

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ı

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
Ç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.
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?
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?
ş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:=)
Anladım.
Onuda bi ara yaparım artık