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 Φ
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?
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.
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.
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.
y’ = yr + (x-xr).sin Φ – (y-yr).cos Φ
Formulünde bir hata mı var? Formulün
y’ = yr + (x-xr).sin Φ + (y-yr).cos Φ
olması gerekiyor galiba…
haklısınız, y dönüşümündeki işlem toplama x dönüşümündeki çıkarma olmalı, yazıdaki hatayı düzeltiyorum. ilginiz ve uyarınız için teşekkür ederim.
Bildiğim Hearn ve Baker’in kitabının aynısını yazmışsınız. Daha fazla ayrıntı beklerdik ama ne yapalım. Sağolun.