27 Şubat 2008 Çarşamba

Vektör Hesaplamaları

Bütün yazı ve diğer yazılar boyunca kulanılacak işaretler ve anlamları: Sqrt ->karekök alma Sqr -> karesini alma vektör -> vektörün boyu * ->çarpma . ->skaler carpım / ->bölme + ->toplama - ->çıkarma sayi ->mutlağını alma genelde vektör verirken A B diye adlandıracağım. Noktaları ise x1,y1,z1 x2,y2,z2 ....... olacak.

VEKTÖRLER

2 boyutlu duzlemde bir noktanın kordinatı x y eksenine göre belirlenirdi .3 boyut da da x y z eksenleri ile belirlenir. Nasıl ağırlık kg a göre değer buluyosa nasıl hiz m/s ile değer buluyosa 3d dede bi nokta xyz eksenine göre değer bulur örn) A noktasının yeri (3 birim x ekseninde 4 birim y ekseninde 5 birim z ekseninde gibi). Vektör sayının yanında doğrultusu (d doğrusu) ve yönü belli (kırmızı ile cizdiğim ok) bir büyüklüktür. örn)hiz, kuvvet vs. Vektörün konumunu örneklerimizde genellikle A vektörü A(x1,y1,z1) B vektörü B(x2,y2,z2) ile gösterilecek.

İKİ VEKTÖRÜN TOPLAMI

TOPLAMA ÇIKARMA İki vektörün toplamını veya farkını alırken ucuca ekleme metodu kulanabilriz. Şekildede görüldüğü üzere A vektörüne B vektörünü ekliyelim (toplayalım) A nın bitim noktasına B vektörünün başlangıcını getirip A vektörünün baslangıç noktasından B vektörünün bitim noktasına bir vektör çizersek bu vektör bize A+B vektörünü verir. Matematiksel eşiti ise Toplama A+B =R=((x1+x2),(y1+y2),(z1+z2)) Görüldüğü üzere A vektörü ile B vektörünün toplamı olan R vektörü bulunurken A vektörünün x konumu ile B vektörünün x konumu y ..y ,z…z toplanarak yapılıyor . Çıkarma A vektöründen B vektörünü çıkardığımızı düşünelim A vektörünü aynen alıyoruz çıkarılacak olan B vektörünün ise tersini alıp yukardaki uç uca ekleme metodunu kulanıyoruz. Bir vektörün tersi ise Aşağıdaki şekilde de görüldüğü gibi A vektörünün tersi A vektörünün x,y,z konumlarının ters işaretlisinin alınması ile elde edilir (yani -1 ile çarpma) A(x,y,z) ise A nın tersi A’(-x,-y,-z) dir örn( A(4,-4,-5) ise A’(-4,4,5) dir ) Cıkarma A-B=((x1-x2),(y1-y2),(z1-z2)) Bir vektörle aynı yöndeki k kat daha büyük bi vektörü ise =((x1*k),(y1*k),(z1*k)) olarak buluruz. Peki iki nokta arasındaki vektör nasıl bulunur Şimdi A noktasından B noktasına doğru bir AB vektörü düşünün (Aşağıdaki şekildeki gibi bu vektörün doğrultusu A dan B ye doğru ve boyu A noktası ile B noktası arasındaki mesafe kadardır. Şimdi önemli bir nokta var A noktasından B noktasına doğru ve B ye kadar bir vektör tanımlarken şu yolu izliyoruz orjinden A noktasına kadar bir A vektörü ve orjinden B noktasına kadar olan başka bir B vektörü düşünün şimdi bu iki vektör aşağıda görüldüğü gibi B vektöründen A vektörünü çıkarırsak AB vektörünü elde ederiz. Yani AB(x2-x1,y2-y1,z2-z1) (bu nun böyle olduğu zaten şekillerde gözükmekte) demekki herhangi bir A noktasından B noktasına doğru tanımlı vektör =B-A dır. Bir vektörün boyu ise x,y,z konumlarının karelerinin kare kökü dür. AB=B-A=sqrt(sqr(x2-x1)+sqr(y2-y1)+sqr(z2-z1)) Bunun isbatı da aşağıda gösterilmiştir. Örnek: Şimdi A noktasının kordinatlarına (1,2,2) diyelim B ninkilere ise (2,4,6) AB vektörü ise=B-A= ((2-1),(4-2),(6-2)) AB(1,2,4) bulunur. Bakın nokta ile vektörü birbirine karıştırmayın Nokta ile Vektör ayrı seylerdir mesela A(1,2,2) dedik bu A nın x ekseninde 1 konumunda Y ekseninde 2 Z eksenindede 2 konumunda bulunduğunu bildirir. AB vektörünü AB(1,2,4) bulduk peki bu ne anlama geliyo bir konummu tabiyki hayır bu AB vektörünün X ekseninde 1 birim Y ekseninde 2 Z ekseninde ise 4 birim lik şiddetinde olduğu anlamını taşır.

BİRİM VEKTÖR

Birim vektör boyu 1 birim olan vektördür. Birim vektörümüzü B(x0,y0,z0) diye adlandıralım. B=1 olmalı şimdi aşağıdaki şekle bakalım bir rastgele kordinatlarda alınmış bir A vektörü var ve bu A vektörü ile aynı yönde bir B birim vektörü (mavi ile çizdiğim) A vektörümüz A(5,-3,2) olsun. Peki B vektörünü nasıl buluruz. B birim vektörümüz A vektörünün x,y,z konumlarının A vektörünün boyuna bölünmesi ile bulunur. A=sqrt(sqr(5)+sqr(-3)+sqr(2))=6,164.. x0=Ax/A= x0=5/6.164=0.81 y0=Ay/A= 3/6.164=0.48 z0=Az/A= 2/6.164=0.32 B vektörünün boyunu hesaplattığımızda B=sqrt(sqr(x0)+sqr(y0)+sqr(z0)) =1 olduğunu görürüz. Peki bu birim vektör neye yarar? Birim vektör işlem kolaylığı sağlar. İlerdede göreceğimiz üzere bir çok işlemde vektörün boyu lazım olcak buda karekök ve karesi gibi uzun zaman alan işlemleri gerektiricek ama birim vektör kulandığımız zaman boy belli olduğu için (1) koddan ve zamandan kazanmış olcağız. A vektörü ile aynı yönlü herhangi bi vektör bulmak istiyoruz bunu nasıl yaparız? A(x1,y1,z1) vektörü ile aynı yönlü vektörümüz B(x2,y2,z2) olsun. B=k*A dir x2=k*x1 y2=k*y1 z2=k*z1 (B vektörü A vektörünün k katı) Örneğin A vektörümüz (2,4-2) olsun bunun anlamı A vektörü x=2 y=4 ,z=-2 yönünde demek B vetörümüz de bu A vektörü ile aynı yönlü k katı kadar bir vektör olsun. B=(2*k,4*k,2*k) olur k ya istenilen değer verilir. Cross Product Şimdi ise herhangi 2 vektöre dik olan başka bi vektörü bulalım. C (x3,y3,z3) dür A(x1,y1,z1) B(x2,y2,z2) dir. x3= y1* z2 - z1 * y2 y3 = z1* x2 -x1* z2 z3 =x1* x2- y1* x2 böylece C vektörümüzü bulduk. Nasılki 2d dede birim cember nekadar önemliyse ve kulanılıyorsa 3d dede okadar önemlidir. birim vektör = boyu bir birim olan vektördür. Vektör yönündeki birim vektör nasıl bulunur? vektörümüz A vektörü B de birim vektör olsun A(x1,y1,z1) B(x2,y2,z2) B=A/A dir. Yani x2=x1/A y2=y1/A z2=z1/A dir. Birim vektörün önemini ilerki derslerde daha iyi anlaycaksınız. İki vektörün skaler (sayısal) çarkılması A.B=x1*x2+y1*y2+z1*z2 Dot Product İki vektör arasındaki açının bulunması. A ve B vektörleri arasındaki açıya Q dersek Cos(Q)=A ile B vektörünün skaler çarpımı bölü A vektörünün boyu carpı B vektörünün boyu cos(Q)=A.B/A*B dir. arccos gibi bi fonkisiyonlada Q değeri bulunur (programlama diline göre değişir tabi ) Bir noktanın doğruya uzaklığı Elimizde yönü V vektörü ile belirttiğimiz ve üzerindeki herhangi bi noktası P olan d doğrumuz var. Birde bu doğruya olan uzaklığı bulunucak olan A noktamız. Doğru üzerinde bulunan P noktasından A noktasına kadar olan bir vektör düşünelim bu vektöre PA vektörü diyelim. A noktasının d doğrusuna uzaklığı A noktasının d doğrusuna olan dik uzaklığı demektir. Çünkü en kısa uzaklık(L uzaklığı) dik uzaklıktır. A noktasından d doğrusuna dik çıkarsak O noktasını buluruz. Şekil 1 Şekil 2 dede gördüğümüz üzere APO dik üçkeni oluşu bu üçgenin yardımı ile L uzaklığını bulcağız. Öncelikle Q açısını bulmamız lazım. Q açısı PA vektörü ve V vektörleri arasındaki açıdır. 2 vektör arasındaki açıyı bulmayı yukarda öğrenmiştik şimdi burada uygularsak Cos(Q)=PA.V/PA* V olcaktır. [}bNOT:[/b] Yukarda verilen formülde PA ve V birim vektör olarak verilseydi boyları 1 birim olacaktı yani PA=1 V=1 cos(Q) da= PA.V olcaktı görüldüğü gibi birim vektör olması işlem kolaylığı sağlar. Trigonometry den Sin(Q)=sqrt(1-sqr(cos(Q)) olur. Q acısının hem cosinusunu hemde sinusunu bulduk. Şimdi sin(Q) neye eşit APO üçgeninde Sin(Q)=karşı / hipotenüsten =L/PA dır. L=sin(Q)*PA olur Cos(Q)= komşu / hipotenüsten =K/PA dır. Şekil 2 K=cos(Q)*PA olur. İlere görceğiniz üzere K uzunluğu L uzunluğundan daha önemlidir. Çünkü birçok problemde O noktasını bulmamız gerekecek O noktasının yeri P noktasından V vektörü yönünde K uzunluğu kadar gitmekle elde edilir. L kullanmak istersek ayrrıca OA vektörününde yönünü bilmemiz gerekir. Şekil 3 Örneğin (Şekil 4) birim vektör kulanmanın faydalarından biraz daha bahsedelim. Örneğimizde P noktasının yeri P noktası=P(2,4,1), doğrunun yön vektörü olan V vektörü =V(2,1,2) olsun. O noktasınında P noktasına olan uzaklığı olan K noktasını da 5 bulduk diyelim. Bizden istenen O noktasının kordinatları O yu bulmak için ne yapıcaz? P noktasından V vektörü yönünde 5 birim gideceğiz. O=P+V*K diyelim şöyle bi bakınca formül doğru gibi gözüküyor. Doğru ama ufak bir püf nokta var. Yukardaki formül şöyle O noktası eşittir P noktasının yeri artı V vektörünün 5 katı. V nin 5 katını alalım. V nin 5 katı=V’(10,5,10) olan bi vektör elde ederiz. P dende bu vektör kadar gidersek O noktasının yeri O’x=2+10 O’y=4+5 O’z=1+10. Görüldüğü gibi O noktasının gerçek yerini bulamadık. Neden böyle oldu? Çünkü V vektörümüzün boyu 3 birim 5 katını alırsak boyu 15 birimlik bir vektör(10,5,10) elde ederiz. P dende 15 birim gitmiş oluruz. Biz ise 5 birim gitmek istiyoruz. Bunun içinse V vektörünün birim vektörünü bulmamız gerekir. V nin birim vektörünün boyu 1 olduğu için P+Birim(V)*5. Bizim gerçek O noktamızın yerini verir. P den V vektörü yönünde 5 birim gitmiş oluruz. Şekil 4 ÖNEMLİ Eğer PA.V sonucu + çıkıyorsa yani PA vektörünün izdüşümü(şekilde BP) V vektörü ile aynı yöndedir (1.durum) ise ters yönlü(2.durum) 0 ise vektörler birbirine diktir. Vektörlerin döndürülmesi (XYZ Eksenine göre) Döndürülecek vektör A(x1,y1,z1) İlk durumda A vektörümüz x1,y1,z1 kordinatlarında bulunurken m ilk acıya sahip. Vektörümüzü Z ekseni etrafında Q kadar döndöndürdüğümüzü düşünelim. Dikkat edilirse z1 konumumuz her zaman sabit kalır, y ve z değerleri R yari caplı bir çember çizmektedir. ( tabi Q kadar döndürülünce çizmez. z ekseninde 360 derece döndürseydik çember çizerdi şimdiki (m+Q)/360 kadar bi cember) x1 in dönmeden önceki ilk değeri x1=R*cos(m). y1 ilk değeri y1=R*sin(m) dir. Şimdi Q kadar döndürünceki konumlara x2 ve y2 dersek (zaten z1 sabitti) x2=R*cos(Q+m) ve y2=R*sin(Q+m). Şimdi burda dikkat edilmesi gereken şu lisedeki trigonometri derslerinden hatırlayacağımız cos(a+b) ve sin(a+b) nin açılımıdır. Bu formülleri yukarıda uygularsak. x2=R*(cos(m)*cos(Q)-sin(m)*sin(Q)) x1=R*cos(m) ve y1=R*sin(m) demistik hatırlayın bunlarıda formulde yerine korsak x2=x1*cos(Q)-y1*sin(Q) olur. y2=R*(sin(m)*cos(Q)+cos(m)*sin(Q)) y2=y1*cos(Q)+x1*sin(Q) olur. Evet Z eksenine göre döndermeyi bulduk bu mantığını kavramanız içindi tabi diğer eksenlerin sonuclarını vereceğim. X ekseninde döndürme x2=x1 (çünkü X ekseninde çeviriyoruz) y2= y1*cos(Q)-z1*sin(Q) z2= z1*cos(Q)+y1*sin(Q) Y ekseninde döndürme y2=y1 (çünkü Y ekseninde çeviriyoruz) x2= x1*cos(Q)+z1*sin(Q) z2= z1*cos(Q)-x1*sin(Q)
kaynak: http://www.oyungelistir.org/

1 yorum:

Adsız dedi ki...

abicim mükemmelsin ya heleki grafik programlamayla ilgili yok denecek kadar az kaynak var ve sen burda işin matematiğine kadar detaylı anlatmışsın.

Çok teşekkürler emeğine sağlık inş devamını getirirsin