B-SPLİNE
FONKSİYONLARI
KULLANILARAK
EĞRİ
\
E
YüZEY
OLLşTLRLLMASI
Abdullah
Yıldız,
Özer
Öz,
Fahri
Vatansever
Özet-BumakaledeB-Splinefonksiyonlarıvasıtasıyla düzlemde ve uzayda, eğriler ve yüzeyler inşa edilecektir. Computer-aided desingn
-
Bilgisayaryardımıylatasarım olarak gelişen busahaalanı içine giren konumuza giriş yapılmış matematik temelleri anlatılarak, örneklerle beraber eğriler ve yüzeyler
oluşturulmuştur.
Anahtar Kelimeler-B-Splines,GeometrikModelleme.
Abstract
-
In this paper we will introduce B-Splinesfunctions and then with thesefunctions we
construct
curves and surfaces in two and three dimensional space.This field is knownas CAD-Computer aided design. We givessome mathematical concepts and
someexamples ofcurves andsurfaces.
Keywords
-
B-Splines, Geometric design.I.GİRİŞ
Eğri ve yüzey temsilinde polinom fonksiyonlarının
kullanılması, bilhassa son zamanlarda rasyonel polinom fonksiyonları kullanmak CADCAM tatbikatlarında
giderekyaygmlaşmaktadn.
B-Spline’lar kullanılarak, eğri ve yüzey oluşturmak 1983’den beri (IGES)-Initial Graphics Exchange Specification standartlan ile kullanılmaktadır. Bu fonksiyonian kullanarak birçok modelleme sistemleri
geliştirilmiştir.
A. Yıldız,SakaryaÜniversitesi,Fen-EdebiyatFakültesi , Matematik Bölümü, Sakarya
Ö. Öz , ŞehitÜsteğmenSelçuk Esedoğlu Lisesi , Sakarya
F. Vatansever, Sakarya Üniversitesi, Teknik Eğitim Fakültesi,
Sakarya
Bu
gelişmelerde,
aşağıdaözelliklerini
sayacağımız avantajlar büyükroloynamıştır.Spline fonksiyonianstandart analitikşekilleri
(Doğrular
konikler,çemberler, düzlemler ve quadratik
yüzeyler)
ile beraber serbest form eğriler ve yüzeyleri dehassas
bir şekilde temsil edilmektedir.Bunlar ekstra serbestlik dereceleri(ağırlıklar )
kullanarak
dahagenel şekilleroluşturabilmektedirler.Bu yüzeyler projektif dönüşümler altında değişmez kalmaktadır. Yani, kontrol
noktalannın
projektiftransformasyonları eğrinin veya yüzeyin transformasyonlannadenktirler.
Buçalışmada binncibölümde B-Splıne baz fonksiyonian tanıtılmıştır ve bunlann vasıtasıyla egnler ve
tensor
çarpımı vasıtasıyla da yüzeylerin nasıl olışturulduğu anlatılmıştır. Bu baz fonksiyonlarının analitik
özellikleri
vurgulanarak , bunlara tekabül eden eğri ve yüzeylerdegeometrik özelliklerin nasıl oluşturulduğu
belirlenmiştir.
Bunlar örneklerle de sergilenerek geometrik gösterimler
yapılmıştır.
D.B-SPLİNE BAZFONKSİYONLARI
Cox de-Boor algoritması olarak bilinen, B-splinelann ardışıkreküransbağıntısı temel olarak alınacaktır. T={
t
,..
.
,
tj,
t ,
,. . .
,tm
}azalmayanbir reelsayı dizisi olsun. İ. normalize, p. dereceden B-spline fonksiyonu N (t) ile gösterilir ve aşağıdaki gibii.p tanımlanır
11
t St <t ve t <t1
I İ♦I 1ivil
0 diğer değerlerdeJ
110„Fen.
Bilimleri
_
EnstitüsüDergts./t:,,MIZOOl1
B-Spline FonksiyonlarıKullanılarak
Eğri ve Yüzey Oluşturulması A.Yıldız, Ö.Öz,F.Vatansever t- t
N
w=r~ü-'V’<,,+
(,)
Burada
, P derece (p+1). mertebeolmaktadır.
=
0alınacaktır.
N (t) fonksiyonu tüm reeleksende
(jjunJanmıştır.
Fakat,te[t0,tm]
aralığında işlemgörecektir. N.
p(t)
, p. derece parçalı polinomfonksiyonudur.
T knot vektör, t; değerleri düğümnoktalan
olarak isimlendirilir.
[ t, , ti+l] aralığıi.düğümaralığı
olarak isimlendirilir.
N (t) fonksiyonu aşağıdaki önemli
özelliklere
İ.P
sahiptir.
*
Nİ.P(t)£0 (i,p,t’nin her değeri için)♦
Vte[t0,tJ
için2 Njp(t)
=
rdir. Bunaı-0
birimin parçalanması denir, n, verilen knot vektörü için p dereceden B-spline fonksiyonlarının sayısıdır (ıı,p ve ııı’ye bağımlıdır).
♦ Eğer t, [tj,
t„p+l]
kapalı aralığının dışındaysa N (t)=0’dır. Yani, yerel destekli biri.p
fonksiyondur. Üstelik, verilen [tjt tit,]aralığında en fazla(p+1) tane N (t) sıfırdan farklıdır.
i.p
♦ Türevlencbilmesi:
N (t) ’nin knot dizisinin her bir aralığınıniçerisinde
İ.P
bütün türevleri mevcuttur. ( Buralarda polinomdurlar.) Knotnoktalarında ise (p-k) defa süreklitürevlenebilirdir. Buradak,knotun katilliğidir.
♦ Ekstramumlar:
P=0 hali hariç N (t) bir maksimum değere sahiptir.
i.p
Daha fazla bilgi için[3]ve[6] kaynaklarına
bakılabilir.
Knot
vektörlerini
keyfi seçerek B-spline bazfonksiyonlarının
nasıl fonksiyonlar olduklarımaraştırabiliriz.
Şekil 1.a)QuadratikB-splinebaz fonksiyonian
[o
0 0 1/3 2/3 1 1l]
knot vektörü için b) Kübik B-spline baz fonksiyonian[o
0 0 0 1/4 1/2 3/4 1 1 1l]
knot vektörü için c) Kübik Bernstein polinomlan[o
0 0 0 1 1 1l]
knot vektörü için(Şekil l)’de bazı B-spline baz fonksiyonian görülmektedir. T knot vektörünün seçimi bu fonksiyonlarınşekillerini etkilemektedir.Çeşitli tipte knot vektörleri yaygınolarakkullanılmaktadır.Kabul edelim ki p sabitalınırsa; T={ t0,.
.
,,tm}eğerbirinci ve sonnoktalan (p+1)defa tekrarederse,yani;
t0=t,=.
.
=tp
vetm_p
=
tm_p+1
=
.
.
= tm
ise periyodik knot vektör denir,to =0 vetm
—
1 iseperiyodik
knotvektörleri;SAUFen Bilimleri Enstitüsü Dergisi 5.Cilt,2.Sayı(Eylül2001)
{0,. .
o,
tp+I). (p+1) defa fm-p-l» (p+1)defac(t>=XNi.P(t)-pi
°-t-1 i=0şeklinde tanımlanır. Burada, P;’1erkontrol noktalarıdır. Njp(t),p.dereceB-splinebazfonksiyonlarıdırve T={ t0,. . .,tm} knotvektörü ile tanımlanır. Knot
sayısı ve kontrol noktalan sayısı m+l=(n+l)+(p+l) ile verilir.
Şekil 2. Kübik B-spline.(Ş ekil l-b)’deverilen knotdizisiyle
B-SplineFonksiyonlar,Kullan,
Eğri
veYüZevorus
ırlarak
*.v.k,«,a&ıPT ;
Şekil
2’de(şekil
l-b)’dekibaz fonksiyonlan ileelde
edilen
eğrigörülmektedir.
Eğer pozitif bir d sayısı mevcutsa ve
tf
=d ise p<i<m-p-l (eşitaralıklı
düğümler) T’ye uniform knotvektör denir.Öbürhallerde uniformolmayandenir.Uniform olmayan knot vektörleri, uniform olan knot vektörünün belirlediği şekillerden daha genel
şekilleri
belirler. Genellikle, iç
noktalardaki kadılıklar
birdenfazla olur. Bir de düzgün knot vektörü, dengesiz
dağılmışlarsasalınım yapmalaraveya üstüste
binmelere
sebepolabilir.
Uniform olmayan knot vektörleri, daha hassas eğimli şekillerin belirlenmesinde kullanılır.
T= {0,.
...
0, 1....
,1} (p+1) defa (p+1)defa (İçdüğümnoktasıyok)Knotvektörü p. derecedenBemstain fonksiyonunu
verir.
Nı,p(t)
=
BiıP(t)= j.ti.(l-t)p-i
(2)(Bkz.Şekil 1-c)
m.
B-SPLİNE EĞRİLERİ p.derecedenB-spline eğrisi;Şekil3.Kontrolnoktalan, P,
[l
l]
,P2[2 3]>
P3
[4 3],
p4[3l]
ve knot vektörü[o
0 I 2 33]
olan 2.derecedenB-spline eğrisi
B-spline eğrileri aşağıdaki özellikleresahiptirler:
1) Uç
noktalardaki
(p+1)kadılığı;C(0)=P0 >C(l)=Pn ve
C'(o)
=
-
-
-—
olmasını
Vı
sağlar.
2) Afin invaryanttır. Yani; Kontrol
noktalarına
budönüşüm uygulanırsa, eğriye de bu
dönüşüm
uygulanmışolur.3) Konveks bölgeözelliği:
Kontrol noktalarının oluşturduğu şekil konveksçukurlar
içinde kahr. ( Convex hull ). Yani; Eğer t ,
[tj.t ,)
aralığında ve pSj< m-p-1 ise C(t) ,
Pj_p,
...
Pj
kontrol noktalarının konveks çukurluğu içindedir.4) Kontrol noktalarının birleştirilmesiyle, eğriye lineer yaklaşım yapılmıştır. Bu yaklaşım knot ilavesiyle iyileştirilebilinir.
5) Yerel yaklaşım:
Eğerbir kontrol noktası kaldırılırsa, bunun eğriye etkisi
(p+1).aralık üzerindedir.
6) C(t), knot noktalan dışmda sonsuz türevlenebilirdir. Fakat, knot noktalarında k katlı knot varsa, (p-k)
mertebeden sürekli türevlenebilir. 7) (Variation diminishingproperty):
Kabaca söylemek gerekirse, eğri kontrol noktalarının değişiminden daha fazla salman birdeğişimgöstermez.
8) B-spline eğrileri, knot dizisinde iç noktalar yoksa
Bezier
eğrilerinedönüşürler.
Nj,p(t)
=
Bjp(t)
112
TiFenBilimleri EnstitüsüDergisi
Sg Say.
(Eylül2001){V.
TENSOR
ÇARPIM B-SPLİNEYÜZEYLERİ
gjj. eğri bir parametre ile
tanımlanırken,
yüzey ikiparametre
gerektirir,
u ve v parametreler 0<u,v<lolmak
üzere (p,q). dereceden tensorçarpım B-splineyüzeyi;
S(u,v) =
SZNi.p(u)-Nj.q(v)-pij
(4)i=0 j=0
formundadır.
Py
kontrol noktaları,kontrol
ağıdenilendikdörtgen bir dizi içerisinde topolojik
olarak
düzenlenirler.
Nip(u),
Njq(v)
B-spline bazfonksiyonlarıdır.
Yukarıda II.bölümde
(1)denkleminde
tanımlandığı gibi B-spline bazfonksiyonlarıdır.
U ve V
periyodik
olmayan ve uniform olmayan knotvektörleri
dizisi olabilirler. Bunlar,Nip(u)
veNjq(v)
fonksiyonlarını tanımlarlar.(Şekil 4)’de kontrol ağı vebuna tekabül edenB-spline yüzeyi gösterilmiştir.Şekil 4. a) Kontrol ağı b)Kontrol ağına tekabül eden (2,3).
dereceden tensor çarpım B-spline yüzeyi . Knot vektörler
B-SplineFonksiyonlan Kullanılarak
Eğri veYüzey Oluşturulması
A.Yıldız,Ö.Öz,F.Vatansever
U
=
[o
0 0 1/3 2/3 1 1l]
veV
=
[o
0 0 0 1 1 1l]
(4) yüzeyi iki yönlü eğri şeması tanımlar.
Parametrelerden
birisini sabit tutarsam; u=u00 <u0 <1.Ozaman, 0<v<1 değişinceyüzeyüzerinde
B-splineeğrisielde edilir.
c(v)=S(uo,v)=
£
£
Niıp(uo).Ni>q
(v).Pjj
i=0 j=0
(5) =
SNi,q(V)' 2Xp(U0)-P«
=İNj.q(v)-Qj(u0)
j=0 \i=0 ) j=0
C(v) eğrisi için
Qj
(u0),(n+1) kontrol noktası olur.Özelolarak; S(0,v), S(l,v), S(u,0) ve S(u,l) yüzeyin 4 sınır
noktasıdır. (m+l).(n+l) çarpım fonksiyonu
Njp(u),Nj (v) (4) denkleminin (p,q)derecesindeniki
değişkenli B-splinebazfonksiyonlarınıoluştururlar.
Bu fonksiyonlar
Pq
kontrol noktalarının arasındakibükülmelerisağlarlar. Bunlardaniki tanesi (şekil 4-b) ve (şekil5-a)’degösterilmiştir.Bunlar(Şekil l-a-c)’dekilerin
Şekil S
-
a kontrol noktasının çarpım fonksiyonunun grafiğiveoluşturduğu yüzey
113
SAU FenBilimleri EnstitüsüDergisi 5.Cilt, 2.Sayı(Eylül2001)
B-SplineFonksiyonları
Kullanılarak
Eğrive Yüzey
Oluşturulması
A.Yıldız, Ö.Öz,F
.Vatansever
Şekil5-b
P3]
kontrol noktasının çarpım fonksiyonunungrafiği ve oluşturduğu yüzey
ÇiftdeğişkenliB-spline bazfonksiyonları aşağıdaki analitik özellikleresahiptirler.
♦
N,p(u).Njq(v)>0
(her ij,p,q,u,v için)m n
♦
YjİL
N'.P
(U)'Nj.q(v)=
1 V(u>v)e [0,l]x[0,l] içini=0 j=0
Eğer bir
P;j
kontrol noktasıkaldırılırsa,
üzerinde
sadece [uj>ui+p+ılx[vj,
vj+q+1]üzerinde
etkisini gösterir.yüzey
♦ İç knot noktaları yoksa B-spline yüzeyleri R ■
yüzeyleri
olurlar. ’ezıer
♦ Yerel desteközelliğinesahiptirler. Eğer (u,v)İkilisi
[Uj,ui+p+1
]x[Vj,
vj+q+1] dörtgeninin dışındaise;Ni>p(u)-Njq(v)
=
0 ♦ Türevlenebilmeözelliği:Knot dörtgenlerinin içerisinde bütün kısmi türevler
mevcuttur. ( Buralarda çift değişkenli polinomdurlar ). (u,v) knot noktalannda ise p-k.(q-k) mertebeden sürekli türevlere sahiptirler,k katillik değeridir.
♦ Ekstramum değerler:
p>0veq>0 ise
Nip(u),Njq(v)
bir maksimum değer alır. 4 köşe kontrol noktası, yüzeyin dört noktası ile birleşir.♦ Konveksbölgeözelliği
♦ Variation diminishing property
♦ Kontrol noktalan üçgen yüzeylerle birleştirilirse,
yüzeyinparçalıdüzlemselyaklaşımı yapılmışolur.
Şekil 6 . a) Kontrol ağı b) Kontrol ağma tekabül eden (7,8).
dereceden tensor çarpım B-spline yüzeyi . Knot vektörler
u=[o
0v=[o
0 0 0 0 0 0 0 0 0 1 0 0 0 1 2 2 3 3 3 3 3 3 33]
34444444]
♦ Yerelyaklaşım: 114.
.
1nonBilimleri EnstitüsüDergisiSavı (Eylül 2001) B-SplineFonksiyonlar. Kullanılarak
Ş.Cılt,4- y
Eğrive YüzeyOluşturulması A.Yıldız,Ö.Öz,F.Vatansever
V.SONUÇLAR
Yukarıdaki
bölümlerde, B-spline eğrileri ve tensorçarpımı
B-spline yüzeyleri en çarpıcı özellikleri ileverilmiştir. Bunlara göre imalat sanayinde, tasarım
alanlarında
bueğrive yüzey uydurmaların, buözellikleriile
yapılmalan
sağlanmaktadır. Bazı yüzeyler için dahagenel
olarak
nurbs-nonuniform rational B-splineeğrileri busahada
dahaavantajlıolmaktadır.KAYNAKLAR
[1] Cox,M ‘The numerical evaluation ofB-splines‘J. Inst.Maths.Applic. (1972)Vol10pp134-149
[2] deBoor, C‘on calculating with B-splines‘ J.
Approximation
Theory (1972) Vol 6 pp50-62[3] deBoor, C A practical guide to splines Springer
Verlag,New York / Berlin (1978)
[4]Risenfeld,R ‘Applications of B-splineapproximation to
geometric
problems of computer aided desing1 PhDThesisSyracuseUniversity, Syracuse, NY, USA (1973) [5] Bartels, R, Beatty, J and Barsky, B ‘An
introduction
to the use of splines incomputer graphics*SIGGRAPH’84
Tutorial Notes Minneapolis (1984) [6] Faux, I and Pratt, M Computational geometry fordesing and manufacture Ellis Horwood, Chichester (1979)
[7] Boehm, W ‘inserting new knots into B-spline curves’ Comput.-Aided Des. (May1980)Vol 12 No 4 pp 199-201