POLİGONLAR İÇİN FARKLI KESİNTİSİZ DÖNÜŞÜM YÖNTEMLERİNİN KARŞILAŞTIRILMASI Hacer İlhan (a), Zümra Kavafoğlu (b), Haşmet Gürçay (c) (a) Hacettepe Üniversitesi, Matematik Bölümü, Ankara, hacerilhan@hacettepe.edu.tr (b) Hacettepe Üniversitesi, Matematik Bölümü, Ankara, zdemir@hacettepe.edu.tr (c) Hacettepe Üniversitesi, Matematik Bölümü, Ankara, gurcay@hacettepe.edu.tr ÖZ Bu çalışmada, bir kaynak poligonun başka bir hedef poligona aşamalı olarak düzgün sürekli dönüşümü için kullanılan üç farklı kesintisiz dönüşüm yöntemi incelenmiştir. İlk yöntem, ara poligonlar olarak kaynak ve hedef poligonların simetrik farklarının budanmış iskeletlerini kullanmayı esas alır. Diğer yöntemlerden farklı olarak, iskelet tabanlı kesintisiz dönüşüm yönteminde tanımlanan ara poligon üretme işlemi, ara poligonların bir dizisini bulmak için özyineli olarak uygulanır. İkinci yöntem, problemi uyumlu düzlemsel üçgenleştirmelerin kesintisiz dönüşümü problemine dönüştürür ve daha sonra düzlemsel üçgenleştirmelerin köşelerinin komşularına göre barisentrik koordinatları ile oluşturulan matris gösterimlerinden yararlanır. Üçüncü yöntem, poligonları tahmini Fourier parametrelerine dayanan parametrik eğri gösterimi ile tanımlar ve böylece kesintisiz dönüşüm işlemini Fourier parametrik uzayına taşır. Bu yöntemlerin farklı özellikleri ve karşılaştırmalı sonuçları, değişik örneklerle yapılan testler ile gösterilmiştir. Bu çalışmada belirtilen üçüncü yöntem TÜBİTAK tarafından desteklenen Madencilik Otomasyon ve Tasarım Yazılımı (MOTAY) Geliştirme Projesi kapsamında karşılaşılan özel bir problem için kullanılmıştır. Anahtar Kelimeler: Fourier parametreleştirmesi, İskeletler, Kesintisiz dönüşüm, Poligonlar, Uyumlu üçgenleştirme. THE COMPARISON OF THE DIFFERENT MORPHING MEDHODS FOR POLYGONS ABSTRACT In this work, three different morphing methods which are used for gradually smooth and continuous transformation of one source polygon into another target polygon are examined. The first method is based on utilization of the trimmed skeleton of the symmetric difference of the source and target polygons as an intermediate polygons.
Differently from other methods, the process described in the method of skeleton-based polygon morphing for generation an intermediate shape is applied recursively to produce any number of intermediate polygons. The second method reduces the problem to the problem of morphing compatible planar triangulations and utilizes the representation of planar triangulations as a matrix constructed using barycentric coordinates of the planar triangulations vertices relative to their neighbors. The third method describes the polygon by the parametric curve representation based on estimated Fourier parameter and thus transfer the morphing process to the Fourier parametric space. The different features and comparative results of these methods are showed by the tests with the different examples. The third method defined in this work is used for a specific problem faced as part of MOTAY Project supported by TUBİTAK. Keywords: Fourier parameterization, Skeletons, Morphing, Polygons, Compatible triagulation. 1. GİRİŞ Kesintisiz dönüşüm ya da başkalaşım, bir kaynak nesnenin başka bir hedef nesneye aşamalı olarak düzgün sürekli dönüşümüdür. Kesintisiz dönüşüm işlemi, bilgisayar grafiği ve animasyonu, modelleme, film, televizyon, endüstriyel tasarım gibi kullanım alanlarına sahip olmakla beraber yüksek derecede doğruluğun gerektiği biyomedikal alanında da önemli bir rol oynamaktadır. Kesintisiz dönüşüm problemi, görüntü tabanlı ve nesne-uzay tabanlı olmak üzere iki farklı tekniği içerir. Görüntü tabanlı kesintisiz dönüşüm tekniğinde, kaynak ve hedef nesnenin geometrik şekilleri önemli ölçüde aynı olmazsa işlemler kullanıcı müdahalesi gerektirebilir. Bu teknikte, iki boyutta düzlemsel görüntüler, üç boyutta ise hacimsel veriler ele alınmaktadır. Nesne-uzay tabanlı kesintisiz dönüşüm tekniğinde ise, nesnelerin açık gösterimi kullanılmaktadır. Bu teknikte iki boyutta poligonlar, parçalı doğrusal eğriler, serbest çizimli eğriler, üç boyutta ise çokyüzlüler ele alınmaktadır. Kesintisiz dönüşüm işlemi, her zaman birbirinden bağımsız iki ardışık temel problemden oluşur. İlk problem, nokta eşleme problemi olarak adlandırılır ve iki nesnenin gösterimlerinin geometrik öğeleri arasında eşleme bulmayı amaçlar. İkinci problem, nokta yolu problemi olarak adlandırılır ve karşılıklı eşlenen elemanların birbirlerine doğru hareket ederken izleyecekleri yörüngeleri bulmayı amaçlar. Nokta eşleme probleminin çözümünün sonuçları, kesintisiz dönüşüm işleminin sonucunu çok büyük oranda değiştirecek etkiye sahiptir. Genellikle nokta eşleme problemi, kısmi veya tam kullanıcı müdahalesi gerektirir ya da deneye dayalı algoritmalarla desteklenebilir.
Nokta yolu probleminin çözümüne en sade yaklaşım, yörünge olarak düz doğru kullanmaktır. Bu durumda ilk nesnenin her bir geometrik öğesi, ikinci nesnenin karşılık gelen geometrik öğesine doğru sabit hızla dönüşür. Bu yaklaşımla üretilen kesintisiz dönüşüme doğrusal kesintisiz dönüşüm denir. Fakat bu basit yaklaşım, oluşması gereken ara nesnelerin kaybolması yani tek noktadan oluşması, kendini kesmesi, hedef ve kaynak nesneye benzememesi gibi istenmeyen sonuçlara neden olabilir. Kesintisiz dönüşüm problemi bir çok farklı yaklaşım ile ele alınmıştır. Bu farklı yöntemler [1], [2], [3], [4], [5], [7] çalışmalarında incelenmiştir. Kesintisiz dönüşüm fonksiyonu tek değildir fakat kısıtlamalar getirilerek bazı özelliklere sahip olunması beklenir. Örneğin, hedef poligon ara poligonlarla kaynak poligona kesintisiz dönüşürken, poligonların alanlarının da sürekli olarak değişmesi istenir. Ayrıca kaynak ve hedef poligonlar kapalı ve basit ise ara poligonların da kapalı ve basit olması gerekir. 2. POLİGONLARIN KESİNTİSİZ DÖNÜŞÜMÜ Verilen P 0 ve P 1 poligonlarının kesintisiz dönüşümü, P 0 kaynak poligonunun hedef P 1 poligonuna aşamalı olarak düzgün sürekli dönüşümüdür. Bu dönüşüm 0 t 1 olmak üzere P t P t sürekli fonksiyonu olarak tanımlanırsa, P(0) = P 0 kaynak poligonu, P(1) = P 1 hedef poligonu ve her 0 < t < 1 için P(t) = P t ise ara poligonları verir. Ayrıca t 0 iken P(t) = P t ara poligonu P(0) = P 0 kaynak düzlemsel üçgenleştirmesine ve t 1 iken P(t) = P t ara poligonu P(1) = P 1 kaynak düzlemsel üçgenleştirmesine benzer. 2.1. İskelet tabanlı kesintisiz dönüşüm İskelet tabanlı kesintisiz dönüşüm yöntemi [2], kaynak ve hedef poligonların simetrik farklarının iskeletlerini kullanmayı esas alır. Bir şeklin iskeleti [6], şeklin en az iki sınır noktasına eşit uzaklıkta bulunan iç noktaların geometrik yeridir ya da başka bir ifadeyle, şeklin sınırının en az iki noktasına temas eden ve şeklin içine sıkıştırılan en büyük boyutlu çemberlerin merkez noktalarının kümesidir ve orta eksen olarak da bilinir. Şekil 1 (d) de simetrik farkın bir iskeleti görülmektedir. Şekil 1. İskelet tabanlı kesintisiz dönüşüm yöntemi adımları ( [2] den alınmıştır) Kesintisiz dönüşüm işlemi ile, kaynak poligon hedef poligona düzgün sürekli dönüşürken ortadaki adımda yer alan ara poligonun sınır noktalarının, kaynak ve hedef
poligonun karşılık gelen sınır noktalarından neredeyse aynı uzaklıkta olması beklendiğinden, kaynak ve hedef poligonların simetrik farklarının iskeleti, ortadaki adımda yer alan ara poligonu oluşturmak için kullanılabilir. Şekil 2. İskelet tabanlı kesintisiz dönüşüm yöntemi İskelet tabanlı kesintisiz dönüşüm yönteminde, ilk önce P(0) = P 0 kaynak poligonu ve P(1) = P 1 hedef poligonu kullanılarak P(1 2) = P 1 2 ara poligonu üretilir. Bunun için ilk önce iki poligonun simetrik farkının iskeleti alınır [6]. Simetrik farkın en az iki sınır noktasına eşit uzaklıkta bulunan iç noktaların geometrik yerinden oluşan iskeletten, yalnız bir poligonun en az iki sınır noktasına eşit uzaklıkta bulunan noktaların geometrik yerleri çıkartılarak iskeleti budama işlemi yapılır. Çalışma [2] den alınan şekil 1 de bu adımlar görülmektedir. Bu şekilde yapılan budama sonucunda iskelet üzerinde her iki poligona da eşit uzaklıkta bulunan noktalar kalır. Elde edilen budanmış iskelet ise P(1 2) = P 1 2 ara poligonu olarak alınır. Daha sonra benzer şekilde, P(0) = P 0 ve P(1 2) = P 1 2 poligonları kullanılarak P(1 4) = P 1 4 ara poligonu ve ayrıca P(1 2) = P 1 2 ve P(1) = P 1 poligonları kullanılarak P(3 4) = P 3 4 ara poligonu üretilir ve bu şekilde özyineli olarak istenilen ara poligonlar üretilir. 2.2. Uyumlu düzlemsel üçgenleştirmelerle kesintisiz dönüşüm Poligonların kesintisiz dönüşümü problemini ortak dışbükey sınırlı ve uyumlu düzlemsel üçgenleştirmelerin kesintisiz dönüşümü problemine dönüştürerek çözmek, poligonların kesintisiz dönüşümü için kullanılan yöntemlerden biridir [5], [8], [9]. Şekil 3. Uyumlu düzlemsel üçgenleştirmelerle kesintisiz dönüşüm yöntemi
Şekil 4. Uyumlu düzlemsel üçgenleştirmelerle kesintisiz dönüşüm yöntemi Uyumlu düzlemsel üçgenleştirmelerle kesintisiz dönüşüm yönteminde, 0 t 1 olmak üzere P t P t sürekli kesintisiz dönüşüm fonksiyonu oluşturmak için ilk önce P(0) = P 0 kaynak ve P(1) = P 1 hedef poligonlarının iç bölgeleri uyumlu üçgenleştirilir. Daha sonra elde edilen uyumlu üçgenleştirilmiş P(0) = P 0 ve P(1) = P 1 poligonları, sırasıyla birbirinin aynı olan dışbükey Q 0 ve Q 1 poligonları ile çevrelenir ve sırasıyla Q 0 ve P 0 poligonları ve Q 1 ve P 1 poligonları arasında kalan halka şekilli bölgeler uyumlu üçgenleştirilir (Şekil 4). Elde edilen ortak dışbükey sınırlı düzlemsel üçgenleştirmeler, düzlemsel üçgenleştirmelerin köşelerinin komşularına göre barisentrik koordinatları ile oluşturulan komşuluk matrisleri kullanılarak kesintisiz dönüştürülür. İstenilen adımdaki ara üçgenleştirmelerin P(0) = P 0 ve P(1) = P 1 poligonlarına karşılık gelmeyen kenarları kaldırılarak istenilen adımdaki ara poligonlar üretilir. 2.3. Fourier parametreleştirmesiyle kesintisiz dönüşüm Fourier parametreleştirmesiyle kesintisiz dönüşüm yöntemi [3], kesintisiz dönüşüm işlemini Fourier parametrik uzayına taşıyarak problemi daha basit bir yaklaşımla çözmeyi amaçlar. Şekil 5. Fourier parametreleştirmesiyle kesintisiz dönüşüm Fourier parametreleştirmesiyle kesintisiz dönüşüm yönteminde, ilk önce P(0) = P 0 kaynak ve P(1) = P 1 hedef poligonları karşılıklı eşlenen elemanları ile karşılıklı eşlenen parçalara ayrılır. Karşılıklı eşlenen her bir poligon parçasına koordinat dönüşümü uygulanır ve bu parçaların noktalarının eğriliklerine göre düzenleme yapılır. Daha sonra karşılıklı eşlenen her poligon parçasına Fourier parametreleştirmeleri ile yaklaşılır ve Fourier parametreleri doğrusal olarak kesintisiz dönüştürülerek istenilen
adımdaki ara poligonun Fourier parametreleri ile yaklaşımı ve dolayısıyla istenilen adımdaki poligonlar elde edilir. 2.4. Kesintisiz dönüşüm yöntemlerinin karşılaştırmalı sonuçları İskelet tabanlı kesintisiz dönüşüm yönteminde, diğer iki kesintisiz dönüşüm yöntemlerinden farklı olarak ara şekiller özyineli olarak oluşturulmaktadır ve nokta eşleme problemine kesintisiz dönüştürülecek poligonların üst üste yerleştirilmesi dışında ihtiyaç yoktur. Ayrıca iskelet tabanlı kesintisiz dönüşüm yönteminde aynı kaynak ve hedef poligonlar farklı birleştirilerek farklı sonuçlar elde edilebilir ve Şekil 1 de görüldüğü gibi topolojik olarak farklı poligonsal bölgeler de bu yöntem ile kesintisiz dönüştürülebilir. Ancak bu yöntem ile kesintisiz dönüşüm işlemi sırasında poligonların boyutlarının diğer yöntemlere göre daha az korunduğu karşılaştırmalı olarak Şekil 6, Şekil 7 te görülmektedir. İskelet tabanlı kesintisiz dönüşüm Uyumlu düzlemsel üçgenleştirmelerle kesintisiz dönüşüm Fourier parametreleştirmesiyle kesintisiz dönüşüm Şekil 6. Yöntemlerin karşılaştırılması Fourier parametreleştirmesiyle kesintisiz dönüşüm yönteminde ise, Şekil 7 da görüldüğü gibi eğer hedef poligon kaynak poligonun döndürme ve ötelemesi ile oluşuyorsa, her adımdaki ara poligon da kaynak poligonun bir döndürme veya bir ötelemesi ile oluşur. İncelenen üç kesintisiz dönüşüm yönteminde de, kaynak ve hedef poligonlar basit ise, tüm ara poligonlar da basittir yani kendi ile kesişmez.
İskelet tabanlı kesintisiz dönüşüm Uyumlu düzlemsel üçgenleştirmelerle kesintisiz dönüşüm Fourier parametreleştirmesiyle kesintisiz dönüşüm Şekil 7. Yöntemlerin karşılaştırılması 3. POLİGONLARIN KESİNTİSİZ DÖNÜŞÜM YÖNTEMİNİN ÖZEL BİR UYGULAMASI Bu çalışmada, Fourier parametreleştirmesiyle kesintisiz dönüşüm yönteminden faydalanılarak, TÜBİTAK tarafından desteklenen Madencilik Otomasyon ve Tasarım Yazılımı (MOTAY) Geliştirme Projesi kapsamında karşılaşılan özel bir problem için, VTK (The Visualization Toolkit) yazılım sisteminin bileşenleri ve C++ programlama dili kullanılarak bir algoritma hazırlanmıştır. Şekil 8. Cevher kesitleri ve kesintisiz dönüşüm ile üretilen ara cevher kesitleri
Cevher kesitleri arasında 3 boyutlu hacim oluşturulurken karşılaşılan problemlerden biri cevher kesitlerinin birbirlerine uzak konumlarda bulunması durumunda ortaya çıkmaktadır. Bu durumda cevher kesitleri kesintisiz dönüştürülerek, ara cevher kesitleri Şekil 8 de görüldüğü gibi oluşturulmuştur. Cevher kesitlerinin kesintisiz dönüşümünde, poligonların Fourier parametreleştirmesiyle kesintisiz dönüşüm yönteminden yararlanmak için, ilk önce cevher kesitleri 3 boyutlu uzayda birer düzleme izdüşürülür. Bunun için vtkobbtree sınıfı kullanılarak, cevher kesitlerin yönlü sınırlayan kutuları (oriented bounding box ) oluşturulur ve her bir cevher kesitinin yönlü sınırlayan kutularının en uygun yüzleri cevher kesitinin izdüşümü için kullanılır. Daha sonra düzlemdeki kesit izdüşümleri 3 boyutlu uzaydan iki boyutlu uzaya aktarılarak poligonlar olarak ele alınır. Nokta eşleme problemi için, cevher kesitlerinin yönlü sınırlayan kutularının sol üst köşelerine en yakın poligon noktaları alınarak iki kesitin karşılıklı eşlenen birer noktaları belirlenir ve poligonlar bu noktalar başlangıç noktası kabul edilerek ve aynı yönde uzunluk oranlarıyla karşılıklı eşlenen tüm noktalar belirlenir. Daha sonra poligon tek bir parça halinde eliptik Fourier tanımlayıcısı (descriptor) ile paremetrik uzaya taşınır ve parametrik uzayda Fourier katsayıları doğrusal olarak kesintisiz dönüştürüldükten sonra istenilen adımdaki cevher kesitleri yapılan dönüşümlerin tersleri uygulanarak elde edilir. Şekil 9 de cevher kesitleri, kesintisiz dönüşüm ile üretilen ara cevher kesitleri ile beraber 3 boyutlu hacimleştirilmiştir. Şekil 9. Cevher kesitlerinden hacim oluşturma
4. SONUÇ Poligonlar için kullanılan iskelet tabanlı kesintisiz dönüşüm yöntemi, Fourier parametreleştirmesiyle kesintisiz dönüşüm yöntemi ve uyumlu düzlemsel üçgenleştirmelerle kesintisiz dönüşüm yöntemi incelenilerek ve karşılaştırmalı testleri yapılarak, TÜBİTAK tarafından desteklenen Madencilik Otomasyon ve Tasarım Yazılımı (MOTAY) Geliştirme Projesi kapsamında karşılaşılan daha özel bir kesintisiz dönüşüm problemi için kullanılmak üzere, uygun bir algoritma hazırlanmıştır 5. KAYNAKÇA [1] Alexa, M., Cohen-Or, D. ve Levin, D. (2000). As-rigid-as-posible polygon morphing, In proceedings of SIGGRAPH 2000, (New Orleans, La.), ACM, New York, 157-164. [2] Blanding, R.L., Turkiyyah, G.M., Storti, D.W. ve Ganter, M.A. (2000), Skeletonbased three-dimensional geometric morphing, Computational Geometry, 15, 129-148. [3] Chen, D.H. ve Sun, Y.N. (2001), Boundary based parametric polygon morphing, IEICE Trans. Inf. & Syst, E84-D (4) [4] Goldstein, E. ve Gotsman C. (1995), Polygon morphing using a multiresolution representation, In Proceedings of Graphics Interface (Quebec City, Que., Canada), Morgan Kaufman, 246-254. [5] Gotsman, C. ve Surazhsky V. (2001), Guaranteed intersection-free polygon morphing, Computers & Graphics, 25 (1), 67-75. [6] Mortara, M. ve Spagnuolo, M. (2001), Similarity measures for blending polygonal shapes, Computers & Graphics 25, 13-27. [7] Shapira, M. ve Rappoport A. (1995), Shape blending using the star- skeleton representation, EEE Trans. on Computer Graphics and Application, 15 (2), 44-51. [8] Surazhsky, V. ve Gotsman C. (2001), Controllable morphing of compatible planar triangulations, ACM Transactions on Graphics, 20 (5), 203-231. [9] Surazhsky, V. ve Gotsman, G. (2004), High quality compatible triangulations, Engineering with Computers, 20, 147 156.