Bir NURBS eğrisi. Ayrıca bu animasyonlu sürüme bakın.
**Düzgün olmayan rasyonel temelli eğri** (İngilizce **Non-uniform rational basis spline, NURBS**), eğrileri ve yüzeyleri oluşturmak ve temsil etmek için bilgisayar grafiklerinde yaygın olarak kullanılan matematiksel bir modeldir. Hem analitik (ortak matematiksel formüllerle tanımlanan yüzeyler) hem de modellenmiş şekilleri işlemek için büyük esneklik ve hassasiyet sunar. NURBS yaygın olarak bilgisayar destekli tasarım (CAD ), imalat (CAM ) ve mühendislikte (CAE ) kullanılır ve IGES, STEP, ACIS ve PHIGS gibi çok sayıda endüstri çapında standardın parçasıdır. NURBS araçları ayrıca çeşitli 3B modelleme ve animasyon yazılım paketlerinde de bulunur. NURBS yüzeyleri, üç boyutlu uzayda bir yüzeye eşlenen iki parametrenin işlevleridir. Yüzeyin şekli kontrol noktaları ile belirlenir. NURBS yüzeyleri, kompakt bir biçimde basit geometrik şekilleri temsil edebilir. T-spline'lar ve alt bölme yüzeyleri, NURBS yüzeylerine kıyasla kontrol noktalarının sayısını iki kat azalttığı için karmaşık organik şekiller için daha uygundur. NURBS eğrilerini ve yüzeylerini düzenlemek oldukça sezgisel ve öngörülebilirdir. Kontrol noktaları her zaman doğrudan eğriye / yüzeye bağlanır veya bir lastik bantla bağlanmış gibi davranır. Kullanıcı arayüzünün türüne bağlı olarak, düzenleme, Bézier eğrileri için en açık ve yaygın olan bir elemanın kontrol noktaları aracılığıyla veya spline modelleme veya hiyerarşik düzenleme gibi daha yüksek seviyeli araçlar aracılığıyla gerçekleştirilebilir.

Tarih
-----

 Bir eğri
Bilgisayarlardan önce tasarımlar çeşitli çizim araçlarıyla kağıt üzerine elle çizilirdi. Cetveller düz çizgiler, kullanıldı pergel çevreler için ve protractors açılar için. Ancak bir geminin pruvasının serbest biçimli eğrisi gibi birçok şekil bu aletlerle çizilemezdi. Bu tür eğriler çekim tahtasında serbestçe çizilebilmesine rağmen, gemi yapımcıları genellikle elle yapılamayacak gerçek boyutlu bir versiyona ihtiyaç duyuyordu. Bu tür büyük çizimler, spline adı verilen esnek ahşap şeritlerin yardımıyla yapıldı. Spline'lar, "ördekler" adı verilen önceden belirlenmiş birkaç noktada yerinde tutuldu; ördekler arasında, yivli malzemenin esnekliği, şeridin bükülme enerjisini en aza indiren şekli almasına neden oldu, böylece kısıtlamalara uyan mümkün olan en pürüzsüz şekli oluşturdu. Ördekler hareket ettirilerek şekil ayarlanabilir.

1946'da matematikçiler spline şeklini incelemeye başladılar ve spline eğrisi veya spline fonksiyonu olarak bilinen parçalı polinom formülü türettiler. IJ Schoenberg, teknik ressamlar tarafından kullanılan mekanik eğriye benzerliğinden sonra spline işlevine adını verdi.

Bilgisayarlar tasarım sürecine dahil edilirken, bu tür eğrilerin fiziksel özellikleri, matematiksel hassasiyetle modellenebilmeleri ve gerektiğinde yeniden üretilebilmeleri için araştırıldı. Fransa'da Renault mühendisi Pierre Bézier ve Citroën'in fizikçi ve matematikçisi Paul de Casteljau öncü çalışmalar yaptı. Birbirlerine neredeyse paralel çalıştılar, ancak Bézier çalışmasının sonuçlarını yayınladığı için, Bézier eğrilerine onun adı verilirken, de Casteljau'nun adı yalnızca ilgili algoritmalarla ilişkilendirildi.

Başlangıçta NURBS sadece otomobil şirketlerinin tescilli CAD paketlerinde kullanılıyordu. Daha sonra standart bilgisayar grafik paketlerinin bir parçası oldular.

NURBS eğrilerinin ve yüzeylerinin gerçek zamanlı, etkileşimli olarak oluşturulması ilk olarak 1989'da Silicon Graphics iş istasyonlarında ticari olarak sağlandı. 1993 yılında, NöRBS adı verilen PC'ler için ilk etkileşimli NURBS modelleyicisi, Berlin Teknik Üniversitesi ile işbirliği yapan küçük bir başlangıç şirketi olan CAS Berlin tarafından geliştirildi.

Süreklilik
----------

Yapım aşamasında olan bir yüzey, örneğin bir motorlu yatın gövdesi, genellikle *yama* olarak bilinen birkaç NURBS yüzeyinden oluşur. Bu yamalar, sınırlar görünmeyecek şekilde birbirine takılmalıdır. Bu, matematiksel olarak geometrik süreklilik kavramı ile ifade edilir.

NURBS'nin farklı seviyelerde geometrik süreklilik oluşturma ve kurma becerisinden yararlanan daha yüksek seviyeli araçlar mevcuttur:

* **Konumsal süreklilik** (G 0 ), iki eğrinin veya yüzeyin son konumları çakıştığı zaman geçerlidir. Eğriler veya yüzeyler yine de bir açıyla birleşerek keskin bir köşe veya kenara yol açabilir ve kırılmış vurgulara neden olabilir.
* **Teğetsel süreklilik** (G¹), eğrilerin veya yüzeylerin uç vektörlerinin paralel olmasını ve keskin kenarları ekarte ederek aynı şekilde işaret etmesini gerektirir. Teğet olarak sürekli bir kenara düşen vurgular her zaman süreklidir ve bu nedenle doğal göründüğünden, bu süreklilik düzeyi çoğu zaman yeterli olabilir.
* **Eğrilik sürekliliği** (G²) ayrıca uç vektörlerin aynı uzunlukta ve uzunluk değişim hızında olmasını gerektirir. Sürekli eğrilikli bir kenara düşen parlak noktalar herhangi bir değişiklik göstermez ve iki yüzeyin tek olarak görünmesine neden olur. Bu görsel olarak "mükemmel derecede pürüzsüz" olarak tanınabilir. Bu süreklilik düzeyi, tek bir sürekli yüzey oluşturan birçok iki kübik yama gerektiren modellerin oluşturulmasında çok kullanışlıdır.

Geometrik süreklilik esas olarak ortaya çıkan yüzeyin şeklini ifade eder; NURBS yüzeyleri fonksiyonlar olduğundan, yüzeyin türevlerini parametrelere göre tartışmak da mümkündür. Bu, parametrik süreklilik olarak bilinir. Belirli bir derecenin parametrik sürekliliği, o derecenin geometrik sürekliliğini ifade eder.

Birinci ve ikinci düzey parametrik süreklilik (C 0 ve C¹), pratik amaçlar için konumsal ve teğetsel (G 0 ve G¹) süreklilikle aynıdır. Bununla birlikte, üçüncü düzey parametrik süreklilik (C²), parametrelendirmesinin de sürekli olması nedeniyle eğrilik sürekliliğinden farklıdır. Uygulamada, tek tip B-spline'lar kullanılırsa C² sürekliliği elde etmek daha kolaydır.

C *n* sürekliliğinin tanımı, bitişik eğrilerin / yüzeylerin *n* inci türevinin ({\displaystyle d^{n}C(u)/du^{n}} ) bir eklemde eşittir. Eğrilerin ve yüzeylerin (kısmi) türevlerinin bir yönü ve bir büyüklüğü olan vektörler olduğuna dikkat edin; her ikisi de eşit olmalıdır.

Parlak noktalar ve yansımalar, en azından G² sürekliliğine sahip NURBS yüzeyleri olmadan elde edilmesi pratik olarak imkansız olan mükemmel düzleştirmeyi ortaya çıkarabilir. Bu aynı ilke, yüzey değerlendirme yöntemlerinden biri olarak kullanılır; bu yöntemle, üzerine yansıyan beyaz şeritlere sahip bir yüzeyin ışın izlemeli veya yansıma haritalanmış bir görüntüsü, bir yüzey veya bir dizi yüzey üzerindeki en küçük sapmaları bile gösterecektir. Bu yöntem, araba yüzeyindeki neon ışıklı tavanın yansımalarının kalitesinin kontrol edilmesiyle yüzey kalitesinin denetlendiği otomobil prototiplemesinden türetilmiştir. Bu yöntem aynı zamanda "Zebra analizi" olarak da bilinir.

Teknik özellikler
-----------------

Bir NURBS eğrisi, sırası, bir dizi ağırlıklı kontrol noktası ve bir düğüm vektörü ile tanımlanır. NURBS eğrileri ve yüzeyleri, hem B-spline'ların hem de Bézier eğrilerinin ve yüzeylerinin genelleştirmeleridir; birincil fark, NURBS eğrilerini *rasyonel* kılan kontrol noktalarının ağırlıklandırılmasıdır. *(Sigara rasyonel* *bir deyişle, basit,* B-spline her kontrol noktası normal homojen olmayan yerine daha [ 'w' no] koordinat oransal B-spline özel bir durum / alt küme vardır homojen koordinat. Bu, her kontrol noktasında "1" ağırlığa sahip olmaya eşdeğerdir; *Rasyonel* B-spline bir **ağırlık** olarak her bir kontrol noktasının 'w' kullanın. ) İki boyutlu kontrol noktaları ızgarası kullanılarak, düzlemsel yamalar ve kürelerin bölümleri dahil NURBS yüzeyleri oluşturulabilir. Bunlar iki değişkenle parametrelendirilir (tipik olarak *s* ve *t* veya *u* ve *v* olarak adlandırılır). Bu, NURBS haritalaması oluşturmak için rastgele boyutlara genişletilebilir {\displaystyle \mathbb {R} ^{n}\to \mathbb {R} ^{n}} .

NURBS eğrileri ve yüzeyleri birkaç nedenden dolayı kullanışlıdır: -

* Belirli bir sıra için NURBS kümesi, afin dönüşümler altında değişmez : döndürme ve öteleme gibi işlemler, NURBS eğrilerine ve yüzeylerine, kontrol noktalarına uygulanarak uygulanabilir.
* Hem standart analitik şekiller (ör. Konikler ) hem de serbest biçimli şekiller için ortak bir matematiksel form sunarlar.
* Çok çeşitli şekiller tasarlama esnekliği sağlarlar.
* Şekilleri depolarken bellek tüketimini azaltırlar (daha basit yöntemlere kıyasla).
* Sayısal olarak kararlı ve doğru algoritmalarla oldukça hızlı bir şekilde değerlendirilebilirler.

Sonraki bölümlerde, NURBS tek boyutta (eğriler) tartışılmaktadır. Hepsi iki veya daha fazla boyuta genellenebilir.

### NURBS eğrisinin kuvveti

Bir NURBS eğrisinin *kuvveti*, eğri üzerindeki herhangi bir noktayı etkileyen yakın kontrol noktalarının sayısını tanımlar. Eğri, matematiksel olarak eğrinin mertebesinden bir dereceden daha düşük bir polinom ile temsil edilir. Bu nedenle, ikinci dereceden eğrilere (doğrusal polinomlarla temsil edilenler) doğrusal eğriler, üçüncü dereceden eğrilere ikinci dereceden eğriler ve dördüncü dereceden eğrilere kübik eğriler denir. Kontrol noktalarının sayısı eğrinin kuvvetinden büyük veya ona eşit olmalıdır.

Pratikte, kübik eğriler en sık kullanılanlardır. Beşinci ve altıncı mertebeden eğriler bazen, özellikle sürekli yüksek mertebeden türevler elde etmek için kullanışlıdır, ancak daha yüksek mertebeden eğriler pratikte hiçbir zaman kullanılmaz, çünkü bunlar dahili sayısal problemlere yol açar ve orantısız şekilde büyük hesaplama süreleri gerektirme eğilimindedirler.

### Kontrol noktaları

 Üç boyutlu NURBS yüzeyleri karmaşık, organik şekillere sahip olabilir. Kontrol noktaları, yüzeyin aldığı yönleri etkiler. Aşağıdaki en dıştaki kare yüzeyin X / Y kapsamını gösterir.
Kontrol noktaları, eğrinin şeklini belirler. Tipik olarak, eğrinin her noktası, bir dizi kontrol noktasının ağırlıklı toplamı alınarak hesaplanır. Her bir noktanın ağırlığı, geçerli parametreye göre değişir. D derecelik bir eğri için, herhangi bir kontrol noktasının ağırlığı, parametre uzayının d + 1 aralıklarında yalnızca sıfırdan farklıdır. Bu aralıklar içinde ağırlık, d derecesinin bir polinom fonksiyonuna (*temel fonksiyonlar*) göre değişir. Aralıkların sınırlarında, temel fonksiyonlar sorunsuz bir şekilde sıfıra gider, pürüzsüzlük polinomun derecesine göre belirlenir.

Örnek olarak, birinci derecenin temel işlevi bir üçgen işlevidir. Sıfırdan bire yükselir, sonra tekrar sıfıra düşer. Yükselirken, önceki kontrol noktasının temel işlevi düşer. Bu şekilde, eğri iki nokta arasında interpolasyon yapar ve ortaya çıkan eğri, aralıklı sınırlarda veya düğümlerde türevlenemeyen, sürekli olan bir çokgendir. Daha yüksek dereceli polinomlar buna bağlı olarak daha sürekli türevlere sahiptir. Aralık içinde temel fonksiyonların polinom doğasının ve yapının doğrusallığının eğriyi mükemmel bir şekilde pürüzsüz hale getirdiğine dikkat edin, bu nedenle süreksizlik sadece düğümlerde ortaya çıkabilir.

Pek çok uygulamada, tek bir kontrol noktasının yalnızca aktif olduğu aralıkları etkilemesi, **yerel destek** olarak bilinen oldukça istenen bir özelliktir. Modellemede, bir yüzeyin bir kısmının değiştirilmesine izin verirken diğer kısımların değişmeden kalmasına izin verir.

Daha fazla kontrol noktası eklemek, belirli bir eğriye daha iyi yaklaşıma izin verir, ancak yalnızca belirli bir eğri sınıfı tam olarak sınırlı sayıda kontrol noktasıyla temsil edilebilir. NURBS eğrileri ayrıca her kontrol noktası için bir skaler **ağırlık içerir**. Bu, kontrol noktalarının sayısını gereksiz yere yükseltmeden eğrinin şekli üzerinde daha fazla kontrole izin verir. Özellikle, tam olarak temsil edilebilen eğriler kümesine daire ve elips gibi konik bölümler ekler. NURBS'deki *rasyonel* terimi bu ağırlıkları ifade eder.

Kontrol noktaları herhangi bir boyutluluğa sahip olabilir. Tek boyutlu noktalar sadece parametrenin skaler bir fonksiyonunu tanımlar. Bunlar genellikle parlaklığı ve renk eğrilerini ayarlamak için görüntü işleme programlarında kullanılır. Üç boyutlu kontrol noktaları, 3B uzayda bir konum olan 'nokta' kelimesinin günlük anlamında kullanıldığı 3B modellemede bolca kullanılır. Çok boyutlu noktalar, bir robot kolunun farklı konumsal ve dönme ayarları gibi zamana bağlı değer kümelerini kontrol etmek için kullanılabilir. NURBS yüzeyleri bunun sadece bir uygulamasıdır. Her kontrol 'noktası' aslında bir eğri tanımlayan tam bir kontrol noktaları vektörüdür. Bu eğriler, derecelerini ve kontrol noktalarının sayısını paylaşır ve parametre uzayının bir boyutunu kapsar. Bu kontrol vektörlerinin parametre uzayının diğer boyutu üzerinde enterpolasyonuyla, yüzeyi tanımlayan sürekli bir eğri seti elde edilir.

### Düğüm vektör

Düğüm vektörü, kontrol noktalarının NURBS eğrisini nerede ve nasıl etkilediğini belirleyen bir parametre değerleri dizisidir. Düğüm sayısı her zaman kontrol noktalarının sayısı artı eğri derecesi artı birdir (yani kontrol noktalarının sayısı artı eğri sırası). Düğüm vektörü, parametrik alanı daha önce bahsedilen aralıklarla böler, genellikle *düğüm aralıkları* olarak anılır. Parametre değeri yeni bir düğüm aralığına her girdiğinde, yeni bir kontrol noktası aktif hale gelirken, eski bir kontrol noktası atılır. Düğüm vektöründeki değerlerin azalan sırada olması gerektiği, dolayısıyla (0, 0, 1, 2, 3, 3) geçerliyken (0, 0, 2, 1, 3, 3) geçerli değildir.

Ardışık düğümler aynı değere sahip olabilir. Bu daha sonra sıfır uzunlukta bir düğüm aralığını tanımlar, bu da iki kontrol noktasının aynı anda etkinleştirildiğini (ve tabii ki iki kontrol noktasının devre dışı bırakıldığını) gösterir. Bunun, ortaya çıkan eğrinin veya daha yüksek türevlerinin sürekliliği üzerinde etkisi vardır; örneğin, başka türlü pürüzsüz bir NURBS eğrisinde köşelerin oluşturulmasına izin verir. Çakışan düğüm bir dizi bazen belirli bir **çoğu** ile bir düğüm olarak adlandırılır. Çokluğu iki veya üç olan düğümler, çift veya üçlü düğüm olarak bilinir. Bir düğümün çokluğu, eğrinin derecesiyle sınırlıdır; çünkü daha yüksek bir çokluk eğriyi ayrık parçalara böler ve kontrol noktalarını kullanılmadan bırakır. Birinci derece NURBS için, her düğüm bir kontrol noktası ile eşleştirilir.

Düğüm vektörü genellikle sıraya eşit çokluğa sahip bir düğümle başlar. Bu mantıklıdır, çünkü bu, ilk düğüm aralığı üzerinde etkisi olan kontrol noktalarını etkinleştirir. Benzer şekilde, düğüm vektörü genellikle bu çokluğun bir düğümü ile biter. Bu tür düğüm vektörlerine sahip eğriler bir kontrol noktasında başlar ve biter.

Düğümlerin değerleri, giriş parametresi ile karşılık gelen NURBS değeri arasındaki eşleşmeyi kontrol eder. Örneğin, bir NURBS, zaman içinde uzayda bir yolu tanımlıyorsa, düğümler, işlevin kontrol noktalarından sonra ilerlediği zamanı kontrol eder. Bununla birlikte, şekilleri temsil etme amaçları için, yalnızca düğüm değerleri arasındaki farkın oranları önemlidir; bu durumda düğüm vektörleri (0, 0, 1, 2, 3, 3) ve (0, 0, 2, 4, 6, 6) aynı eğriyi üretir. Düğüm değerlerinin pozisyonları, parametre uzayının eğri uzayıyla eşleştirilmesini etkiler. Bir NURBS eğrisinin oluşturulması, genellikle parametre aralığında sabit bir adımla adımlanarak yapılır. Düğüm aralığı uzunlukları değiştirilerek, eğriliğin yüksek olduğu bölgelerde daha fazla numune noktası kullanılabilir. Diğer bir kullanım, parametre değerinin bir miktar fiziksel öneme sahip olduğu durumlarda, örneğin parametre zaman ise ve eğri bir robot kolunun hareketini tanımlıyorsa. Düğüm aralığı uzunlukları daha sonra, robot koluna veya çevresine zarar gelmesini önlemek için doğru olmak için gerekli olan hız ve ivmeye dönüşür. Haritalamadaki bu esneklik, NURBS'deki *tek tip olmayan* ifadesinin kastettiği şeydir.

Yalnızca dahili hesaplamalar için gerekli olan düğümler genellikle modelleme yazılımı kullanıcıları için yararlı değildir. Bu nedenle, birçok modelleme uygulaması düğümleri düzenlenebilir ve hatta görünür hale getirmez. Kontrol noktalarındaki varyasyona bakarak makul düğüm vektörleri oluşturmak genellikle mümkündür. NURBS yazılımının daha yeni sürümleri (örneğin, Autodesk Maya ve Rhinoceros 3D ) düğüm konumlarının etkileşimli olarak düzenlenmesine izin verir, ancak bu, kontrol noktalarının düzenlenmesinden önemli ölçüde daha az sezgiseldir.

### Temel fonksiyonların oluşturulması

NURBS eğrilerinin oluşturulmasında kullanılan B-spline temel fonksiyonları genellikle şu şekilde belirtilir: {\displaystyle N\_{i,n}(u)} içinde {\displaystyle i} karşılık gelir {\displaystyle i} inci kontrol noktası ve {\displaystyle n} temel işlevin derecesine karşılık gelir. Parametre bağımlılığı genellikle dışarıda bırakılır, böylece yazabiliriz {\displaystyle N\_{i,n}}. Bu temel işlevlerin tanımı, {\displaystyle n}. Derece 0 fonksiyonları {\displaystyle N\_{i,0}} parçalı sabit fonksiyonlardır. Karşılık gelen düğüm aralığında bir ve diğer her yerde sıfırdır. Etkili bir şekilde, {\displaystyle N\_{i,n}} doğrusal bir enterpolasyondur {\displaystyle N\_{i,n-1}} ve {\displaystyle N\_{i+1,n-1}}. Son iki işlev sıfırdan farklıdır: {\displaystyle n} düğüm aralıkları, örtüşen {\displaystyle n-1} düğüm açıklıkları. İşlev {\displaystyle N\_{i,n}} olarak hesaplanır 

 Yukarıdan aşağıya: Doğrusal temel fonksiyonlar {\displaystyle N\_{1,1}} (mavi) ve {\displaystyle N\_{2,1}} (yeşil) (üstte), ağırlık fonksiyonları {\displaystyle f} ve {\displaystyle g} (orta) ve ortaya çıkan ikinci dereceden temel işlevi (alt). Düğümler 0, 1, 2 ve 2,5
{\displaystyle N\_{i,n}=f\_{i,n}N\_{i,n-1}+g\_{i+1,n}N\_{i+1,n-1}}
{\displaystyle f\_{i}} sıfırdan bire doğrusal olarak yükselir burada aralıkta {\displaystyle N\_{i,n-1}} sıfır olmayan {\displaystyle g\_{i+1}} aralıkta birden sıfıra düşer burada {\displaystyle N\_{i+1,n-1}} sıfır değildir. Önceden belirtildiği üzere, {\displaystyle N\_{i,1}} iki düğüm boyunca sıfırdan farklı bir fonksiyondur, ilkinde sıfırdan bire yükselen ve ikinci düğüm aralığında sıfıra düşen. Daha yüksek dereceli temel fonksiyonlar, karşılık gelen daha fazla düğüm aralığı üzerinde sıfırdan farklıdır ve buna göre daha yüksek dereceye sahiptir. Eğer {\displaystyle u} parametredir ve {\displaystyle k\_{i}} ... {\displaystyle i} inci düğüm, fonksiyonları yazabiliriz {\displaystyle f} ve {\displaystyle g} gibi

{\displaystyle f\_{i,n}(u)={{u-k\_{i}} \over {k\_{i+n}-k\_{i}}}}
ve

{\displaystyle g\_{i,n}(u)=1-f\_{i,n}(u)={{k\_{i+n}-u} \over {k\_{i+n}-k\_{i}}}}
Fonksiyonlar {\displaystyle f} ve {\displaystyle g} karşılık gelen alt sıra temel işlevleri sıfır olmadığında pozitiftir. N'deki tümevarım yoluyla, temel fonksiyonların tüm değerleri için negatif olmadığını izler {\displaystyle n} ve {\displaystyle u}. Bu, temel fonksiyonların hesaplanmasını sayısal olarak kararlı hale getirir.

Yine tümevarımla, parametrenin belirli bir değeri için temel fonksiyonların toplamının birlik olduğu kanıtlanabilir. Bu, temel işlevlerin **birlik** özelliğinin **bölümü** olarak bilinir. 
Doğrusal temel fonksiyonlar
İkinci dereceden temel fonksiyonlar
Şekiller, {... 0, 1, 2, 3, 4, 4.1, 5.1, 6.1, 7.1, düğümler için doğrusal ve ikinci dereceden temel fonksiyonları gösterir.. . }

Bir düğüm aralığı diğerlerinden oldukça kısadır. Bu düğüm aralığında, ikinci dereceden temel fonksiyonundaki tepe daha belirgindir ve neredeyse bire ulaşır. Tersine, bitişik temel işlevler daha hızlı sıfıra düşer. Geometrik yorumlamada bu, eğrinin karşılık gelen kontrol noktasına yakından yaklaştığı anlamına gelir. Çift düğüm durumunda düğüm açıklığının uzunluğu sıfır olur ve tepe tam olarak bire ulaşır. Temel işlev artık bu noktada farklılaştırılamaz. Komşu kontrol noktaları eşdoğrusal değilse eğri keskin bir köşeye sahip olacaktır.

### NURBS eğrisinin genel formu

Temel fonksiyonların tanımlarını kullanma {\displaystyle N\_{i,n}} önceki paragraftan, bir NURBS eğrisi aşağıdaki biçimi alır:

{\displaystyle C(u)=\sum \_{i=1}^{k}{\frac {N\_{i,n}w\_{i}}{\sum \_{j=1}^{k}N\_{j,n}w\_{j}}}\mathbf {P} \_{i}={\frac {\sum \_{i=1}^{k}{N\_{i,n}w\_{i}\mathbf {P} \_{i}}}{\sum \_{i=1}^{k}{N\_{i,n}w\_{i}}}}}
Bunda, {\displaystyle k} kontrol noktalarının sayısı {\displaystyle \mathbf {P} \_{i}} ve {\displaystyle w\_{i}} karşılık gelen ağırlıklardır. Payda, tüm ağırlıkların bir olup olmadığını değerlendiren normalleştirme faktörüdür. Bu, temel işlevlerin birlik özelliğinin bölümlemesinden görülebilir. Bunu şu şekilde yazmak gelenekseldir

{\displaystyle C(u)=\sum \_{i=1}^{k}R\_{i,n}(u)\mathbf {P} \_{i}}
{\displaystyle R\_{i,n}(u)={N\_{i,n}(u)w\_{i} \over \sum \_{j=1}^{k}N\_{j,n}(u)w\_{j}}}
*rasyonel temel işlevler* olarak bilinir.

### NURBS yüzeyinin genel formu

İki NURBS eğrisinin tensör ürünü olarak bir NURBS yüzeyi elde edilir, böylece iki bağımsız parametre kullanılır. {\displaystyle u} ve {\displaystyle v} (endekslerle {\displaystyle i} ve {\displaystyle j} sırasıyla):

{\displaystyle S(u,v)=\sum \_{i=1}^{k}\sum \_{j=1}^{l}R\_{i,j}(u,v)\mathbf {P} \_{i,j}}
ile

{\displaystyle R\_{i,j}(u,v)={\frac {N\_{i,n}(u)N\_{j,m}(v)w\_{i,j}}{\sum \_{p=1}^{k}\sum \_{q=1}^{l}N\_{p,n}(u)N\_{q,m}(v)w\_{p,q}}}}
rasyonel temel işlevler olarak.

NURBS nesnelerini düzenleme
---------------------------

 Motoryat tasarımı.
Bir NURBS nesnesine bir dizi dönüşüm uygulanabilir. Örneğin, bazı eğri belirli bir derece ve N kontrol noktası kullanılarak tanımlanırsa, aynı eğri aynı derece ve N + 1 kontrol noktaları kullanılarak ifade edilebilir. İşlemde bir dizi kontrol noktası pozisyon değiştirir ve düğüm vektörüne bir düğüm eklenir. Bu manipülasyonlar, etkileşimli tasarım sırasında yoğun bir şekilde kullanılır. Bir kontrol noktası eklerken, eğrinin şekli aynı kalmalı ve sonraki ayarlamalar için başlangıç noktası oluşturmalıdır. Bu işlemlerden birkaçı aşağıda tartışılmaktadır.

### Düğüm ekleme

Terimden de anlaşılacağı gibi, **düğüm ekleme**, düğüm vektörüne bir düğüm ekler. Eğrinin derecesi ise {\displaystyle n}, sonra {\displaystyle n-1} kontrol noktaları ile değiştirilir {\displaystyle n} Yeni olanlar. Eğrinin şekli aynı kalır.

Bir düğüm, düğümün maksimum çokluğuna kadar birden çok kez eklenebilir. Bu bazen **düğüm iyileştirme** olarak adlandırılır ve tekrarlanan düğüm eklemeden daha verimli olan bir algoritma ile elde edilebilir.

### Düğüm çıkarma

**Düğüm çıkarma**, düğüm atmanın tersidir. Amacı, daha kompakt bir görünüm elde etmek için düğümleri ve ilgili kontrol noktalarını kaldırmaktır. Açıktır ki, eğrinin tam şeklini korurken bu her zaman mümkün değildir. Pratikte, bir düğümün kaldırılıp kaldırılamayacağını belirlemek için doğrulukta bir tolerans kullanılır. İşlem, kontrol noktalarının manuel olarak eklenmiş olabileceği etkileşimli bir oturumdan sonra veya basit bir dönüştürme işleminin gereksiz kontrol noktalarına yol açtığı farklı bir temsilden bir eğri içe aktarıldıktan sonra temizlemek için kullanılır.

### Derece yükselmesi

Belirli bir derecedeki bir NURBS eğrisi, her zaman daha yüksek dereceli bir NURBS eğrisi ile temsil edilebilir. Bu, ayrı NURBS eğrilerini birleştirirken, örneğin, bir dizi NURBS eğrisi arasında enterpolasyon yapan bir NURBS yüzeyi oluştururken veya bitişik eğrileri birleştirirken sıklıkla kullanılır. Süreçte, farklı eğriler aynı dereceye, genellikle eğri kümesinin maksimum derecesine getirilmelidir. Süreç, **derece yükseltme** olarak bilinir.

### Eğrilik

Diferansiyel geometride en önemli özellik eğriliktir {\displaystyle \kappa }. Yerel özellikleri (kenarlar, köşeler vb.) Ve birinci ve ikinci türev arasındaki ilişkileri ve dolayısıyla kesin eğri şeklini açıklar. Türevleri belirledikten sonra hesaplaması kolaydır {\displaystyle \kappa ={\frac {|r'(t)\times r''(t)|}{|r'(t)|^{3}}}} veya ikinci türevden yay uzunluğu olarak yaklaştırılır {\displaystyle \kappa =|r''(s\_{o})|}. Eğriliğin doğrudan hesaplanması {\displaystyle \kappa } bu denklemlerle parametreleştirilmiş eğrilerin poligonal gösterimlerine karşı büyük avantajı vardır.

Örnek: bir daire
----------------

 NURBS, daireleri tam olarak tanımlama yeteneğine sahiptir. Burada siyah üçgen, bir NURBS eğrisinin kontrol çokgenidir (w = 1'de gösterilmiştir). Mavi noktalı çizgi, bir B-spline eğrisinin karşılık gelen kontrol poligonunu, NURBS'yi kontrol noktaları ile karşılık gelen ağırlıklarla çarparak oluşturulan 3D homojen koordinatlarda gösterir. Mavi paraboller, üç parabolden oluşan, 3D'deki karşılık gelen B-spline eğrisidir. Nurbs kontrol noktaları ve ağırlıklar seçerek, parabol böylece yayların 1 *w* = düzlem sonuçları üzerine parabolas (proje *ağırlık* bolunmesı (3D orijinde ucu ile) gri bir koni karşı yüzeyine paraleldir kırmızı daire; bkz. konik bölüm ). 
Rasyonel olmayan eğriler veya Bézier eğrileri bir daireye yaklaşabilir, ancak onu tam olarak temsil edemezler. Rasyonel eğriler, daire dahil herhangi bir konik bölümü tam olarak temsil edebilir. Bu temsil benzersiz değildir, ancak aşağıda bir olasılık görülmektedir: 


| *x* | *y* | *z* | Weight |
| --- | --- | --- | --- |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 0 | {\displaystyle \scriptstyle {\frac {\sqrt {2}}{2}}} |
| 0 | 1 | 0 | 1 |
| -1 | 1 | 0 | {\displaystyle \scriptstyle {\frac {\sqrt {2}}{2}}} |
| -1 | 0 | 0 | 1 |
| -1 | -1 | 0 | {\displaystyle \scriptstyle {\frac {\sqrt {2}}{2}}} |
| 0 | -1 | 0 | 1 |
| 1 | -1 | 0 | {\displaystyle \scriptstyle {\frac {\sqrt {2}}{2}}} |
| 1 | 0 | 0 | 1 |

Sıra üçtür, çünkü bir daire ikinci dereceden bir eğridir ve spline'ın sırası, parçalı polinom segmentlerinin derecesinden bir fazladır. Düğüm vektörü {\displaystyle \{0,0,0,\pi /2,\pi /2,\pi ,\pi ,3\pi /2,3\pi /2,2\pi ,2\pi ,2\pi \}\,}. Daire, çift düğümlerle birbirine bağlanmış dört çeyrek daireden oluşur. Üçüncü dereceden bir NURBS eğrisindeki çift düğüm normal olarak birinci türevde süreklilik kaybına yol açsa da, kontrol noktaları birinci türevin sürekli olacağı şekilde konumlandırılır. Aslında, eğri her yerde sonsuz derecede türevlenebilir, çünkü tam olarak bir daireyi temsil ediyor olması gerekir.

Eğri tam olarak bir daireyi temsil eder, ancak dairenin yay uzunluğunda tam olarak parametreleştirilmez. Bu, örneğin şu anlama gelir: {\displaystyle t} yalan söylemez {\displaystyle (\sin(t),\cos(t))} (temsil simetrik olduğundan her çeyrek dairenin başlangıç, orta ve bitiş noktaları hariç). Çemberin *x* koordinatı için tam bir rasyonel polinom ifadesi sağlayacağından, bu imkansız olurdu. {\displaystyle \cos(t)} imkansızdır. Daire, parametresi olarak bir tam devir yapar {\displaystyle t} 0'dan {\displaystyle 2\pi }, ancak bunun tek nedeni düğüm vektörünün keyfi olarak değerin katları olarak seçilmesidir. {\displaystyle \pi /2} .

Ayrıca bakınız
--------------

* Spline
* Bézier yüzeyi
* de Boor algoritması
* Üçgen örgü
* Nokta bulutu
* Akılcı hareket
* İzogeometrik analiz

Kaynakça
--------

1. ↑  "NURB Curves: A Guide for the Uninitiated". *MACTECH*. 19 Ağustos 2000 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Eylül 2014.
2. ↑  Schoenberg (19 Ağustos 1964). "Spline Functions and the Problem of Graduation" (PDF). *Proceedings of the National Academy of Sciences of the United States of America*. National Academy of Sciences. **52** (4): 947-950. doi:10.1073/pnas.52.4.947. PMC 300377 $2. PMID 16591233. 30 Eylül 2007 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Şubat 2012.
3. ↑  Foley, van Dam, Feiner & Hughes: *Computer Graphics: Principles and Practice*, section 11.2, Addison-Wesley 1996 (2nd ed.
4. ↑  *Bio-Inspired Self-Organizing Robotic Systems*. s. 9. Erişim tarihi: 6 Ocak 2014.
5. ↑  "Rational B-splines". *www.cl.cam.ac.uk*. 3 Mayıs 2002 tarihinde kaynağından arşivlendi. Erişim tarihi: 20 Eylül 2020.
6. ↑  "NURBS: Definition". *www.cs.mtu.edu*. 21 Aralık 2002 tarihinde kaynağından arşivlendi. Erişim tarihi: 20 Eylül 2020.
7. ↑  David F. Rogers: An Introduction to NURBS with Historical Perspective, section 7.1
8. ↑  *The Nature of Mathematical Modeling*. Cambridge University Press. 1999. s. 141. ISBN 0-521-57095-6.
9. 1 2 3 4  *The NURBS Book*. 2. Berlin: Springer. 1997. ISBN 3-540-61545-8.
10. ↑  Piegl (1989). "Modifying the shape of rational B-splines. Part 1: curves". *Computer-Aided Design*. **21** (8): 509-518. doi:10.1016/0010-4485(89)90059-6.

* Uzman olmayanlar için NURBS hakkında net açıklama 15 Eylül 2020 tarihinde Wayback Machine sitesinde arşivlendi.
* Etkileşimli NURBS demosu 28 Ocak 2021 tarihinde Wayback Machine sitesinde arşivlendi.
* Düzgün Olmayan Rational B-Splines Hakkında - NURBS 19 Ekim 2016 tarihinde Wayback Machine sitesinde arşivlendi.
* TinySpline: Çeşitli diller için bağlamalar içeren Açık Kaynak C kitaplığı 17 Eylül 2020 tarihinde Wayback Machine sitesinde arşivlendi.
* Inspire kullanarak NURBS Eğrileri ve Yüzeyleri Oluşturun ve Kontrol Edin 28 Eylül 2020 tarihinde Wayback Machine sitesinde arşivlendi.