Eğriler, analitik ve sentetik olarak iki gruba ayrılabilir:
Analitik eğriler; doğrular, konik kesitler (çember,
elips, parabol, hiperbol), sinüs eğrisi vb. eğrilerdir. Bu
eğrilerin analitik bir eşitliği vardır.
Sentetik eğriler ise adından da anlaşılacağı üzere
yapay eğrilerdir (Bezier, Hermite Spline, B-Spline, NURBS,
vb.). Bu eğriler bir dizi kontrol noktasından belirli bir
algoritma vasıtasıyla (interpolasyon veya yaklaşım) hesaplanan
eğri noktalarının interpolasyonu ile oluşturulur.
Gelişen teknoloji ve estetik duygulara cevap verecek
ürünlerin dizaynında analitik eğriler yetersiz kalmıştır ve
sentetik eğriler geliştirilmiştir. Çevremiz incelendiğinde
birçok ürünün sentetik eğrilerle tasarlandığı
görülecektir. Arabalar, gemi gövdeleri, uçak gövde ve kanatları,
pervaneler, ayakkabılar, şişeler vb.
NURBS (Non Uniform Rational B-Spline) eğrileri
sentetik eğrilerin en genel hali olarak düşünülebilir. B-spline
ve Bezier eğrileri NURBS eğrilerinin özel bir halidir. Ayrıca
NURBS eğrilerinin bir avantajı da analitik, doğru ve konik
kesitleri tanımlayabilmesidir.
B-spline da Bezier eğrilerinin genelleştirilmiş halidir.
Bir Bezier eğrisinin derecesi, kontrol noktası sayısının bir
eksiğidir. Yani kontrol noktası sayısı artarsa derece yükselir;
Bu da hesaplamaları zorlaştırır. Ayrıca bir kontrol noktasının
değişmesi tüm eğriyi değiştirir, yani bölgesel kontrole izin
vermez.
NURBS
eğrileri, tasarımda ve geometrik şekillere ait verilerinin
dönüştürülmesinde endüstri standardı olmuştur. Birçok ulusal
ve uluslararası standartlarda (IGES, STEP, PHIGS, vb) NURBS
tanımlanmıştır.
NURBS algoritmaları hızlı ve sayısal olarak kararlıdır.
Birleştirici matematiksel temeli, hem analitik şekilleri (doğru,
konik kesitler, 2. derece yüzeyler, vb) hem de serbest şekilli
(yapay) eğri ve yüzeyleri (Araba gövdeleri, uçak gövde ve
kanatları, gemi gövdeleri, vb) tanımlayabilmektedir. NURBS;
B-Spline ve Bezier, eğri ve yüzeylerini kapsamaktadır.
n=1
d=1 kenetli,eşit aralıklı U = { 0,0,1,1} w = {1,1}
n=4
d=1 kenetli,eşit aralıklı U = { 0,0,1,2,3,4,4} w = {1,1,1,1,1}
n=2
d=2 kenetli,eşit aralıklı U = { 0,0,0,1,1,1} w = {1,0.707107,1}
n=2
d=2 kenetli,eşit aralıklı U = { 0,0,0,1,1,1} w = {1,0.85067,1}
n=8 d=2 kenetli, eşit aralıksız
U
= {0,0,0,0.25,0.25,0.5 ,0.5,0.75,0.75,1,1,1}
w = {1,0.8819,1, 0.8819,1, 0.8819,1, 0.8819,1}
d.
derecede (k. sıra k=d+1), m+1 bağ dan oluşan bir
bağ vektörü U = { u0, u1,
.., um } ve her biri negatif olmayan ağırlık
wi (wi >= 0) vektörüne
sahip bir dizi (n+1 adet) kontrol noktası P0,
P1, P2 ..., Pn , verisi
ile bir NUBS eğrisi aşağıdaki şekilde tanımlanabilir.
P(u) : NURBS eğrisi
Ri,k : Oransal B-Spline temel
fonksiyonu veya NURBS temel fonksiyonu
Ni,k : B-Spline temel fonksiyonu
Pi
: n+1 adet kontrol noktası P0, P1,
P2 ..., Pn
wi
: Kontrol noktasının ağırlığı, wi >= 0
U
: Bağ vektörü, U = { u0, u1, ... ,
um-1, um }
k : Sıra, k=d+1
d : Derece
m+1=n+1+k => m=n+k olacak şekilde U =
{ u0, u1, ... , um-1, um
} bağ vektörü oluşturulur.
n=3,k=3
için Bağ Vektörleri
·
Eşit aralıklı ve periyodik bağ vektörü
um-um-1
=C dir U = {0,1,2,3,4,5,6}
·
Eşit aralıklı, periyodik olmayan ve kenetli bağ vektörü
U
= {0,0,0,1,2,2,2}
İlk ve son bağ parametreleri k adet tekrarlanırsa
eğri, ilk ve son kontrol noktalarından geçer ve bu tip eğrilere
kenetlenmiş eğri denir.
·
Eşit aralıksız (NURBS) bağ vektörü
U = {0,1,2,3,3,3,4} U = {0,0,0,1,2,5,5}
Yukarıda
verilen NURBS tanımında eğer tüm wi =1 ve bağ vektörü
eşit aralıklı seçilirse eğri B-Spline dır.
P(u) : B-Spline eğrisi
Ni,k : B-Spline temel fonksiyonu
Pi : n+1 adet kontrol noktası
P0, P1, P2 ..., Pn
U
: Bağ vektörü, { u0, u1, ... , um-1,
um }
k : Sıra, k=d+1
d : Derece
Ni,k(u) B-Spline temel
fonksiyonu:
Eğer B-Spline
eğrisinin kontrol noktası sayısı n+1=k ise eğri Bezier eğrisidir.
Bezier
eğrisi aşağıdaki şekilde de tanımlanabilir.
P(u) :
Bezier eğrisi
Bi,n
: Bernstain temel fonksiyonu
Cn,i
: Binominal katsayılar
Pi
: n+1 adet kontrol noktası P0, P1, P2
..., Pn
NURBS, B-Spline eğrisinin
genel bir hali olduğundan, onun tüm özelliklerine sahiptir.
NURBS temel fonksiyonun özellikleri aşağıda açıklanmaya çalışılmıştır.
1.
Ri,k(u) , u parametresine bağlı k-1. dereceden oransal bir fonksiyondur.
2.
Pozitivite; tüm i ve k için
, Ri,k(u) pozitiftir.
3.
Bölgesellik; Ri,k(u), [ui,ui+k)
aralığında sıfırdan farklıdır.
[ui,ui+p+1)
aralığında Ni,k(u) sıfırdan farklı
olduğundan Ri,k(u) da sıfırdan farklıdır.
Not: Tüm wi lerin negatif olmadığı farz
edilmiştir.
4.
Herhangi bir bağ aralığında [ui, ui+1),
en fazla k adet k-1 dereceli temel fonksiyon sıfırdan farklıdır.
Ri-k,k(u), Ri-k+1,k(u),
Ri-k+2,k(u), ..., ve Ri,k(u)
5.
Birim Oransallığı; [ui, ui+1)
aralığında tüm sıfırdan farklı k-1 dereceli temel fonksiyonların
toplamı 1 dir.
6.
Bağ sayısı m+1, temel fonksiyonun derecesi
d ve kontrol noktası sayısı n+1 ise m = n
+ d + 1 veya m=n+k dır.
7.
Temel fonksiyon Ri,k(u), [ui,
ui+k+1 ) aralığında bağ parametrelerine
denk gelen birleşme noktalarıyla bağlanan k-1 dereceli oransal
fonksiyonların birleşimiyle elde edilen karma bir fonksiyondur.
8.
s adet tekrarlanan bir bağ noktasında, Ri,k(u)
Ck-s sürekliliğine sahiptir.
Bu sebeple, tekrar sayısını arttırmak sürekliliğin seviyesini
düşürür ve derece arttırılarak süreklilik seviyesi arttırılabilir.
9.
Tüm i değerleri için wi = c (sıfırdan farklı
sabit) ise, Ri,k(u) = Ni,k(u)
Yani B-Spline temel fonksiyonu NURBS temel fonksiyonunun özel
bir durumudur.
NURBS Eğrilerinin Önemli Özellikleri
NURBS
eğrileri B-Spline eğrileri gibi bağ vektörünün seçimine göre
açık, kapalı, periyodik veya kenetli
olarak sınıflandırılabilir. Bağ vektöründe ilk k adet ve son
k adet bağ parametresi eşit seçilirse kenetlenmiş bir eğri
oluşur, yani eğrinin başlangıcı, ilk kontrol noktası ve bitişi,
son kontrol noktası ile çakışıktır.
n=5
d=2 kenetli,eşit aralıklı U = {0,0,0,1,2,3,4,4,4}
n=5
d=2 kenetli,eşit aralıksız U = {0,0,0,1,2,3.843,4,4,4}
n=6 d=2 kenetli,eşit aralıksız U = {0,0,0,1,2,3,3.843,4,4,4}
n=6
d=2 kapalı,periyodik,eşit aralıklı U = {-2,-1,0,1,2,3,4,5,6,7}
n=5
d=2 kapalı,periyodik,eşit aralıklı U = {-2,-1,0,1,2,3,4,5,6}
1.
NURBS eğrisi P(u) , her bir parçacığı k-1. dereceden oransal
eğri olan, parçalı bir eğridir. Her bir
parçacığa k-1. dereceden Oransal Bezier eğrisi denir.
NURBS,n=6 d=2 kenetli,eşit aralıklı U = {0,0,0,1,2,3,4,5,5,5}
BEZIER
Parça Eğrileri; n=2 d=2 kenetli,eşit aralıklı U = {0,0,0,1,1,1}
2.
m = n +
k dır.
NURBS,n=4 d=2 k=d+1=3 m=n+k=7
kenetli,eşit aralıklı
U
= {0,0,0,1,2,3,3,3}
NURBS,n=5 d=3 k=d+1=4 m=n+k=9
kenetli,eşit aralıklı
U = {0,0,0,0,1,2,3,3,3,3}
3.
Kenetlenmiş bir NURBS eğrisi P(u); P0 ve Pn
kontrol noktalarından geçer.
NURBS,n=5 d=3 kenetli,eşit
aralıklı U = {0,0,0,0,1,2,3,3,3,3}
Kenetleme için uç noktalarda
bağ parametresi k(d+1) adet tekrarlanır.
4.
Dışbükey kabuk özelliği; NURBS eğrisi kontrol
noktalarının oluşturduğu dışbükey bir kabuk içindedir ve ayrıca
eğer u ; [ui,ui+1)
aralığında ise P(u); Pi-k, Pi-k+1,
..., Pi kontrol noktalarının oluşturduğu
dışbükey kabuk içindedir. Tüm wi ağırlıklarının
negatif olmaması gerektiğini daha önce belirtilmişti. Eğer
bazıları negatif değer alırsa dışbükey kabuk özelliği çalışmaz.
Aşağıda soldaki şekilde n=2 ve k=3 olan ve ilk üç ve son üç
bağ parametresi kenetlenmiş bir NURBS tür. İlk ve son kontrol
noktasının ağırlığı 1 ve ortadaki kontrol noktasının ağırlığı
ise 0.5 tir. Bu eğri gerçekte eliptik bir yaydır. Eğri segmenti
dışbükey kabuk içinde uzanmaktadır.
Ortadaki
şekilde orta noktanın ağırlığı 0 seçilmiştir, bu sebeple bu
noktanın eğrinin şekline bir etkisi olmamıştır.Sonuçta doğrusal
bir eğri oluşmuştur. Eğri hala dışbükey kabuk içindedir. Sağdaki
şekilde ise ağırlık -0.5 olarak seçilmiştir ve eğri dışbükey
kabuğun dışına çıkmıştır.
5.
Bölgesel Düzenleme; Pi kontrol
noktasının değiştirilmesi P(u) eğrisini sadece [ui,
ui+k) aralığında etkiler. Bu özellik B-Spline
temel fonksiyonun getirdiği bir özelliktir. Ri,k(u),
[ui, ui+k) aralığında
sıfırdan farklıdır. Eğer u bu aralıkta değilse Ri,k(u)
sıfır olacağında Ri,k(u)Pi
nin P(u) hesabında bir etkisi olmayacaktır. Diğer taraftan
u belirtilen aralıkta ise Ri,k(u)
sıfırdan farklı bir değer alır ve Ri,k(u)Pi
yani P(u) değişir.
Bu özellik eğri
dizaynında çok önemlidir. Çünkü eğri, genel şekli değiştirilmeden
belirli bölgelerde düzenlenebilir. Eğer daha hassas düzenlemeler
yapılması gerekiyorsa bağ vektörüne yeni bağ parametreleri
eklenerek eğrinin şekli bozulmadan yeni kontrol noktaları
elde edilir. Bu noktaların oluşturulduğu bölgede eğri daha
hassas düzenlenebilir.
Kontrol
noktası değiştirilerek eğrinin düzenlenmesi. P4
noktası değiştirildiğinde eğri sadece [u4,u7) aralığında
değişir.
n=9
d=2 kenetli,eşit aralıklı U = {0,0,0,1,2,3,4,5,6,7,8,8,8}
n=7
d=2 kenetli,eşit aralıklı U = { 0,0,0,1,2,3,4,5,6,6,6 }
Kontrol
noktasının ağırlığı (Homojen koordinatlarda 4.boyut) değiştirilerek
te eğri düzenlenebilir. P6 noktasının ağırlığı değiştirildiğinde
eğri yine sadece [u6,u9) aralığında değişir.
n=7 d=2 kenetli,eşit aralıklı U = { 0,0,0,1,2,3,4,5,6,6,6 }
Mikro düzeyde lokal kontrol
için bağ vektörüne yeni bağ parametresi eklenerek eğri şekli
değiştirilmeden eklenen bağ parametresine bağlı olarak yeni
kontrol noktaları elde edilir. Elde edilen noktaların değiştirilmesi
ile eğri o bölgede daha hassas düzenlenebilir. Aşağıdaki şekilde
P4 noktası değiştirildiğinde eğri [u4,u7) aralığında
değişmektedir. Eğriyi [u4,u5) aralığında ve P5 noktasını
değiştirmeden düzenlemek için yeni u6 =3.898 parametresi
eklenerek yeni P4 ve P5 kontrol noktaları
bulunur. Yeni sistemde P5 kontrol noktası değiştirilerek
eğri istediğimiz şekilde düzenlenebilir.
n=5 d=2 kenetli,eşit aralıklı
U = {0,0,0,1,2,3,4,4,4}
n=6
d=2 kenetli,eşit aralıksız U = {0,0,0,1,2,3,3.898,4,4,4}
6.
P(u), s katsayılı bağ da Ck-s sürekliliğine
haizdir. Eğer u bir bağ parametresine eşit değilse;
P(u), k-1 dereceli eğri segmenti üzerindedir ve k-1.
seviyeden differanse edilebilir. Fakat u Ri,k(u)
nın sıfırdan farklı bir bağ parametresine eşitse,Ri,k(u)
ve P(u), Ck-s sürekliliğine haizdir.
7.
Dönüşüm azaltma özelliği; eğer
eğri düzlemde (veya uzay) ise eğri ile bir doğrunun (veya
düzlem) oluşturduğu kesişimler doğru ile eğri kontrol noktalarının
oluşturduğu çoklu doğrunun oluşturduğu kesişimlerden fazla
olamaz. (Not: az olabilir.)
8.
B-Spline Eğrileri ve Bezier Eğrileri, NURBS eğrilerinin özel durumlarıdır.
Tüm ağırlıklar eşitse bir NURBS eğrisi B-spline eğrisi
olur. İlave olarak n = k-1 ise (eğrinin derecesi kontrol
noktası sayısının bir eksiği) ve bağ vektöründeki bağ parametresi
sayısı m=2k-1 ve bağ vektörü kenetlenmiş ise NURBS eğrisi
Bezier eğrisine indirgenebilir.
9.
Projektif değişmezlik; NURBS
eğrisine projektif bir dönüşüm uygulanacaksa, sonuç; dönüşümün
eğrinin kontrol noktalarına uygulanması ile bulunan yeni noktaların,
kontrol noktası olarak kullanılması ile elde edilecek NURBS
eğrisidir.
Not: Bezier
ve B-spline eğrileri sadece affine değişmezlik özelliğine
sahiptirler.
|