Yapay Zeka Teknikleri Kullanılarak Yüzey Modelleme Dr.Erkan ÜLKER Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği A.B.D. Lisansüstü Dersi 1
Problem 1200 nokta tavşan 35947 nokta 2tori
Yapay Zeka Teknikleri kullanılarak Yüzey Modelleme Parametrik Eğriler ve Yüzeyler Problemin tanımı Yapay Zeka Teknikleri ile Problemin Çözümü (Parametre Tahmini) Yayınların Listesi Sonuç Parametrik eğrileri düz birçizgide bir noktaya koyarsak, problemin zorluğunu belirtmek için bu çizginin biraz daha gerisinden gelerek parametrik eğrilere ve yüzeylere ulaşacağız.
Eğriler ve Yüzeyler Gözlem: Modellemek ve görüntülemek istediğimiz çoğu nesne düzgün ve dümdüz değildir. Örneğin taslaklar, sandalyeler, hayvanlar, bitkiler, binalar. Bir eğriyi nasıl temsil edebiliriz? Eğri üzerindeki çok sayıdaki noktalarla işe başlanır. Noktaları birleştiren çizgi dilimleri (segment) ile eğri tahmin edilir. “parçalı lineer tahmin(piecewise linear approximation)” Bir yüzeyi nasıl temsil edebiliriz? Yüzey üzerindeki çok sayıdaki noktalarla işe başlanır. Bir çokgen ızgara (polygon mesh) ile tahmin yapılır. Her kenarı sadece 1 yada 2 çokgenin parçası olan çokgenler kümesi.
Doğruluk/Harcanan Bellek Ödünleşimi Problem: Parçalı lineer tahminlerle iyi görüntü (gerçekçilik, pürüzsüzlük vs) sağlanması için çok sayıda parça gerektirecektir. Her eğri yada yüzeyin kendi noktaları kümesi çok büyük bellek miktarı alacaktır. Çözüm: Eğri/Yüzey üzerindeki koordinatlar için yüksek-dereceli formül kullanımı. Eğer basit bir formül iyi çalışmazsa eğri/yüzey basit bir formülle temsil edilebilen parçalara bölünür. Hala bir tahmin yapılabilmektedir ama daha az bellek kullanılmaktadır.
Yüksek dereceli (Higher-order) Formüller Kapalı olmayan fonksiyonlar (Explicit Functions): y = f(x) [e.g. y=2x2] Her bir x değeri için sadece bir y değeri vardır Sonsuzluğa gidildikçe bir eğimi temsil etmek zorlaşır Örtük Denklemler (Implicit Equations): f(x,y)=0 [e.g. x2+y2-r2=0] Bir eğrinin tam bir parçasını modellemek için kısıtlamalara ihtiyaç duyulur Eğrileri pürüzsüzce birbirine birleştirmek zordur Parametrik (Parametric) Denklemler: x=f(t), y=f(t) [e.g. x=t3+3,y=3t2+2t+1] Eğimler parametrik teğet vektörleri olarak temsil edilirler (d/dt). Eğri dilimlerini pürüzsüzce birleştirmek kolaydır.
Parametrik Eğriler Seçilen eğri parçası: 0 t 1 Parametre uzayı Seçilen eğri parçası: 0 t 1 Nesne uzayı Lineer: Quadratik: Kübik: x=axt + bx x = axt2 + bxt + cx x = axt3 + bxt2 + cxt + dx y=ayt + by y = ayt2 + byt + cy y = ayt3 + byt2 + cyt + dy z=azt + bz z = azt2 + bzt + cz z = azt3 + bzt2 + czt + dz Kübik tercih edilir - şekli hesaplama ve belirtmede esneklik ve karmaşıklık arasında bir denge sağlar. Bilinmeyen 4 katsayıyı tanımlamak için 4 bilinene ihtiyaç duyulur.
Eğri Dilimlerini Birbirlerine Birleştirmek G0 geometrik süreksizliği: İki eğri dilimini birbirine birleştirir G1 geometrik süreksizliği: Birleşme noktasında, iki dilimin teğet vektörlerinin yönü eşittir C1 (parametrik) sürekliliği: iki dilimin teğet vektörleri büyüklük ve yön olarak birbirine eşittir (Teğet vektör = [0, 0, 0] olmadıkça C1 G1 dir) Cn (parametrik) süreklilik: Birleşme noktasında ninci türevden büyüklük ve yön birbirine eşittir When tangent vector is [0, 0, 0], tangents may change direction, while d/dt is 0 at join point. The join point is, therefore, C1 continuous, but not G1 continuous. One example: slow to stop, change direction, then start up. Path has sharp bend at join, but following path at constant differences in t does not yield a discontinuity. G0 C1 C2
Eğri aileleri Aile Türü Tanımlanış biçimi Düz çizgi Lineer 2 Son nokta Hermite Kübik 2 son nokta, Son noktalarda teğet vektörler Bézier 2 son nokta, 2 “Kontrol Noktası” Spline 4 “Kontrol Noktası”
Parametrik Denklemler x = axt3 + bxt2 + cxt + dx y = ayt3 + byt2 + cyt + dy z = azt3 + bzt2 + czt + dz
Temel Matris and Geometrik Matris Q(t) = T M G T Matrisi Temel(Basis) Matris Geometri Matrisi Fikir: Geometri matrisindeki geometrik bilgi değiştirilerek farklı eğriler belirtilebilir. Eğri, geometri matrisi G nin elemanlarının ağırlıklı toplamıdır. Temel (basis) matris, bir eğriler ailesine özgü sabit değerler içerir.
Örnek: Parametrik Çizgi x(t) = axt + bx y(t) = ayt + by z(t) = azt + bz
Çizgi için Geometri Matrisi İki nokta (P1 ve P2) bir çizgi tanımladığı için geometri matrisi şu olmalıdır: G1 = P1, G2 = P2 Peki, temel (basis) matris nedir? t > 1 t = 1 t = 0 P2 t < 0 P1
Çizgi için Temel (Basis) Matris Cramer’ın Kuralı:
Harmanlama (Geçişme, Blending) Fonksiyonu Bir eğri ailesinin Harmanlama fonksiyonları T•M ile tanımlanırlar Fonksiyonlar t içinde kurulurlar G matrisindeki geometrik bilgi parçalarının her biri için bir harmanlama fonksiyonu vardır. Belirli bir t değerinde bir harmanlama fonksiyonunun değeri, eğri boyunca geometrik bilginin o noktada karşılık gelen parçasının etkisini tanımlar. Çizgi harmanlama fonksiyonları şöyledir: t f(t) 1 P2 fn. P1 fn.
Bézier Eğriler İki son nokta P1 ve P2 ve İki kontrol noktası P3 ve P4 için eğriler (Kübik) P1 P2 P3 P4 P1 P2 P3 P4 Dışbükey omurga Convex Hull
Bézier Matrisleri (Kübik) Q(t) = T•MB•GB P1 & P4: son noktalar son noktalardaki teğetler R1 = 3(P2-P1), R4 = 3(P4-P3)
Bézier Harmanlama Fonksiyonları t f(t) 1 BB1 BB4 BB2 BB3 Bernstein polinomları:
Genel Bézier Eğriler Eğriyi tanımlayan noktaları P1 ile Pn+1 arasında kabul edelim. Bezier eğri şöyle ifade edilir: Burada Bi,n(t) = C(n,i) ti (1-t)n-i {Harmanlama fonksiyonlarıdır} ve C(n,i) = n!/(i!(n-i)!) {Binomial katsayıdır}
Genel Bézier Eğriler (devam) İki nokta için, n = 1: QB(t) = (1-t)P1 + tP2 Üç nokta için, n = 2: QB(t) = (1-t)2P1 + 2t(1-t)P2 + t2P3 Dört nokta için, n = 3: QB(t) = (1-t)3P1 + 3t(1-t)2P2 + 3t2(1-t)P3 + t3P4 Vesaire...
Bézier Eğri Karakteristikleri Fonksiyonlar, ilk ve son tepe noktalarında enterpole edilir. P1 deki teğet P2-P1, ve Pn+1 deki teğet Pn+1-Pn İle verilir. Harmanlama fonksiyonları t ve (1-t) ye göre simetriktir. Bunun anlamı: eğrinin şekli değiştirilmeksizin eğriyi tanımlayan tepe noktalarının sırasını ters çevirebiliriz. Eğri, Q(t), kontrol noktaları ile tanımlanan dış bükey omurga (convex hull) içinde uzanır. Eğer ilk ve son tepeler çakışıksa kapalı bir eğri üretilebilir. Eğer üretilecek eğriler karmaşık eğrilerse onları çeşitli Bezier bölümlerle parçalayarak biçimlendirebiliriz.