Doç.Dr.Erkan ÜLKER, Selçuk Üniversitesi Mühendislik F, Bilgisayar Mühendisliği Bölümü 17.05.2014 Sayfa 1 Doç.Dr.Erkan ÜLKER, Selçuk Üniversitesi Mühendislik F, Bilgisayar Mühendisliği Bölümü T-SPLINES VE SIRALI B-SPLINES ARASINDAKİ DÖNÜŞÜM ÖZET T-Spline lar, yeni geliştirilen bir yüzey modelleme tekniğidir. Bu teknik B-spline ların genelleştirilmiş şekli ve bölgesel düzeltmeye izin verir. Bölgesel düzeltmeyi destekleyen diğer köklü yöntem sıralı B-spline lardır. Bu yazı T-spline ve sıralı B-spline lar arasındaki dönüşüm için gerekli algoritmayı göstermektedir. Bu dönüşümle birlikte T-spline lar ile ifade edilen yüzey sıralı B-spline gösterimine dönüşür ya da tam tersi olur. T-spline gösterimi ve sıralı B-spline gösterimi arasındaki benzerlik genellikle bire bir değildir. Dönüşüm algoritmamız kompakt gösterimler verebilir. ANAHTAR KELİMELER Yüzey modelleme, Yüzey gösterimi. Sıralı B-spline lar, T-spline lar, Bölgesel düzeltme 1-GİRİŞ Bu yazı T-spline . T-spline lar ve sıralı B-spline lar, B-spline yüzeylerin iki farklı genelleştirilmiş halidir. Her ikisi de yüzeyi bölgesel olarak düzenlemeye izin vermektedir. B-spline lar, temel gösterim olarak, geometrik modelleme ve animasyon sistemlerinde serbest formlu şekiller için yaygın olarak kullanılmaktadır. Üç boyutlu modelleme ortamında, şeklin bölgesel düzeltme ve ince ölçek ayrıntılarını düzeltme için arayış vardır. B-spline kavisi için, ayrıntıları daha iyi kontrol, düğüm ekleme yoluyla kazanılabilir. Düğüm ekleme, bölgesel düzeltme işlemi ve kontrol noktasının yerel alana etki kısıtlamalarıdır. Fakat Tensor product Bspline yüzeyi için, düğüm ekleme yerel bir işlem değildir. Çünkü yüzey düğüm vektörlerine bir düğüm eklemek, bütün sıra ve sütunlarda yeni kontrol noktalarının oluşmasına neden olur. Bu engelin üstesinden gelmek için, Forsey ve Bartels, sıralı B-spline konseptini ortaya çıkarmıştır. Yüzey düzeltmelerdeki sıralama, yüzeyin bölgesel düzenlemesine çok çözünürlüklü yüzey düzenlemesine katkıda bulunmaktadır. Sıralı B splines Forsey in Dragon olarak adlandırılan interaktif modelinde ve yüz animasyonunda başarıyla kullanılmıştır. B spline yüzeyler için bölgesel düzenlemede son ilerleme ise bölgesel düzenlemeye izin veren yeni modelleme teknolojisi T spline dır. T splines B spline ın kontrol sisteminde T junctions noktalarına izin verilen halidir. T spline lar gereksiz noktaları B spline modellerden kaldırabilir. T splines ile sıralı B splines arasındaki temel fark, T junctions ve sıralamadır. Sıralı B splines ile özellikle çok çözünürlüklü modellemede ve bazı uygulamalarda sıralama yapılabilir. T splines ile B spline control mesh ile karşılaştırıldığınd dah az nokta ile tek layer mesh üzerinde çalışılabilinir. Her iki temsilin de güçlü tarafları vardır. Bu nedenle bazı durumlarda birini diğerine dönüştürmek kullanışlı olabilir. Bu nedenle bu yazıdaki amaç bu dönüşüm algoritmalarını anlatmaktır. 17.05.2014 Sayfa 2 Doç.Dr.Erkan ÜLKER, Selçuk Üniversitesi Mühendislik F, Bilgisayar Mühendisliği Bölümü 2 T-splines ve Sıralı B-splines Bu bölümde T-splines ve sıralı B-splines ile ilgili kısa bir inceleme veriliyor. T-spline yüzeyin genellikle rasyonel yüzey olduğunu göz önünde tutarak, aynı zamanda sıralı B-spline konseptini de rasyonel duruma genelleriz. 2.1 T-splines T-spilines, T-junctions ile düzgün olmayan rasyonel B-splines yüzeyleridir. T-spline yüzeyi için control sistemine T-mesh denir. T-mesh ile NURBS kontrol meshi, t mesh de kontrol noktalarının sıra veya sütunlarının sonlandırılmasına izin verilmesi dışında benzerdir. Kısmi sıra veya sütündaki son kontrol noktası t-junction dır. T junctionlar t spline ın bölgesel olarak düzeltilmesine olanak sağlar. Yani,kontol noktalarının bütün sıra veya sütünlarını yaymadan ve yüzeyi değiştirmeden t spline kontrol sistemine tek bir kontrol noktası eklemek mümkündür. T spline için düğüm bilgisi , iki düğüm arasındaki farkı gösteren düğüm aralıkları kullanılarak ifade edilir ve t mesh de kenarlara tayin edilir. Homojen yapıda t spline yüzeyi için eşitlik: Burada Pi=(wixi,wiyi,wizi,wi) 4. boyutta kontrol noktalarıdır ve wi control noktasının ağırlığıdır. Bi ise Pi control noktasına ilişkin t spline temel fonksiyonlarıdır. Bi(s, t) = Ni(s)Ni(t) Ni(s) ve Ni(t) düğüm vektörleriyle ilgili kübik B spline temel fonksiyonlarıdır. si = [si0, si1, si2, si3, si4] and ti = [ti0, ti1, ti2, ti3, ti4] düğüm vektörleri si ve ti , Pi nin T mesh komşuluğundan çıkarılır. T spline da en temel operasyonlardan biri bölgesel düzeltme ve bölgesel düğüm eklemedir. Bunun anlamı t spline yüzeyinin şeklini değiştirmeden, t mesh e bir veya daha fazla kontrol noktaları eklenebilmesidir. Yeni kontrol noktası veya noktaları ekleme algoritması şu şekilde tanımlanabilir. Bölgesel düğüm ekleme algoritması 1-t mesh e yeni kontrol noktası veya noktaları ekle 2-Eğer o anki t mesh den herhangi bir düğüm eksikse, temel fonksiyonlara gerekli düğüm eklemesini uygula 3-Eğer temel fonksiyonlardan biri o anki t mesh de gösterilmeyen bir düğüme sahipse, t mesh e uygun kontrol noktası ekle 4-2. ve 3. Adımı yeni bir operasyon olmayana kadar tekrarla. Şimdi herbir temel fonksiyon t mesh deki kontrol noktası ile uygun biçimde bağdaştırılır. 17.05.2014 Sayfa 3 Doç.Dr.Erkan ÜLKER, Selçuk Üniversitesi Mühendislik F, Bilgisayar Mühendisliği Bölümü Algoritma, temel fonksiyon düzeltmesine dayanır . burada temel amaç, t mesh in geçerliliğini korumak ve bütün temel fonkyionların ve kontrol noktalarının uygun biçimde birleştilimesini garantiye almaktır. 2.2 Sıralı B splines Sıralı B spline yüzeyi bir aşama serisinden oluşur ve bu aşamaların her biri B spline parçalarının derlemelerine sahiptir. Level 0 en düşük çözünürlüğe sahiptir ve yüzeyin temel şekli olarak tanımlanır ve bazı detayları da overlays olarak adlandırılır. Overlays ana yüzeyin işlenmiş alanına karşılık gelir. K levelindeki bir overlay, k-1 deki ana parçadan düzeltme adımını çalıştırarak ve işlenmiş parçanın kontrol noktalarını değiştirerek oluşturulmuştur. Bu yüzden k levelindeki overlay, k-1 deki üst öğesine gore iki kat çözünürlüğe sahiptir. Aynı levelde overlay ler birbirleriyle karşı karşıya gelmezler. Aksi takdirde overlay ler daha büyük bir overlay içinde yapılır. Overlay ve onun üst öğesi arasındaki C2 devamlılığını korumak için, kontrol noktalarındaki değişiklik merkez kontrol noktalarına sınırlandırılmasına dikkat edilmeli ve çevredeki kontrol noktaları da sabit tutulmalıdır. Çift kübik B-spline yüzeyi için, overlay en az 7x7 lik bir mesh e sahip olmalıdır ve 3 dış çember üzerindeki kontrol noktaları değiştirilmeden tutulmalıdır. Sıralı Bspline planında overlay i göstermek için uygun yol reference plus offset formunu kullanmaktır. Yani, k levelindeki overlay in her bir kontrol noktası p(k), offset form da ifade edilir: P(k)=R(k)+O(k), burada R(k) k-1 level deki üst öğe yüzeyinden orta nokta düzenlemesi ile elde edilir. O(k) ise offset vektörüdür. K levelindeki kontrol noktalarında herhangi bir değişiklik offset vektörlerde ifade edilir. Değiştirilmeden kalan bu noktalar için offset O(k)=0 dır. Offsetler 2 level temsilinde yüzey şekilleri arasındaki farktan sorumludur. Bu şekilde, daha aşağı levelde, yüzeye yapılan herhangi bir değişiklik , otomatik olarak daha üst levellere de yayılılr ve O(k) nın düzenleme hareketi, yüzeyin kısıtlanmış alaninda bölgesel değişikliğe yol açar. Ek olarak, reference plus offset formu temsilin tasarrufunu geliştirir çünkü yanlızca non zero offsetleri saklamaya ihtiyaç duyarız. Örneğin 7x7 lik bir overlayin sadece 1 tane non zero offseti vardır. Bu yazıda, sıralı B-splines konsepti 2 bakış açısıyla genelleştirilmiştir. İlk olarak, sıralı Bspline formuluzasyonundaki düzeltmede orta nokta düzeltmesi gerekli değildir. Bunun yerine, düzeltme genel pozisyonlarda düğümler eklemeye izin vererek başarılabilir. Bunun sonucunda, bir overlay in düğüm dizisindeki bir düğüm, rastgele seçilmiş bitişik iki düğümün konveks kombinasyonu şeklinde olabilir. İkinci olarak, B-spline yüzeyi rasyonel olabilir. Bu durumda, rasyonel B-spline nın homojen temsiline, orjinal sıralı B-spline düzeltmesi fikrini kabul ederiz. Overlay lar için reference plus offset formunu hala kullanırız. Bu yüzden vektorler 4D vektorlerıdır. Overlay ve üst öğe arasındaki devamlılığı korumak için, dıştaki 3 çember üzerinde sıfır olan overlayların kontrol noktarına karşılık gelen bütün offset vektörlerini kısıtlarız. 17.05.2014 Sayfa 4 Doç.Dr.Erkan ÜLKER, Selçuk Üniversitesi Mühendislik F, Bilgisayar Mühendisliği Bölümü 3. Sıralı B- spline ı T-spline a dönüştürme Verilen bir sıralı (rasyonel) B-spline yüzeyi, temel B-spline yüzeyi oluşturarak sıralı yapıya düzleştirilebilir. Sıralı B-spline yüzeyin T spline yüzeyine dönüşümü, bütün overlayların tek bir katman yüzeyinde birleştirilerekgerçekleşir. Bü tür bir dönüşüme bizim yaklaşımımız, t Spline yüzeyi oluşturmak için yapılanları tekrarlamalı olarak kullanmaktır. Level 0 B-spline yüzeyi ile başlarız ve bütün birinci level overlayları T-spline yüzey formuna ekleriz. Daha sonra,daha komplike T spline yüzey oluşturmak için ikinci level overlayları T-spline formuna ekleriz. Ve bu işlem hiç bir overlay kalmayana kadar devam eder. Bu yaklaşımdaki anahtar unsur t Spline yüzeye overlay ekleyen algoritmadır. Devam eden kısımda algoritmayı açıklayacagız. Şimdi bir T spline yüzeyimiz P(s,t) ve bir overlayımız V(s,t) mizin olduğunu varsayalım. P(s,t) nin bir eşitlik tarafından tanımlandığını (1) farzedelim ve bu, V(s,t) den daha düşük ve eşdeğer bütün overlayların level 0 B-spline yüzeyinde birleştirilmesiyle oluşmuştur. Bu homojen formun eşitliği: Burada Vij 4D boşlukta kontrol noktalarıdır. Ni(s) ve Nj(t) ise düğüm sırası üzerinde tanımlanan kübik B-spines temel fonksiyonlarıdır {sl−2, sl−1, sl, · · · , sr, sr+1, sr+2} ve{tb−2, tb−1, tb, · · · , tt, tt+1, tt+2}. Overlay ın parameter aralığı[sl, sr] × [tb, tt]. Sıralı B-spline formulasyonundanSl,Sr,tb vet t aynı zamanda V(s,t) nin üst öğe yüzeyinin düğümleridir ve bu yüzden, P(s,t) nin T-mesh inde belirli kenarlara karşılık gelir. Reference plus offset formuna dayanarak, yanlızca overlay için olan offsetleri saklarız. Aslında, overlayın her bir noktası Vij, referans noktası Rij ve offset vektoru Oij nin toplamıdır. Bütün Rij referans noktaları üst öğe yüzeyinden özelleşmiştir. Onlar bir yüzey oluşturur ; RijNi(s)Nj(t) kibu üst öğe yüzeyinin yada T Spline yüzeyin P(s,t),domain [sl, sr] × [tb, tt] ilebirliktekesin bir tekrar temsilidir. Eğer 4D yüzeyi tanımlamak için bütün offset vektörlerini kullanırsak O(s, t) = OijNi(s)Nj(t), then V (s, t) = R(s, t) +O(s, t). ayrıca dikkat etmemiz gereken diğer nokta< l+2, i> r−2, j < b+2 Yada j > t – 2oldugu zaman Oij= 0 dır. Bundan dolayı V(s,t) overlay I şu şekilde yazılabilir 17.05.2014 Sayfa 5 Doç.Dr.Erkan ÜLKER, Selçuk Üniversitesi Mühendislik F, Bilgisayar Mühendisliği Bölümü Eğer Oij yi, (si,ti) düğümleriyle ilişkili kontrol noktası olarak işlersek, 3. Eşitlik, overlayın PB spline tanımını verir. PB spline ı T-spline yapmak için, ana fonksiyona gerekli düğüm eklemelerini yapmak ya da mesh in içine geçerli bir mesh oluşturmak için, yeni kontrol noktaları eklememiz gerekebilir. Tspline içine overlay oluşturmak için şu algoritmalar izlenmelidir. 1- Oij noktalarını, kendilerinin göreceli temel fonksiyonlarıyla T-mesh e ekle (i= l + 2, · · · , r − 2; j = b +2, · · · , t−2) 2- Eğer ana fonksiyonlardan biri o anki Tmesh de gösterilmeyen bir düğüme sahipse , Tmesh e uygun nokta ekle. 3- Eğer ana fonksiyonlardan biri, o anki T mesh den sonuca varılan bir düğüm noktası eksikse, ana fonksiyona gerekli düğüm eklemesini uygula. 4- 2. Ve 3. Adımı yeni bir operason kalmayana kadar tekrarla 5- Eğer noktalardan biri yanlızca bir kenar olayına sahipse, kenarı genişlet ve ön izleme alanında kenarın ve T mesh ın ilk kesişim noktasını bul 6- Kesişim noktasını ekle ve 2. Adıma dön 5. ve 6. Adımlar sarkık kenarlardan kurtulmak için kullanılır. ÖRNEK: Algoritmayı örnekle gösterelim. Fig 1a , 6x6 lık kontrol mesh ile tanımlanan bir B-spline yüzeyi ve 7x7 lik düzenlenmiş mesh ile tanımlanan overlay ı göstermektedir. İlk olarak 7x7 meshin sıfır olmayan offset noktalarını, 6x6 lık B spline meshine ekleriz( yani merkez nokta) fig b de gösterilen bir mesh üretmek için. Fakat bu sıfır olmayan offset noktasına ilişkin temel fonksiyon, o anki mesh de gösterilmeyen düğümlere sahiptir. Sıfır olmayan offset noktasının etrafına 4 kontrol noktası eklemeliyiz (fig 1c ye bak). Şimdi bütün temel fonksiyonlar, meshdeki bir kontrol noktası ile uygun biçimde birleşmiştir. Fakat mesh de 4 tane sarkık kenarımız var. Bundan kurtulmak için, sonunda 5. Ve 6. Adımları uygularız ve fig 1d de gösterilen t mesh i üretmek için 5 nokta daha ekleriz. Sonuç olarak elde edilen T mesh oldukça kompaktır. 4.T spline ı sıralı B spline a dönüştürme Sıralı B spline dan T spline a dönüşüm ile karşılaştırıldıgında, T splinedan sıralı B spline a dönüşümher nedense anlaşılması güçtür. Çünkü niyetimiz tek katmanlı T mesh den bir sıra oluşturmaktır. Buradaki temel görev B spline yüzeylerinin bir serilerini oluşturmaktır. Bu B splines lar sıralı bir tarzda organize edilmiştir. Topolojik olarak, temel B spline dışındaki bütün B 17.05.2014 Sayfa 6 Doç.Dr.Erkan ÜLKER, Selçuk Üniversitesi Mühendislik F, Bilgisayar Mühendisliği Bölümü splinelar gruptaki diğer bir B splinenın düzenlenmiş halidir. Bu görev için yapılacak işlemler 2 bakış açısı içerir. Topoloji ve geometri. Önce temel B splinın yüzeylerinin ve overlays larını topolojisini her levelde tanımla, daha sonra bütün yüzeylerin kontrol noktalarının kordinatlarını hesapla. Bizim algoritmamız yaklaşk olarak şu adımlardan oluşmaktadır. 0- Verilen T mesh e ön işleme yap 1- K=0 ı ayarla böylece o anki mesh= önceden işlenmiş mesh 2- O anki mesh den level k da bir B spline yüzeyi çıkar. 3- Level k+1 için offset yüzeylere karar ver 4- for (the mesh of each offset surface at level lev) { process the mesh; if the processed mesh is not a B-spline mesh then setcurrentMesh= the processed mesh; k = lev; goto step 2) } Önişlemadımı , T spline yerel düğüm ekleme algoritmasını kullanmaktır. Böylece T meshe Tjunction noktaları içermeden 3 dış çember yaparız. Fig 2 de soldaki verilen T meshdir,sağdaki ön işlem adımından sonraki mesh i göstermektedir. Adım 1 ) sadece bazı başlatmaları yap. Şimdi kalan adımların detaylarını aşağıda gösteririz. 4.1 B spline çıkarma Bir T mesh, T meshin çizgileri zikzaklı olmayan tüm kontrol sistemine ihtiyaç duysun diye T –junction lara izin verirken, bir tensor product B spline meshi topolojil olarak dikdortgen sistemi olmalıdır. Bu yüzden T mesh den B mesh çıkarmak için, T meshdeki bütün kısmi sıraları ve sütünları ortadan kaldırırız. Kısmı satır ve sütünların kaldırılmasından sonra kalan mxn meshidir ve bu B spline kontrol meshimizin topolojik belirtilmesinde kullanılabilir. B spline meshin topolojisi belirtildiği zaman, B spline meshin geometrisini hesaplamamız gerekir. B spline geometrisi için birçok çözüm bulunabilirken, burada sadece bir çözümünü göstereceğiz. B spline kontrol noktaları için formül, B spline nın kutupsal formuna dayanılarak türetilmiştir. Çözüm için temel gereksinim, section 4.2 de karar verilen, daha yüksek level offsetin 3 dış çember üzerindeki vektör noktalarını sıfır yapmaktır. B spline mesh den çıkarılan Her bir P kontrol noktası için(fig 3a bknz), Plp kutupsal etiketini hesaplarız. PLP = (s−1, s0, s1) × (t−1, t0, t1). P noktasıT mesh de birkontrolnoktasınakarşılıkgelir. Buna Q diyelim.Aynızamanda T mesh de Q nun da PLqkutupsaletiketini hesaplarız. Eger PLp= PLq, o zaman sadece Q nun kordinatlarını P ye kopyalarız. Aksi takdirde var olan T meshi kopyalayarak geçici bir T mesh oluştururz ve T spline ın bölgesel düğüm ekleme algoritmasını, geçici T mesh e noktalar eklemek için kullanırız. Böylece Q nun etrafında ortalanmış 5x5 lik sistem oluşur. Bu 5x5 lik sistem, B spline yüzeyin altında yatan en iyi kontrol mesh parçasıdır. Noktaları Qij, (.............) ile Q00 olarak gösteririz. Fig 3 b etiketler için. Daha sonra P şöyle hesaplanabilir: 17.05.2014 Sayfa 7 Doç.Dr.Erkan ÜLKER, Selçuk Üniversitesi Mühendislik F, Bilgisayar Mühendisliği Bölümü ve di ci ye benzerdir. Aj bj ile değiştirilmelidir ve sj de tj ile değiştirilmelidir. 4.2 Yüksek düzey ofsetleri belirleme k düzeyinde, T-meshi B-spline meshinden çıkardığımızda, aynı yüzeyde olmaları gerekmeyen B-spline meshi ve T-örgüsünü farklı yüzeylerde tanımlamış oluruz. Bu durumda, aradaki farkın karşılığı olarak daha yüksek seviyede(ofsette) yüzey gerekir. İlk olarak yüksek düzey ofset yüzeyleri için bölgeyi tespit ederiz. (s, t) parametre uzayının k seviyesindeki Törgüsünün ön-resmi olan her bir P noktası için, s min, t min, s max ve t max olmak üzere 4 sayı tanımlarız. Bunlardan s min, yeni noktanın s koordinatıdır ve P noktasının iki birim sola kaydırılmasıyla elde edilir. S max ise P'nin iki biri sağa kaydırılmasıyla elde edilen noktanın koordinatıdır. T min ve t max da yine aynı şekilde tanımlanmıştır. T-meshin içindeki her bir satır ve sütün için, meshin box-2'sini sol alt köşesi (sl, tb) ve sağ üst köşesi (sr, tu) olacak şekilde bir O(sl,tb,sr,tu) dikdörtgeni olarak tanımlarız. Burada sl ve tb kısmi satır ve sütun üzerinde bulunan bütün dikeylerin tmin ve smin 'inin minimumları, sr ve tu da bu satır ve sütunların üzerinde bulunan dikeylerin tmax ve smax'larının maksimumlarıdır. Şimdi bütün kısmi satır ve sütunlar için box-2 hesaplanabilir. Eğer herhangi iki box-2 için çakışma söz konusu olursa, onları ikisini de kapsayacak şekilde büyük bir box formunda birleştiririz. Ve bu birleşim box'una da box-2 diyebiliriz. Bu büyük kutu diğer iki orjinal kutunun yerine kullanılır. Bu aşamadan sonra her bir box-2, ikisini de kapsayan bir bölgede bulunacaktır. Bir sonraki katmanda bulunan offset yüzeyinin bölgesi tanımlandığında, bu ofset yüzeyinin topolojisi ve geometrisini belirlememiz gerekir. Bunun için de box-2'yi içine bir halka daha eklenecek şekilde genişletiriz. Ön resim ile T-örgüsü 1'e 1'lik bir ilişki ile bağlanırlar. K düzeyindeki T-örgüsünün, genişletilmiş box-2 ile birlikte kapsadığı kısmı alırız. Bu kısım tanımlanmış bölgenin içindeki yüzey üzerinde k+1 düzeyindeki geçici T-örgüsü olarak ifade edilebilir. Box-2'nin bu şekilde yapılanması sayesinde görürüz ki k+1 düzeyindeki T-örgüsü, herhangi bir birleşme yeri(Tkavşağı) içermeyen bir örgünün üç dış halkasını barındırmak gibi bir karaktere bürünür. 17.05.2014 Sayfa 8 Doç.Dr.Erkan ÜLKER, Selçuk Üniversitesi Mühendislik F, Bilgisayar Mühendisliği Bölümü 4D yüzeyi k düzeyindeki T-örgüsü şeklinde tanımlanmıştır ve içinde bulunduğu bölge şu şekilde ifade edilir: burada P(k), k düzeyindeki T-örgüsü ya da geçici k+1 düzeyindeki T-örgüsü içindeki kontrol noktalarıdır. ofset yüzeyine erişebilmek için, (k düzeyindeki T-örgüsünden) çıkarılmış B-şeritli yüzeyini bölgesi içinde sınırlarız ve eşitlik şöyle olur: Bu durumda da ofset yüzeyi şudur: Bu durum bize ofset yüzeyinin topolojisi ve geometrisini belirlemek adına şu algoritmayı sağlar: 1)−R(k)ij (i = l − 1, · · · , r + 1; j =b − 1, · · · , t + 1) noktalarını ilgili temel fonksiyonları ile birlikte R(k)ij'nin ilgili düğümleri tarafından ortaya çıkarılan yerlerdeki geçici T-örgüsüne yerleştir. 2)Eğer herhangi bir temel fonksiyon o anki T-örgüsünden ortaya çıkan düğüme sahip değilse, gerekli düğüm yerleştirmelerini o fonksiyonda yap. 3)Eğer herhangi bir temel fonksiyonun o anki T-örgüsünde belirtilmemiş bir düğümü varsa, ilgili noktayı örgüye ekle. 4)Yeni hiçbir işlem kalmayana kadar 2 ve 3'ü tekrarla. 5)Ortaya çıkacak örgü, ofset yüzeyini tanımlayan k+1 seviyesindeki T-örgüsüne ihtiyaç duyar. 4.3 Bir katman üzerinde işlem Şu ana kadar ofset yüzeyinde k+1 seviyesindeki T-mesh i nasıl elde edeceğimizi gördük. Eğer aynı şey B-spline örgüsüne yapılırsa bu , hiyerarşik B-spline gösteriminde bir uç düğümdür ve herhangi ek bir işlem yapmamıza gerek olmaz. Ancak aksi durumda, bazı ek işlemler gerekir. Bu durumda, bütün kısmi satır ve sütunları aynı şekilde B-spline yaratmak için genişletebiliriz ya da daha yüksek bir katmanı daha ayrıştırabiliriz.Kullanacağımız strateji hiyerarşinin ve her bir ofsetin derinliğini dengeli tutmak olacaktır. k+1 seviyesindeki T-örgüsünün her bir kısmi satır ve sütunu için, deficiency 'fark' denilen bir sayı hesaplarız. Bu sayıyı, B-spline'ın kısmi satır ve sütunlarının sınıra ulaşması için onu esas alan kaç tane düğüm olduğunu ölçmede kullanırız. Eğer fark çok büyükse, satır ve sütunun sınıra ulaşmak için uzun bir yolu var demektir ki bu, detaylarla uğraşmak gerektiği ve bunun yerine satır ve sütunu o anki katmanın kapsamına sokmanın daha iyi olacağı anlamına gelebilir. 17.05.2014 Sayfa 9 Doç.Dr.Erkan ÜLKER, Selçuk Üniversitesi Mühendislik F, Bilgisayar Mühendisliği Bölümü Kullanacağımız strateji hiyerarşinin ve her bir ofsetin derinliğini dengeli tutmak olacaktır. k+1 seviyesindeki T-meshin her bir kısmi satır ve sütunu için, deficiency 'fark' denilen bir sayı hesaplarız. Bu sayıyı, B-spline'ın kısmi satır ve sütunlarının sınıra ulaşması için onu esas alan kaç tane düğüm olduğunu ölçmede kullanırız. Eğer fark çok büyükse, satır ve sütunun sınıra ulaşmak için uzun bir yolu var demektir ki bu, detaylarla uğraşmak gerektiği ve bunun yerine satır ve sütunu o anki katmanın kapsamına sokmanın daha iyi olacağı anlamına gelebilir. Eğer uzatmadan sonra hiç T junction yoksa, o zaman bir B spline oluşturulur ve üst öğe yüzeye yaprak ağ şeklinde tutturularak ele alınabilir. Eğer hala T junction varsa, o zaman diğer seviyede daha sonraki ayrışım için mesh pas geçilir. 4.4 Bir örnek Topolojik olarak algoritmayı bir örnekle gösterelim. Fig 4a da 4 T junctions u olan bir T mesh gösterilmektedir. Amacımız T spline ı bir sıralı B spline a dönüştürmek. Öncelikle kısmi satır ve sütünları yok ederek Fig 4b deki B spline mesh i üretiriz. Tabiki B spline mesh in geometrisi dikkatli hesaplanmalıdır. Aynı zamanda T mesh den, kısmi satır ve sütünlar için 2 tane 2box çizeriz. (fig 4c ye bak). Üst üste gelen bu iki 2box u birleştirerek Fig 4d deki tek box u elde ederiz. Bu box sonraki leveldeki overlay ın alanını tanımlar. Fazladan bir çembember ile box a bağlanmış alan genişletirelerek geçiçi T mesh elde edlilir. Çıkarılan B spline ın negatifini bu T mesh in içine eklemek, fig 4e de gösterilen geçici T meshe topolojik bire bir benzeyen T meshe (offset için) sebep olur. Daha sonra kısmi satır ve sütünları kenara kadar genişletiriz ve fig 4f de görülen 11x10 luk meshi oluştururuz ki bu da overlay ın offsetini belirtir. Son sıralı B spline, fib 4b de gösterilen level 0 B spine yüzeyini ve Fig4f de gösterilen level 1 offsetden meydana gelir. 17.05.2014 Sayfa 10 Doç.Dr.Erkan ÜLKER, Selçuk Üniversitesi Mühendislik F, Bilgisayar Mühendisliği Bölümü 5. SONUÇ Şimdiye kadar 2 algoritma tanımladık. Bunlar sıralı B splinedan T spline a dönüşüm ve T spline dan sıralı B spline a dönüşüm için uygulanan algoritmalardır. Bu algoritmalar sezgisel ve direk olarak bölgesel düğüm eklemeye bağlıdır. Bu algoritmalar oldukça kompakt temsiller üretebilir. Serbest form modelleme ve diyazn uygulamalarında hem T splines hem de sıralı B splines kullanışlı araçlardır. Bunlardan biri uygun olduğunda, algoritmamız diğerini kullanmak için daha kolay hale getirir. Gelecek çalışmalar için birkaç soru var. Şimdiye kadar yüzeyleri sadece tek düğüm ekleme ile inceledik. Daha genel durumlar için dönüşüm, genişletilmeye gerek duyar. Section 4.3 de kısmi satır ve sütünların genişletilip genşletilmemesine karar vermek için bir kriter verdik. Uygun kriteri bulmak ilginç bir soru olacak. Son olarak dikkate değer bir noktada; bir sıralı B spline ı T spline a dönüştürdükten sonra , tekar T spline ı sıralı B spline a dönüştürdüğümüzde elde ettiğimiz yeni sıralı B spline nın ilk baştaki B spline ile farklı olmasıdır. Bunun nedeni ise bir sıralı B spline ı T spline dönüştürdügümüz zaman , gerekli topolojiyi korumak için bazı kontrol noktaları eklememiz gerebilirken, T spline formuluzasyonunda bütün kontrol noktalarının serbest hareket ettiğini varsayarız. Bundan dolayı da ters dönüşüm algoritmasını geliştirmek de zor bir problem olarak görünüyor. 17.05.2014 Sayfa 11
© Copyright 2024 Paperzz