Dönüşüm ve Görüntüleme – Analizi Yaptırma Fiyatları – Yazılım Analizi Örnekleri – Ücretli Analizi Yaptırma – Ücretli Yazılım Yaptırma
Dönüşüm ve Görüntüleme
• Temel dönüştürme ve görüntüleme yöntemlerini anlama
• 3B gizli yüzey kaldırma ve çarpışma algılamayı anlama
• OpenGL’de 3B modeller (koni, silindir ve küre) ve bunların animasyonlarını tasarlayın ve uygulayın
Geometrik Dönüşüm
İçinde, ilkel modeller oluşturmayı ve taramayı dönüştürmeyi tartıştık. Bilgisayar tabanlı bir model oluşturulduktan sonra hareket ettirilebilir ve hatta tamamen farklı bir şekle dönüştürülebilir. Bunu yapmak için, modelde dönme eksenini ve açısını, öteleme vektörünü, ölçekleme vektörünü veya diğer manipülasyonları belirtmemiz gerekir.
Olağan geometrik dönüşüm, grafik sisteminin daha sonra nihai dönüştürülmüş modeli görüntülediği, matris çarpımları yoluyla modelin tüm köşelerinin matematiksel manipülasyonları sürecidir.
Dönüşüm, planlanmış bir yörünge boyunca hareket etmek gibi önceden tanımlanabilir; veya etkileşimli, kullanıcı girişine bağlı olarak. Dönüşüm kalıcı olabilir, köşelerin koordinatları değiştirilir ve orijinal modelin yerine yeni bir modelimiz olur; veya sadece geçici olarak köşeler orijinal koordinatlarına geri döner.
Birçok durumda, farklı bir konum veya yönelimde görüntülenmek üzere bir model dönüştürülür ve grafik sistemi, tarama dönüştürme işleminden sonra dönüştürülen modeli atar.
Bazen bir modelin tüm köşeleri aynı dönüşümden geçer ve modelin şekli korunur; bazen farklı köşeler farklı dönüşümlerden geçer ve şekil dinamiktir.
Bir model, küçük bir dönüşüm adımından geçen her çerçeve ile tekrar tekrar görüntülenebilir. Bu, modelin ekranda canlandırılmasına neden olur.
2D Dönüşüm
Öteleme, döndürme ve ölçekleme temel ve temel dönüşümlerdir. Birçok uygulamada çoğu dönüşümü elde etmek için birleştirilebilirler. Tartışmayı basitleştirmek için önce 2B dönüşümü tanıtacağız ve ardından bunu 3B’ye genelleştireceğiz.
Bir model bir köşeler kümesiyse, modelin tüm köşeleri aynı öteleme vektörü tarafından noktalar olarak çevrilebilir. Ötelemenin, bir modeli yönünü değiştirmeden bir mesafe boyunca hareket ettirdiğine dikkat edin.
2D Döndürme
Bir P(x, y) noktası, orijin (0,0) etrafında bir θ açısı kadar saat yönünün tersine P'(x’, y’)’ye döndürülür. Dönüş saat yönünde ise, dönüş açısı θ negatiftir. Dönme ekseni orijinde 2B düzleme diktir.
Bir model bir köşeler kümesiyse, modelin tüm köşeleri, aynı dönme ekseni etrafında aynı açıyla noktalar olarak döndürülebilir. Döndürme, bir modeli koordinatların orijini etrafında hareket ettirir. Dönme sırasında her tepe noktasının orijine olan mesafesi değişmez.
Bir model bir köşeler kümesiyse, modelin tüm köşeleri aynı ölçeklendirme vektörü tarafından noktalar olarak ölçeklendirilebilir. Ölçeklendirme, bir modeli koordinatların orijini etrafında büyütür veya küçültür. Ölçeklenmiş bir tepe noktasının orijinde olmadığı sürece hareket edeceğini unutmayın.
2B Dönüşümlerin Bileşimi
Karmaşık bir dönüşüm genellikle bir dizi basit dönüşüm adımıyla elde edilir. Sonuç, ötelemelerin, döndürmelerin ve ölçeklemelerin bir bileşimidir. Bunu aşağıdaki üç örnek üzerinden inceleyeceğiz.
Örnek: 2B olarak hareket eden bir saat kolunun koordinatlarını bulma
Tek bir saat ibresi düşünün. Döndürme merkezi c(x0, y0)’da verilmiştir ve dönme sonu noktası h(x1, y1)’dedir. Dönme açısının θ olduğunu bilirsek, dönüşten sonra yeni bitiş noktası h’yi bulabilir miyiz? Şekil 2.4’te gösterildiği gibi, bunu bir dizi dönüşümle başarabiliriz.
1. Elinizi, dönme merkezi orijinde olacak şekilde çevirin. Yalnızca h bitiş noktasının yeni koordinatlarını bulmamız gerektiğine dikkat edin.
2. Orijin etrafında θ derece döndürün. Pozitif dönme yönünün saat yönünün tersine olduğuna dikkat edin.
3. Dönüşten sonra. Saati orijinal konumuna geri getirmek için tekrar çeviriyoruz.
Bu nedenle, Denklemler 19 ila 21’i bir araya getirerek, saat ibresi hareketini elde etmek için dönüşümlerin kombinasyonu şöyledir.
dönüşümler sütununda verilerin izlenme yöntemini özelleştirmek için hangisi kullanılabilir?
Dönüşüm oranı hangi metriktir
Tıklama oranı hangi metriktir
Gelecekte, tam matris ifadeleri yerine sadece sembol notasyonlarını kullanarak kısaca matris denklemleri yazacağız. Ancak sembollerin karşılık gelen matrisleri temsil ettiğini her zaman hatırlamalıyız.
Bir matris ifadesindeki matrislerin sırası önemlidir. Sıra, dönüşümlerin sırasını temsil eder. Örneğin, Denklem 30’daki M matrisi hesaplanabilmesine rağmen, önce ilk iki matris [T(x0,y0)R(-θ)]T(-x0,-y0) çarpılarak veya son iki matris önce T( x0,y0)[R(-θ)T(-x0,-y0)], matrislerin sırası değiştirilemez.
Bir modelin dönüşümlerini incelerken, mantıksal olarak matris ifadesinde dönüşüm adımlarının sırasının sağdan sola olduğunu hatırlamalıyız. Bu örnekte, ilk mantıksal adım şudur: T(-x0,-y0)h; ikinci adım: R(- θ)[T(-x0,-y0)h]; ve son adım: T(x0,y0)[R(-θ)[T(-x0,-y0)]].
Örnek: dikdörtgen bir alanı yeniden şekillendirmek
OpenGL’de, görüntüleme alanını yeniden şekillendirmek için fareyi kullanabiliriz. Reshape callback fonksiyonunda, çizim alanının boyutunu uygun şekilde ayarlamak için glViewport()’u kullanabiliriz. Sistem, aynı dönüşüm matrisi aracılığıyla modellere karşılık gelen ayarlamaları yapar. Viewport dönüşümü daha sonra Viewing’de ele alınacaktır.
Burada benzer bir sorunu tartışıyoruz: dikdörtgen bir alanı doğrudan yeniden şekillendirmeye izin veren bir dönüşüm. Ekranın koordinat sistemini varsayalım.
Yeniden şekillendirdikten sonra, dikdörtgen alan (ve modellerin tüm köşeleri) aşağıdaki dönüşümlerden geçer: alanın sol alt köşesi orijinde olacak şekilde çevirin, yeni alanın boyutuna göre ölçeklendirin ve ardından şuna çevirin ölçekli alan konumu. Karşılık gelen matris ifadesidir.
Bir 2B robot kolu, 2B bir düzlemde eklemlerde dönen 3 parçaya sahiptir (Şekil 2.6). Rastgele bir başlangıç duruşu (A, B, C) verildiğinde, eklemler etrafında ilgili dönüşlere (α, β, γ) sahip başka bir duruş (Af, Bf, Cf) için dönüşüm matrisi ifadelerini bulalım.
Burada görselleştirmeyi basitleştirmek için kullanılan x ekseninde (A, B, C) belirtiyoruz. (A, B, C) keyfi olarak başlatılabilir. Aynı amaca ulaşmak için birçok farklı yöntem vardır. Burada, aynı hedefe ulaşmak için üç yöntem detaylandırıyoruz.
2B dönüştürme, z=0 olduğu özel bir 3B dönüştürme durumudur. Örneğin, 2B nokta (x, y) 3B’de (x, y, 0)’dır ve R(θ) orijini etrafındaki 2B döndürme, z ekseni Rz(θ) etrafındaki 3B döndürmedir.
Z ekseni, ok izleyiciyi gösterecek şekilde ekrana diktir. Görüntünün, z ekseni yönü boyunca z=0’daki 2B çizim alanına yansıtılan bir 3B çizim kutusunun görünümü olduğunu varsayabiliriz.
Dönüşüm oranı hangi metriktir dönüşümler sütununda verilerin izlenme yöntemini özelleştirmek için hangisi kullanılabilir? Tıklama oranı hangi metriktir