2005-conversıon between t-splınes and hıerarchıcal

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