Aşağıda trigonemetrik fonksiyonlarla ilgili aldığım notlar var.
Trigonometrik ve Kutupsal Sistem
Kutupsal koordinat sisteminin bir diğer ismi de polar sistem. İsimleri farklı gibi görünse de her ikisi de aynı şeyler. Ben bu yazıda kutupsal koordinat sistemi kelimesi yerine trigonometrik sistem kelimesini kullanmayı uygun buluyorum.
Bu sistemde 0 derece doğudan başlar. 90 derece ise kuzeye denk gelir.
Önemli Formüller
Şöyledir.
PI Sayısı yazısına taşıdım
Trigonometrik ve Kutupsal Sistem
Kutupsal koordinat sisteminin bir diğer ismi de polar sistem. İsimleri farklı gibi görünse de her ikisi de aynı şeyler. Ben bu yazıda kutupsal koordinat sistemi kelimesi yerine trigonometrik sistem kelimesini kullanmayı uygun buluyorum.
Bu sistemde 0 derece doğudan başlar. 90 derece ise kuzeye denk gelir.
Önemli Formüller
Şöyledir.
PI Sayısı
PI Sayısı yazısına taşıdım
radyan nedir?
Radyan bir çok hesaplamada karşımıza çıkar. Bence bilinmesi gereken en önemli nokta PI radyan değeri, 180 dereceye denk gelir.
radyandan dereceye döndürmek için
dereceye radyana dönmek için(radyan * 180 / PI) ;
yapılır.(derece * PI / 180) ;
C#'ta şöyle yapılır
private double DegreeToRadian(double angle)
{
return Math.PI * angle / 180.0;
}
private double RadianToDegree(double angle)
{
return angle * (180.0 / Math.PI);
}
Java'da Math.toDegrees() metodu da radyanı dereceye çevirir.Eksi bir radyan değerini açıya döndürmek için aşağıdaki formül kullanılabilir.
public static double RadianToDegree(double radian)
{
var degree = radian * (180.0 / Math.PI);
if (degree < 0)
degree = 360 + degree;
return degree;
}
İç Açı
Özellikle istikamet hesaplarken işe yarar. İki çizgi arasındaki iç açı aşağıdaki gibi hesaplanır. İç açı dış açıdan küçüktür. Örneğin ilk açı 10, ikinci açı 300 derece olsun. Aradaki fark 70 derece çıkmalı.
angle = Math.abs(a1-a2);
if (angle > 180)
angle = 360 - angle;
İki doğru arasındaki iç açı şöyle hesaplanır.sin
sinüs yazısına taşıdım
cos
Kosinüs temel trigonometrik fonksiyonlardan birisi. Co eki complement anlamına gelir. cos aslında sin fonksiyonundan da çıkarılabilir. sin fonksiyonu cos'un 90 derece önünden gider.
Şöyle yaparız.
atan2 yazısına taşıdım.
asi
sin fonksiyonunu tersini yapar.
acos
cos fonksiyonunun tersini yapar.
Bir fonksiyonun tersini almak (inverse) y = x şeklinde yazılan bir denklemde x ve y'nin yerini değiştirerek çözmek demektir.
arccos ile ile vektör arasındaki açıyı bulmak için aşağıdaki formül kullanılabilir.
Vektör ve açı şekildeki gibidir.
Önce iki vektör formülünden başlanır. a . b nokta çarpımını ifade eder. |a| × |b| ise vektörlerin büyüklüklerini (magnitude) yani uzunluklarını ifade eder. Sanırım uzunluğa norm veya euclidian norm da deniliyor.
Formül aşağıdaki gibi
Pusulaya Açısına Göre X,Y koordinatlarını hesaplamak
Pusula Açısını Trigonometrik Açıya Çevirmek yazısına taşıdım.
Pisagor Teoremi
Pisagor teoremi dik üçgende kullanılır. 2 boyutlu uzayda iki nokta arasındaki mesafeyi hesaplamak için kullanılabilir.
Y değerini bulmak içinse aşağıdaki gibi yaparız.
Pisagor teoremi iki boyutlu uzayda kullanılır. Çok boyutlu uzayda ise Öklid Uzaklığı kullanılır. 3 boyutlu uzayda mesafe şöyle bulunur. Önce iki nokta arasındaki mesafe hesaplanır.
Pisagor sadece dik üçgende kullanılır. Tüm üçgenlerde kullanılan formül ise kosinüs teoremi. c'nin uzunluğunu bulmak için a ve b'nin uzunluklarını ve de a ila ve arasındaki açıyı bilmek gerekir.
Şekiller
Basit Shape Sınıfları yazısına taşıdım.
Sinüs Dalgası
Salınım
0-60 arasında salınım (oscilation) yapan basit bir fonksyion örneği burada. Sürekli tekrar eden bir sinyali salınım yapar hale getirmek için ilk yarıda [0-30] input * 2 ve daha sonra ikinci yarıda [30 - 60 ] 120 - input * 2 şeklinde kullanabiliriz. Böylece çıktımız hep 0 - 60 ve 60 - 0 arasında değişir.
Sinüs Dalgası
Sinüs dalgası f(x) = A sin(wX + p) formülü ile yazılır. A genliği, w ise frekansı gösterir. w değeri ile oynayarak dalganın, dalga boyu değişir. Örnek
Yüzde Hesaplama
Yüzde hesaplama için aşağıdaki basit formül kullanılır.
Hiperbolik Fonksiyonlar
Hiberbolik Fonksiyonlar ile atanh gibi fonksiyonlar geliyor. Şöyledir.
Kosinüs temel trigonometrik fonksiyonlardan birisi. Co eki complement anlamına gelir. cos aslında sin fonksiyonundan da çıkarılabilir. sin fonksiyonu cos'un 90 derece önünden gider.
ya da sinüs cosinüs'ün 90 derece arkasından gelir.cos(x)=sin(π/2−x)
atan Nedirsin(x)=cos(π/2−x)
Şöyle yaparız.
x = Math.toDegrees(Math.atan(0.5447))
atan2 Nedir?atan2 yazısına taşıdım.
asi
sin fonksiyonunu tersini yapar.
acos
cos fonksiyonunun tersini yapar.
Bir fonksiyonun tersini almak (inverse) y = x şeklinde yazılan bir denklemde x ve y'nin yerini değiştirerek çözmek demektir.
arccos ile ile vektör arasındaki açıyı bulmak için aşağıdaki formül kullanılabilir.
Vektör ve açı şekildeki gibidir.
Önce iki vektör formülünden başlanır. a . b nokta çarpımını ifade eder. |a| × |b| ise vektörlerin büyüklüklerini (magnitude) yani uzunluklarını ifade eder. Sanırım uzunluğa norm veya euclidian norm da deniliyor.
a · b = |a| × |b| × cos(C)Daha sonra acos ile açıyı bulmak için formül şu hale gelir.
C = acos ((a . b) / (|a||b|))Şekildeki formül şu hale gelir.
C = acos (-6 x 5 + 8 x 12) / 10 * 13Vektörü X Derece Döndürmek
C = acos (66 / 130)
C = 59.48976259
Formül aşağıdaki gibi
trigonometricAngle = atan2 (Y,X)
newAngle = trigonometricAngle + rotationAngle
length = sqrt ( (X^2) + (Y^2) )
X = length * cos (newAngle)
Y = length * sin (newAngle)
Pusulaya Açısına Göre X,Y koordinatlarını hesaplamak
Pusula Açısını Trigonometrik Açıya Çevirmek yazısına taşıdım.
Pisagor Teoremi
Pisagor teoremi dik üçgende kullanılır. 2 boyutlu uzayda iki nokta arasındaki mesafeyi hesaplamak için kullanılabilir.
x² + y² = r²Örnek:
Y değerini bulmak içinse aşağıdaki gibi yaparız.
y = sqrt(r² - x²)Öklid Uzaklığı
Pisagor teoremi iki boyutlu uzayda kullanılır. Çok boyutlu uzayda ise Öklid Uzaklığı kullanılır. 3 boyutlu uzayda mesafe şöyle bulunur. Önce iki nokta arasındaki mesafe hesaplanır.
v.x = p1.x - p0.x
v.y = p1.y - p0.y
v.z = p1.z - p0.z
Daha sonra nokta çarpımı (x,y,z'nin karelerinin toplamı) yapılır.(v.x * v.x) + (v.y * v.y) + (v.z * v.z)
Mesafe nokta çarpımının kare köküdür.distance = sqrt(dot(v, v))
Kosinüs TeoremiPisagor sadece dik üçgende kullanılır. Tüm üçgenlerde kullanılan formül ise kosinüs teoremi. c'nin uzunluğunu bulmak için a ve b'nin uzunluklarını ve de a ila ve arasındaki açıyı bilmek gerekir.
cKare = aKare + bKare - 2abcos (a ve b arasındaki açı)Kosinüs Teoremi aynı zamanda Spherical Law Of Cosines teoreminin de çıkış noktasıdır.
Şekiller
Basit Shape Sınıfları yazısına taşıdım.
Sinüs Dalgası
Salınım
0-60 arasında salınım (oscilation) yapan basit bir fonksyion örneği burada. Sürekli tekrar eden bir sinyali salınım yapar hale getirmek için ilk yarıda [0-30] input * 2 ve daha sonra ikinci yarıda [30 - 60 ] 120 - input * 2 şeklinde kullanabiliriz. Böylece çıktımız hep 0 - 60 ve 60 - 0 arasında değişir.
Sinüs dalgası f(x) = A sin(wX + p) formülü ile yazılır. A genliği, w ise frekansı gösterir. w değeri ile oynayarak dalganın, dalga boyu değişir. Örnek
Yüzde Hesaplama
Yüzde hesaplama için aşağıdaki basit formül kullanılır.
(currentX - minX) / (maxX - minX)
Hiberbolik Fonksiyonlar ile atanh gibi fonksiyonlar geliyor. Şöyledir.
sinhxcoshxtanhx=−isin(ix)=cos(ix)=−itan(ix)
kardeş gerçekten çok teşekkürler böyle bir yazı yazdıgın için
YanıtlaSilmail adresim aygokcukur@hotmail.com bir kaç sorum var
YanıtlaSilC# DİLİNİ YADA BAŞKA BİR PROGRAMI KULLANARAK 3D OLARAK OLUŞTURULAN NESNENİN XYZ KOORDİNATLARINI NOT DEFTERİNE AKTARMA İMKANIMIZ VAR MI ACABA
YanıtlaSilatan2 fonksiyonun tam anlayamadım ya. Acaba tekrar bana anlatırmısınız ? örnek vererek. Teşekkürler.
YanıtlaSilAtan2 için örnek : X,Y ekseninde diyelim ki ben 0,0 noktasındayım. Yani merkezdeyim. Bir başka kişinin ise konumunu biliyorum. X = 10, Y = 10 gibi. Bu kişinin bana göre açısını hesaplamak için atan2 fonksiyonunu kullanırım. X eksenini 0 derece kabul ederim. atan2 (y,x) saatin tersi yönünde ilerler ve örneğin 10 derece döndürür. Eğer pusula kullanıyor olsaydım y eksenini 0 kabul ederim. Bu sefer atan2 (x,y) şeklinde çağırırım. Diğer kişinin açısını pusulaya göre bulurum.
YanıtlaSil