2 Boyutlu Döndürme (2D Rotation)


Yazan: Şadi Evren ŞEKER

Bilgisayar grafiklerinde şekil değiştirme işlemlerinden birisidir. Bu işlemin amacı bir şekli mevcut konumunu ve şeklini bozulmadan bir eksen etrafında döndürmektir. Aşağıdaki örnekte gösterilen döndürme işleminin formülü verilmiştir:

x’ = r.cos(Φ+Θ)
y’ = r.sin(Φ+Θ)

Yukarıdaki bu formülasyonu aşağıdaki matris ile ifade etmek mümkündür:

cos Φ    -sin Φ
sin Φ     cos Φ

Bu döndürme matrisini çıkardıktan sonra aşağıdaki denklem yazılabilir:

P’ = R P

Buradaki R matrisi döndürme matrisidir. P ve P’ matrisleri ise sırasıyla noktanın ilk koordinatları ve son koordinatlarıdır.

Ayrıca döndürme işlemi merkezden kaydırılmış bir şekilde de yapılabilir. Yani merkez etrafında değil, aşağıdaki gibi bir nokta etrafında da yapılabilir:

Bu durumda yukarıdaki formüllerin kaydırılmış hali:

x’ = xr + (x-xr).cos Φ – (y-yr).sin Φ
y’ = yr + (x-xr).sin Φ – (y-yr).cos Φ


« 2 Boyutlu Şekil Dönüşümleri (2D Transformations)   |   Ölçeklendirme (Scaling) »



Yorumlar

Kullanıcı girişi yaparak ya da zorunlu olan * alanlarını doldurarak yorum yapabilirsiniz.

İsminiz *

Email adresiniz *

Web siteniz

Mesajınızı buraya yazabilirsiniz:

Toplam 4 yorum var.

  1. Abdurrahman ulusoy | 01 Mar 2010, 12:43

    Bu durumda yukarıdaki formüllerin kaydırılmış hali:
    x’ = xr + (x-xr).cos Φ – (y-yr).sin Φ
    y’ = yr + (x-xr).sin Φ – (y-yr).cos Φ
    yazmışsınız.
    bu formülde teta yok. Bir hata mı var?

  2. Şadi Evren ŞEKER | 01 Mar 2010, 14:29

    Hayır yok, bir noktanın, herhangi bir eksen ile yaptığı açının arttırıldığı miktar (ki yukarıdaki anlatımda ve sizin verdiğiniz formüllerde fi “Φ” olarak geçiyor ) kadar döndürülmesi yeterlidir. Bu durumu kutup koordinat olarak düşünebilirsiniz. Yani kartezyen uzaydaki döndürme işlemleri biraz karmaşık geliyor olabilir. Aslında yapılan işlem kutup koordinattaki açıyı arttırmak (veya azaltmak) ve ardından da kartezyen uzaya çevirmektir.

  3. Abdurrahman ulusoy | 01 Mar 2010, 14:37

    fi açısından teta kadar döndürme değilde, herhangi bir açıdan fi kadar döndürme formülü oluyor bu anladığım kadarıyla.

  4. Şadi Evren ŞEKER | 01 Mar 2010, 23:26

    evet, yukarıda açıklanan, herhangi bir noktaya r uzaklığında fi açısı kadar yapılan saat yönünün tersine (counter clockwise) döndürme için kullanılan formüldür.
    Nokta (xr, yr) koordinatlarında, uzaklık r ve dönüş açısı fi ile gösterilmiştir.

Bu Yazı Hakkında

Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz '2 Boyutlu Döndürme (2D Rotation)' isimli yazı 04 Nov 2008 tarihinde, saat: 00:52 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam 1371 defa okunmuştur.

Benzer yazıları Bilgisayar Grafiği (Computer Graphics) kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.


Yazarın Kitabı

Bu yazının yazarı Şadi Evren ŞEKER'in son çıkan kitabı "Programlama ve Veri Yapılarına giriş (C, C++ ve JAVA ile)" hakkında bilgi almak için Buraya tıklayabilirsiniz.
Eklenen Son Yazılar
Yapılan Son Yorumlar
Yakın Yazılar
Bağlantılar